Emacs-libgterm: Terminal emulator for Emacs using libghostty-vt

https://news.ycombinator.com/rss Hits: 6
Summary

Terminal emulator for Emacs built on libghostty-vt, the terminal emulation library from the Ghostty terminal emulator. This project follows the same architecture as emacs-libvterm but uses Ghostty's terminal engine, which offers: SIMD-optimized VT escape sequence parsing Better Unicode and grapheme cluster support Text reflow on resize Kitty graphics protocol support Active development and maintenance Status: Early prototype. Fully vibe coded. Only tested on macOS (Apple Silicon). Terminal works with ANSI colors, full key handling, scrollback, cursor sync, and drag-and-drop. Some character width mismatches with Powerline/NerdFont glyphs remain. Here be dragons. Emacs 25.1+ compiled with --with-modules (dynamic module support) Zig 0.15.2+ (install via asdf install zig 0.15.2 or ziglang.org) Git (to clone the Ghostty source) use-package + straight.el (recommended) (use-package gterm :straight (:host github :repo "rwc9u/emacs-libgterm" :files ("*")) :init (setq gterm-always-compile-module t)) Note: The :files ("*") is required so straight.el copies the Zig source files and build system, not just .el files. use-package + vc (Emacs 30+) (use-package gterm :vc (:url "https://github.com/rwc9u/emacs-libgterm" :branch "main") :init (setq gterm-always-compile-module t)) Note: use-package :vc copies all files by default, so no extra :files configuration is needed. (use-package gterm :quelpa (gterm :fetcher github :repo "rwc9u/emacs-libgterm" :files ("*")) :init (setq gterm-always-compile-module t)) use-package + local clone (use-package gterm :load-path "/path/to/emacs-libgterm" :init (setq gterm-always-compile-module t)) (add-to-list 'load-path "/path/to/emacs-libgterm") (require 'gterm) Then M-x gterm to open a terminal. What happens on first load gterm detects the missing compiled module Automatically clones Ghostty into vendor/ghostty (if not present) Applies a build patch for macOS compatibility (if needed) Compiles the Zig dynamic module via zig build Loads the module Th...

First seen: 2026-04-02 13:59

Last seen: 2026-04-02 19:02