mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +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.
30 lines
1.2 KiB
PowerShell
30 lines
1.2 KiB
PowerShell
# Usage: bundle-windows.ps1 <target-triple> <arch-label>
|
|
# Package the release binary into a zip:
|
|
# dist/tty7-<version>-windows-<arch>.zip
|
|
#
|
|
# Fonts are embedded via include_bytes! and the app icon is compiled into the
|
|
# executable as a resource (see build.rs). So the archive is tty7.exe plus a
|
|
# sibling completions\ dir (loaded at runtime — see terminal::signature) and the
|
|
# license/readme. This is an unsigned build — SmartScreen will
|
|
# warn on first launch.
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
$Target = $args[0]
|
|
$Arch = $args[1]
|
|
$Version = (Select-String -Path Cargo.toml -Pattern '^version\s*=\s*"([^"]+)"').Matches[0].Groups[1].Value
|
|
$Name = "tty7-$Version-windows-$Arch"
|
|
$Stage = "dist/$Name"
|
|
|
|
Remove-Item -Recurse -Force dist -ErrorAction SilentlyContinue
|
|
New-Item -ItemType Directory -Force -Path $Stage | Out-Null
|
|
|
|
Copy-Item "target/$Target/release/tty7.exe" "$Stage/tty7.exe"
|
|
New-Item -ItemType Directory -Force -Path "$Stage/completions" | Out-Null
|
|
Copy-Item "assets/completions/*.json" "$Stage/completions/"
|
|
Copy-Item LICENSE "$Stage/LICENSE.txt"
|
|
Copy-Item README.md "$Stage/README.md"
|
|
|
|
Compress-Archive -Path "$Stage/*" -DestinationPath "dist/$Name.zip" -Force
|
|
Remove-Item -Recurse -Force $Stage
|
|
Write-Host "OK dist/$Name.zip"
|