ghostty-org/ghostling
FreeA minimum viable terminal emulator built on top of the libghostty C API. Ex minimo, infinita nascuntur. 👻🐣
About ghostty-org/ghostling
Ghostling is a demo project that showcases a minimum functional terminal emulator built on the libghostty C API in a single C file. It uses Raylib for windowing and rendering and is single-threaded, highlighting the flexibility of libghostty for embedding in various contexts. Despite being minimal, Ghostling supports a wide range of terminal features including text reflow on resize, full 24-bit color, Unicode and multi-codepoint grapheme handling, Kitty keyboard and graphics protocols, mouse tracking, and scrollbar drag-to-scroll. It inherits robust terminal emulation from Ghostty, proven by millions of daily users. Note: Ghostling is not intended as a daily-use terminal; it is a proof-of-concept and may not be fully audited for correctness.
Key Features
Pros & Cons
- Minimal and straightforward codebase, easy to understand and modify
- Leverages proven libghostty library with millions of daily users
- Supports a comprehensive set of terminal features despite being a demo
- Single-file design simplifies integration and experimentation
- Not intended for daily use as a full-featured terminal
- Warning: not extensively audited for correctness (C code)
- Uses Raylib for rendering instead of direct GPU renderer
- Clipboard support (OSC) not yet exposed by libghostty-vt
- Windows support untested in Ghostling (libghostty-vt supports Windows)
- Missing GUI features like tabs, splits, session management, configuration