Skip to content

v0.9.0

Choose a tag to compare

@mabry1985 mabry1985 released this 26 Sep 02:33
· 4 commits to main since this release
eb78a55

v0.9.0 introduces split panes and direct terminal tooling for the agent, alongside fixes for layout stability and locale handling.

Split Panes

  • Any tab can be split side by side (⌘D / Ctrl+Shift+E) or stacked (⌘⇧D / Ctrl+Shift+O), with unlimited nesting.
  • Inactive panes dim, and you can move focus between them using ⌘] / ⌘[ (or ⌘⌥ arrows).
  • ⌘W closes the active pane (falling back to closing the tab if it’s the last pane), while the tab “×” button closes all panes within that tab.
  • New panes start in the live cwd of the source pane, and layouts persist across reloads so every pane reattaches to its shell.
  • Tabs display a pane-count badge and follow the active pane’s title.

Agent Terminal Tools

  • The agent can now list, read, run commands, and open tabs directly via new terminal_list, terminal_read, terminal_run, and terminal_open tools.
  • These tools are gated by the new agent_access setting, which accepts run, read, or off (default run).
  • terminal_run executes commands visibly in a dedicated "Agent" tab, refuses to run if a full-screen program holds the foreground, and never switches the operator’s view.
  • Tabs opened by the agent adopt into the view via bus events or the gated GET /api/plugins/terminal/sessions list if events are missed.

Layout & Stability

  • Renaming a tab no longer causes layout jitter or scrollbar flickering, as tabs now have a fixed height and explicit overflow handling.
  • The active tab automatically scrolls back into view when its title changes, preventing it from being pushed off the strip.
  • Reattached panes only nudge their size via SIGWINCH when a full-screen program is active, preventing stray prompt reprints on plain prompts.

Terminal Experience

  • The console now supports standard shortcuts: ⌘C/⌘V/⌘A for clipboard, ⌘F for find, ⌘K for clear, and ⌘1–9 for tab switching.
  • A right-click context menu is available for copy, paste, find, and tab management actions.
  • Login shells are enabled by default (argv0 "-zsh"), ensuring ~/.zprofile runs and PATH matches your usual terminal environment.
  • A UTF-8 locale is now set automatically if the server lacks one, preventing non-UTF-8 LC_ALL/LC_CTYPE from shadowing the locale fill.
  • Flow control stops reading the PTY when a viewer is more than 64 frames behind, improving performance for slow connections.
  • WebGL rendering is enabled with a canvas fallback, and all 16 ANSI colors are derived from theme tokens with a minimum 3:1 contrast ratio.
  • The minimum required protoagent version is 0.148.0.