Skip to content

feat(tui): add zoom to the session view actions menu - #1315

Merged
edwin-zvs merged 1 commit into
mainfrom
tui-session-menu-zoom
Aug 28, 2026
Merged

feat(tui): add zoom to the session view actions menu#1315
edwin-zvs merged 1 commit into
mainfrom
tui-session-menu-zoom

Conversation

@edwin-zvs

Copy link
Copy Markdown
Contributor

The pane actions menu ( on a session view's title bar) covered split / close split but not zoom, so the fullscreen toggle was keyboard-only (C-x z / z). This adds a zoom row between the splits and close split, labelled with the active profile's chord like every other row.

 ● s1           ────────────────────────────── shell ─ ☰  ┐
│                        ┌ session ───────────────────────┐
│                        │rename                     C-x r│
│                        │fork                       C-x f│
│                        │playbook mode          C-x Space│
│                        │split horizontal           C-x 3│
│                        │split vertical             C-x 2│
│                        │zoom                       C-x z│
                         │close split                C-x 0│
                         │archive                    C-x k│
                         │merge and archive               │
                         │delete                     C-x k│
                         │copy id (s1)                    │
                         └────────────────────────────────┘

Why it isn't just run_action(ToggleZoom): the chord derives its target from the focused pane (List → zoom the list, View → zoom the view). A menu click can land while focus is still the session list, so the row pins the target to the view the menu hangs off, then toggles.

Getting back out stays keyboard/palette (C-x z, z, /zoom) — the zoomed layout is deliberately borderless, so there's no title bar to reopen the menu from. That's unchanged by this PR; mentioning it because the row reads zoom, not a toggle label.

Not included: the operator (minibuffer) pane's title menu, which shows the same split / close-split pane actions. Easy follow-up if you want the pair to match.

Testing

  • New unit test session_menu_zoom_row_zooms_the_view_pane: opens the menu by clicking with focus on the list, clicks the row, asserts ZoomMode::View + focus follows + menu closes.
  • cargo test --workspace green (daemon_drop_reaps_shell_adapter_tree flaked once under concurrent build load, passes on rerun).

Relevant binary: construct (this PR only touches crates/cli) — .claude/worktrees/tui-session-menu-zoom/target/debug/construct

The pane actions menu (☰ on a session view's title bar) covered split /
close split but not zoom, so the fullscreen toggle was keyboard-only
(`C-x z` / `z`). Add a `zoom` row between the splits and `close split`,
labelled with the profile's chord like every other row.

The chord picks its target from the focused pane; a menu click can land
while focus is still the session list, so the row pins the target to the
view it hangs off before toggling.
@edwin-zvs
edwin-zvs merged commit 11f3f86 into main Aug 28, 2026
1 check passed
@edwin-zvs
edwin-zvs deleted the tui-session-menu-zoom branch August 28, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant