l0ng-ai 296f71e18d feat: notify-only startup update check
Ask the GitHub releases API once, in the background, on GUI startup
whether a newer version has shipped and — if so — surface a "Download"
prompt in Settings → About that links to the Releases page. tty7 never
downloads or self-updates; the user installs by hand, exactly as the
README's Install section describes.

- core::update: UpdateStatus global, version parse/compare, and the
  GitHub fetch via reqwest_client. That reqwest+rustls stack is already
  compiled into the tree through gpui-component-assets, so this pins no
  new native code — it only exposes what we already build.
- config: check_for_updates toggle (default true) to skip the network
  call entirely for offline / privacy.
- Settings -> About: an "Updates" section with the version prompt, a
  Download button (default style, matching the sibling actions), and the
  toggle.
- Fails soft: no network, a rate-limit, a private/renamed repo, or an
  unparseable tag all collapse to "no prompt", logged at debug and never
  surfaced. The terminal opens the same whether or not GitHub is reachable.
2026-07-07 15:01:16 +08:00

tty7

tty7

A fast, GPU-rendered terminal in pure Rust.

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


CI Version License

Install · Benchmarks · Shortcuts · Contributing

English · 简体中文


tty7

tty7 is a GPU-rendered terminal. An 11 MB cat finishes in 95 ms — about 2× faster than Alacritty, Ghostty, or Kitty on the same hardware — and the built-in prompt gives you inline completion, syntax highlighting, and per-flag hints for common commands. Pure Rust, native on macOS, Windows, and Linux, no configuration needed.

  • Fast — 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).
  • ⌨️ Prompt with completions — inline completion, syntax highlighting, history, and in-terminal search. 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
⌘ ⏎ · ⌘ ⇧ ⏎ toggle fullscreen · maximize / restore the pane
⌘ K clear the screen and scrollback
⌘ 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 fast, GPU-rendered terminal in pure Rust.

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%