mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-21 16:02:20 +00:00
tty7 is split into two Rust processes: a persistent daemon that owns the shells and a GPU-rendered client that talks to it over a local socket. Because the shells live in the daemon, quitting and reopening the app leaves the session intact — detach and reattach, no tmux required. - Persistent sessions — the daemon holds the PTYs and child processes, so closing a window or swapping in a new build never takes a shell down. - Performance — an 11 MB `cat` completes in 95 ms and DOOM-fire renders at 888 fps; the daemon drains the PTY at device speed off the render path. - Shell-aware — new tabs and splits open in the current working directory; zsh, bash, fish, and PowerShell are set up automatically. - Enhanced prompt — inline completion, syntax highlighting, history, and in-terminal search, with rich flag/subcommand signatures for common tools. - Tabs, resizable splits, a command palette, click-to-open links, desktop notifications, eight themes, and CJK/IME input. Native builds for macOS, Windows, and Linux. Built on Zed's gpui and Alacritty's VT core.
28 lines
806 B
Bash
Executable File
28 lines
806 B
Bash
Executable File
#!/bin/zsh
|
|
# Plaintext-IO benchmark. Runs INSIDE the terminal under test as its shell
|
|
# (run_one.sh arranges that); $1 names the terminal for the result file.
|
|
#
|
|
# Methodology (moktavizen/terminal-benchmark): `time cat` an 11 MB text file,
|
|
# 5 runs. Timed with zsh's EPOCHREALTIME instead of `time` so the driver can
|
|
# collect results from a file instead of reading the screen.
|
|
zmodload zsh/datetime
|
|
SELF=${0:A}
|
|
HERE=${SELF:h}
|
|
REPO=${HERE:h:h}
|
|
WORK=${TTY7_BENCH_DIR:-$REPO/.bench}
|
|
T=${1:-unknown}
|
|
R=$WORK/results
|
|
mkdir -p $R
|
|
out=$R/io-$T.txt
|
|
: > $out
|
|
print -- "grid: $(stty size 2>/dev/null)" >> $out
|
|
sleep 1
|
|
for i in 1 2 3 4 5; do
|
|
t0=$EPOCHREALTIME
|
|
command cat $WORK/shakespeare.txt
|
|
t1=$EPOCHREALTIME
|
|
printf 'run %d: %.0f ms\n' $i $(( (t1 - t0) * 1000 )) >> $out
|
|
done
|
|
print -- done >> $out
|
|
sleep 5
|