zt 0.10.1 — Multiple Mac terminals and Dock menu
This patch release fixes reopening zt on macOS and adds convenient ways to launch independent terminal windows. The features are enabled in standard macOS builds; no extra build flags are required.
What's changed
- Opening
zt.appagain from Finder, the Dock, oropen zt.appnow starts a new terminal instead of only activating an existing one. - Cmd+N and File → New Window open a fresh terminal.
- Right-click the running app's Dock icon → New Window to launch another terminal, even while another app is focused.
- Each window has its own process, PTY, and shell. Closing one window leaves the other sessions running; Cmd+Q quits the current instance.
- New windows start a fresh shell without replaying a command passed to the original instance with
-e.open -n zt.appremains supported. - Fix an Intel app startup crash caused by code signing overwriting executable instructions. macOS builds now reserve Mach-O header space for the signature, and regression tests verify code integrity before and after signing.
- Standard macOS builds target a baseline CPU rather than depending on the build machine's CPU extensions.
- Cocoa integration tests cover the Dock menu, Cmd+N, and reopen callbacks. LaunchServices regression tests check independent shells, repeated reopen, and closing, using an isolated test bundle. Process detection now queries the kernel's executable path instead of relying on
pscommand-line formatting. - Build metadata, app bundle versions, and terminal title version prefixes are updated to 0.10.1.
Download and upgrade
For macOS 14 or later, download zt-aarch64-macos.zip for Apple Silicon or zt-x86_64-macos.zip for Intel, extract it, and replace your existing zt.app. Standalone .bin executables are also included.
Save your work and close instances of the old version before restarting zt. The Dock can continue sending menu and reopen requests to an old process while it is still running.
Standard builds use /bin/zsh as the Mac login shell and a 120 FPS limit. Custom shell and FPS settings remain build-time options.
Linux framebuffer, X11, and Wayland support is unchanged. This release also includes x86_64 and aarch64 Linux executables for X11 and Wayland.
Build from source
Requires Zig 0.16.0. Zig 0.17 is not supported.
brew install zig@0.16
export PATH="$(brew --prefix zig@0.16)/bin:$PATH"
zig build -Doptimize=ReleaseFast
sh tools/package-macos.sh
open zig-out/zt.appMac bundles are ad hoc signed and not notarized by Apple. Physical IME candidate interaction and multiple-display behavior remain manual QA items; see the macOS QA checklist.