l0ng-ai 3cc95f5915 Close the pane when its shell exits
Typing `exit` (or Ctrl-D) left a dead "process exited" pane behind: the
view marked itself exited, but nothing ever closed the pane or tab.

The reader thread now records whether the pane ended with a *genuine*
child exit (`DaemonMsg::Exited`) as opposed to a daemon disconnect, and
the view surfaces that as a `ChildExited` gpui event. The app subscribes
at the single place all panes are built and closes the emitting leaf:
collapsing its split, or closing the tab when it was the only pane (the
last tab falls back to the home page). The daemon pane is killed so the
session drops it; panes that died while detached clean themselves up on
the next attach, when the daemon replays their exit.

A disconnect deliberately keeps the dead pane visible -- auto-closing
would silently discard (and kill) sessions that may still be alive
daemon-side.
2026-07-07 10:39:45 +08:00
2026-07-07 10:39:45 +08:00

tty7

tty7

A blazing-fast terminal in pure Rust — GPU-rendered, and built around the prompt.

GPU rendering on Zed's gpui · VT core from Alacritty


CI Version License

Install · Benchmarks · Shortcuts · Contributing

English · 简体中文


tty7

tty7 is a terminal that puts speed and the prompt first. Every frame renders on the GPU, output drains faster than any terminal we've measured — an 11 MB cat in 95 ms — and the prompt itself does real work: inline completion, syntax highlighting, and flag-by-flag hints for the commands you type all day. Pure Rust, native on macOS, Windows, and Linux, zero configuration to get there.

  • Fastest in its class — an 11 MB cat completes in 95 ms, versus 179239 ms for Alacritty/Ghostty/Kitty; DOOM-fire renders at 888 fps against their 485617. Same machine, same grid; the harness is in the repo (benchmarks).
  • ⌨️ A prompt that helps you type — inline completion, syntax highlighting, history, and in-terminal search, right where you're working. Type git commit --, kubectl, or npm and every flag and subcommand shows up with its description — rich signatures for ~100 common commands, generated from Fig's spec corpus.
  • 🧠 Shell-aware, zero config — new tabs and splits open in the current working directory, and path completion always follows where you are. zsh, bash, fish, and PowerShell are wired up automatically.
  • 🔌 Sessions that survive — shells run in a background daemon, so closing a window, quitting the app, or swapping in a new build never takes a shell down. Detach and reattach, no tmux.

Also included: tabs (drag to reorder, inline rename, number keys to switch) and resizable splits, a command palette, click-to-open links, desktop notifications, and focus-follows-mouse. Eight built-in themes from light to dark, with the native window chrome following the one you pick, plus CJK/IME input.

Native builds for macOS, Windows, and Linux — every release ships all three.



📊 Benchmarks

All four terminals measured back-to-back on the same machine, same day, same 155×40 grid — Apple M1 Pro, macOS 26.3.1, five-run averages (2026-07-04):

tty7 Alacritty Ghostty Kitty
Plaintext IO — 11 MB cat (lower = better) 95 ms 239 ms 179 ms 185 ms
DOOM-fire frame rate (higher = better) 888 fps 485 fps 552 fps 617 fps
Cold-launch memory 116 MB¹ 105 MB 128 MB 130 MB

¹ GUI 105 MB + the persistent daemon 11 MB.

tty7 reads the PTY at device speed and parses it in large batches off the render path, and the hot paths are lock-free — so a big cat never waits on drawing. (That's also what the background daemon buys you: it can run up to 16 MiB ahead of the window before backpressure applies.)

Methodology (how each terminal is driven, grid fairness, known pitfalls) and one-command reproduction live in scripts/bench/ — run it yourself.

🚀 Install

Grab the build for your platform from Releases:

  • macOStty7-<version>-macos-arm64.dmg (Apple Silicon) or …-x86_64.dmg (Intel); open it and drag tty7.app into Applications.
  • Windows…-windows-x86_64.zip; unzip and run tty7.exe.
  • Linux…-linux-x86_64.tar.gz; extract and run ./tty7 (needs the usual x11/wayland runtime libraries).

⌨️ Shortcuts

Keys are shown in macOS notation — on Windows and Linux, read as Ctrl. Open Settings with ⌘ , to browse or remap them all. The essentials:

⌘ T · ⌘ W · ⌘ ⇧ T new tab · close tab · reopen closed tab
⌘ D · ⌘ ⇧ D split right · split down
⌘ ] · ⌘ [ next pane · previous pane
⌘ ⏎ maximize / restore the pane
⌘ P command palette
⌘ F search the scrollback
⌃ R reverse-search shell history
⌘ + · · ⌘ 0 font size up · down · reset

The full list — and any overrides — lives in Settings → Keybindings.

💭 Built with & inspired by

🤝 Contributing

Bug reports and PRs are welcome. Security issues go through SECURITY.md; notable changes land in the CHANGELOG.

📝 License

Apache License 2.0 · © 2026 l0ng-ai


tty7 — a blazing-fast terminal in pure Rust, GPU-rendered and built around the prompt.

S
Description
A terminal workbench in pure Rust: shells, persistent sessions, SSH, coding agents. GPU-rendered on Zed's gpui, VT core from Alacritty.
Readme Apache-2.0
34 MiB
Languages
Rust 99.1%
Shell 0.5%
PowerShell 0.2%
Inno Setup 0.1%