Why
A native shell around flue dissolves the browser-imposed limits structurally instead of patching them one escape hatch at a time: Option as Meta (#63), Ctrl+W and the other reserved chords (#64), and the kitty keyboard protocol (#65) all become the terminal library's problem, already solved there. On top: a global hotkey that opens the ⌘K fleet switcher from anywhere, and a menu bar item with the needs-you count.
Shape
This starts as a spike, not a build. libghostty's embedding story is still moving (libghostty-vt exists, the full embedding API has not stabilized), so the questions to answer cheaply first:
- Can libghostty today render a terminal fed by flue's stream (bytes from the daemon socket) rather than a local pty, cleanly?
- What does input handling look like when the emulator is remote, who owns the kitty protocol negotiation?
- Fallback comparison: SwiftTerm, or wrapping the existing web UI in a thin native shell that only adds the global hotkey and menu bar (cheap, solves less).
Output of the spike is a recommendation: build on libghostty now, wait for the API to settle, or take the thin-shell path in the meantime. Anything built during the spike is throwaway.
Notes
Always open source, like everything else here.
Why
A native shell around flue dissolves the browser-imposed limits structurally instead of patching them one escape hatch at a time: Option as Meta (#63), Ctrl+W and the other reserved chords (#64), and the kitty keyboard protocol (#65) all become the terminal library's problem, already solved there. On top: a global hotkey that opens the ⌘K fleet switcher from anywhere, and a menu bar item with the needs-you count.
Shape
This starts as a spike, not a build. libghostty's embedding story is still moving (libghostty-vt exists, the full embedding API has not stabilized), so the questions to answer cheaply first:
Output of the spike is a recommendation: build on libghostty now, wait for the API to settle, or take the thin-shell path in the meantime. Anything built during the spike is throwaway.
Notes
Always open source, like everything else here.