# ghostel.el: Emacs terminal emulator via Ghostty's VT engine
This is a terminal emulator for Emacs written as two layers: a native Zig module (handling PTY, VT parsing, rendering) wrapping Ghostty's libghostty-vt engine, plus Elisp managing buffers, keymaps, and integration. The native module auto-downloads pre-built binaries on first run—no build toolchain required for most users.
**Core claim**: ghostel improves on emacs-libvterm by using Ghostty's modern VT engine instead of libvterm, gaining Kitty keyboard protocol, Kitty graphics (images), richer underlines, OSC 8 hyperlinks, color queries, and synchronized output. It supports local PTY with background-thread rendering, TRAMP remote shells, five input modes (semi-char/char/emacs/copy/line), shell integration (directory tracking, prompt nav), inline images, and password detection.
**Practical angle**: users get a full-featured terminal inside Emacs with lower latency (immediate redraw on keystroke), streaming terminal output handled off the main thread, and modern protocol support that standalone terminal emulators have had for years. Installation is M-x ghostel after adding to load-path. Configuration is granular but the defaults are sensible.
The architecture is sound—native module for performance-critical I/O and rendering, Elisp for user interaction and buffer management. The one open question: how does the performance actually compare to vterm in sustained heavy output (multi-GB logs, fast repainting TUIs)?
reply