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.
23 lines
955 B
Rust
23 lines
955 B
Rust
//! Build script — Windows-only: embed the app icon into the `.exe`.
|
||
//!
|
||
//! On Windows the taskbar / window / Explorer icon comes from an icon *resource*
|
||
//! compiled into the executable; there's no equivalent of macOS's `.app` bundle
|
||
//! (which gets its icon from `tty7.icns` via `.github/scripts/bundle.sh`). So we
|
||
//! compile `assets/favicon.ico` (a multi-res 16–256px ICO) into the binary here.
|
||
//!
|
||
//! On every other platform this is a no-op.
|
||
|
||
fn main() {
|
||
#[cfg(windows)]
|
||
{
|
||
println!("cargo:rerun-if-changed=assets/favicon.ico");
|
||
let mut res = winresource::WindowsResource::new();
|
||
res.set_icon("assets/favicon.ico");
|
||
if let Err(e) = res.compile() {
|
||
// Don't fail the build just because the resource compiler is missing;
|
||
// the app still runs, it just falls back to the default Windows icon.
|
||
println!("cargo:warning=failed to embed Windows icon: {e}");
|
||
}
|
||
}
|
||
}
|