feat(tui): add switchable terminal renderers (#7440)

Allow coding-agent UI modes to switch at runtime while preserving terminal, focus, input, and renderer state.
This commit is contained in:
Armin Ronacher 2026-08-02 09:21:17 +02:00 • committed by GitHub
parent aa0ec808b9
commit 1fdf21621d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 476 additions and 135 deletions

View file

@ -248,7 +248,7 @@ pi --no-extensions -e ./my-extension.ts
In `fullscreen` mode, the transcript scrolls inside the terminal viewport while queued messages, working status, extension widgets, editor, and footer remain fixed at the bottom. Mouse/trackpad input scrolls the region under the pointer; keyboard viewport actions always remain available. Inline images work in terminals that support the Kitty graphics protocol, including Kitty and Ghostty. In iTerm2 they render as text placeholders because its inline-image protocol cannot delete or crop placements during application-owned scrolling. In `regular` mode, pi uses the main screen and terminal-owned scrollback, and iTerm2 inline images continue to render normally.
To use fullscreen mode by default, set **UI mode** to `fullscreen` in `/settings`. The change applies after restarting pi.
Set **UI mode** in `/settings` to switch between `regular` and `fullscreen` immediately and choose the default for future sessions.
### File Arguments