feat(tui): add zoom to the session view actions menu - #1315
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 azoomrow between the splits andclose split, labelled with the active profile's chord like every other row.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 readszoom, 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
session_menu_zoom_row_zooms_the_view_pane: opens the menu by clicking☰with focus on the list, clicks the row, assertsZoomMode::View+ focus follows + menu closes.cargo test --workspacegreen (daemon_drop_reaps_shell_adapter_treeflaked once under concurrent build load, passes on rerun).Relevant binary:
construct(this PR only touchescrates/cli) —.claude/worktrees/tui-session-menu-zoom/target/debug/construct