// the find
ghostty-org/ghostling
A minimum viable terminal emulator built on top of the libghostty C API. Ex minimo, infinita nascuntur. 👻🐣
A single-file C demo terminal emulator that wraps libghostty-vt (the core from the Ghostty terminal) and renders via Raylib. It's aimed at developers who want to embed proper terminal emulation into their own apps and need a concrete, minimal working example of the C API. Not intended as a daily driver.
- Everything is in one ~1k-line C file, which makes it genuinely useful as a reference implementation rather than a maze of abstractions to untangle
- libghostty-vt itself brings serious terminal emulation pedigree: SIMD parsing, correct Unicode/grapheme handling, Kitty keyboard and graphics protocol, mouse tracking — things that take years to get right
- Honest about what it is and isn't — the README explicitly lists what will never be supported and known upstream bugs (Raylib/GLFW Kitty keyboard protocol breakage), which is rare and appreciated
- Nix flake included alongside the CMake build, and CI is already set up, so the build story is reasonably solid for a demo project
- Requires Zig on PATH to build even though the entire user-facing code is C — libghostty-vt is a Zig library under the hood, so you're pulling in a full Zig toolchain as a hidden build dep, which will surprise people
- Single-threaded design with a 2D software path means performance characteristics shown here don't reflect what you'd see in a real GPU-rendered embedding; benchmarking or profiling from this demo would mislead you
- No font shaping or glyph layout at all — the README acknowledges this but it means anything beyond ASCII/basic Latin looks wrong, which is a significant gap if you're evaluating for real use
- Windows is listed as theoretically supported by the library but completely untested in this demo, so anyone targeting Windows is on their own from day one