mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
e723bc7fd1ac9b694b8ac91b8ec66f8b8d612ddf
Two holes in the Git Bash support. `shell_kind` matched any `bash.exe`, including `C:\Windows\System32\bash.exe` — the WSL launcher, which exists on any machine with WSL and normally precedes `Git\bin` on PATH. Injecting into it is destructive rather than merely useless: `--rcfile` *replaces* `~/.bashrc` instead of supplementing it, and the Windows path we pass does not exist inside the distro, so the user silently loses aliases, prompt, and PATH. Identify msys bash positively and fail closed — a bare `bash`/`bash.exe` is declined too, since its PATH lookup is exactly what we cannot predict. The cost of a false negative is only the absence of a feature that did not exist before. `pwd -W` is the identity for msys-only virtual mounts (`/proc`, `/dev`), which have no Windows path at all, and the `[[ "$d" != /* ]]` test could not tell a translated path from an untranslated one. Require a drive letter and report nothing otherwise: the `$PWD` fallback would have re-emitted the very msys path this branch exists to avoid, landing as drive-relative `C:\proc` and failing the next spawn. Staying silent leaves the daemon holding the last usable cwd. The prior OSC 7 test asserted only that the marker was emitted, so the payload shape went unchecked; it now round-trips through the daemon's own `parse_osc7`, including the case the guard suppresses. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tty7
A terminal workbench: shells, sessions, SSH, coding agents.
Pure Rust · GPU rendering on Zed's gpui · VT core from Alacritty
English · 简体中文
Why
- Fast — ~2× the throughput of Alacritty, Ghostty, or Kitty (benchmarks)
- Sessions persist — quit or reboot; your shells keep running, no tmux
- Editor-grade input — completion, syntax highlighting, history search built in; zero config for zsh, bash, fish, PowerShell
- Agent-aware — recognizes Claude Code & co. in a pane: status, notifications, session resume
Install
Native builds for each platform on Releases:
| macOS | …-macos-arm64.dmg · …-x86_64.dmg |
drag into Applications |
| Windows | …-setup.exe · portable ….zip |
|
| Linux | …-x86_64.AppImage |
chmod +x and run — x11/wayland libs bundled |
What's inside
| Input | ghost suggestions from history · explained tab completion · syntax highlighting · multi-line editing · click places the caret · ⌃ R fuzzy history |
| Window | tabs & splits · ⌘ P palette · ⌘ F scrollback search · eight themes · IME |
| Coding agents | per-pane agent detection (~17 CLIs): status dot, notifications, branch + diff, resume after reboot, tray icon that signals "needs your input" |
| SSH | native russh stack: profiles with keychain secrets, SFTP panel, port forwarding, jump hosts |
Details for every row: docs/features.md. Keybindings: ⌘ , opens Settings — browse and remap everything, tmux preset included (full list).
Benchmarks
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.
Methodology and one-command reproduction: scripts/bench/.
Built on gpui and alacritty_terminal · Apache-2.0 · Discord · Changelog
Description
A terminal workbench in pure Rust: shells, persistent sessions, SSH, coding agents. GPU-rendered on Zed's gpui, VT core from Alacritty.
ai-agentsalacrittyclaude-codecoding-agentcross-platformdaemondeveloper-toolsgpugpuilinuxmacosptyrustshellsshterminalterminal-emulatorterminal-multiplexertmuxwindows
Readme
Apache-2.0
34 MiB
Languages
Rust
99.1%
Shell
0.5%
PowerShell
0.2%
Inno Setup
0.1%