v0.2.0
Terminal
input_key/2— encode keyboard events to escape sequencesinput_mouse/2— encode mouse events (when tracking enabled)encode_focus/1— encode focus gained/lostcells/1— render state as grid of{grapheme, fg, bg, flags}tuplesGhostty.Terminal.Cell— flag helpers (bold?/1,italic?/1, etc.)- Effect messages:
{:pty_write, data},:bell,:title_changed - Option validation —
ArgumentErrorfor invalid cols/rows/scrollback
PTY
- Real pseudo-terminal via
forkpty()NIF - Programs like vim, top, htop work (child gets a real TTY)
- Non-blocking reader thread sends
{:data, binary}messages write/2,resize/3,close/1
LiveView
Ghostty.LiveTerminal— Phoenix LiveView component
Build
mix ghostty.setup— one-command contributor onboarding- Precompiled terminal and PTY NIFs via
zigler_precompiled
Artifacts
Precompiled terminal and PTY NIFs for x86_64-linux-gnu, aarch64-linux-gnu, aarch64-macos-none.