Productivity
Command Composer
Non-modal editor for reviewed multi-pane command delivery (⌘⇧P).
- Draft a command, review it, then send once.
- Focused terminal: direct delivery.
- Current Tab (explicit confirmation required): delivers to every running terminal Pane in the tab. Reports per-Pane success or failure — not an atomic fiction.
- Limits: empty or >64 KiB input rejected at the Rust boundary.
- Auto-Enter: optional per-delivery.
- Not Broadcast Input: one-shot only. Continuous synchronized typing is a separate future mode.
Quick Commands
Durable, named command snippets stored in the encrypted vault.
- Stable IDs: survive renames and reordering.
- Revision checks: update/delete verify expected revision.
- Tombstones: soft-delete with recovery window.
- Tags and favorites.
- Scope: global or per-Host.
- Safety: selecting a Quick Command fills the Composer draft. It never sends or executes implicitly. Transient drafts are never persisted or logged.
Settings
Versioned, durable preferences with defaults and bounds in Rust.
| Group | Key Preferences |
|---|---|
| Appearance | Background opacity (desktop only), theme |
| Terminal | Font family (MesloLGS NF / system monospace), font size |
| Safety | Close confirmations, system termination behavior |
- Font size commands atomically increase, decrease, or restore default — no revision races from rapid UI gestures.
- Updates commit to the authenticated SQLite vault before state publication.
- Desktop Settings opens as a native dialog window (
⌘,). Mobile edits terminal/safety groups without overwriting the hidden desktop opacity value.
Shortcuts
One ShortcutsViewModel publishes a conflict-checked keymap for all five platforms.
- Desktop: native Application/File/Shell/Edit/View/Window/Help menu built from semantic actions.
- Menu enablement follows live tab/pane state — a background window's disabled items don't leak into the foreground menu.
- Tauri accelerators and WebView keyboard fallback share one action dispatcher — no duplicate behavior.
- Dialog Windows route main-window menu actions to their owner; Close Window closes the dialog through its dirty/pending guard.
i18n
English, Simplified Chinese, Traditional Chinese, Japanese, Russian, Korean, French, and German catalogs are embedded in the libszt binary. UI packages contain translation keys, not product copy. I18nService persists the active locale and updates both I18nViewModel snapshots and per-view-model string states live; English is the explicit fallback for a newly introduced key until its reviewed translation lands.
Open Source Licenses
Help → Open Source Licenses opens a searchable native dialog window. The release catalog covers the Rust union (all supported targets), production npm closure, and bundled fonts. License text is content-addressed, shipped in the app, and never fetched at runtime.