Commit Graph

2 Commits

Author SHA1 Message Date
Shawn Pana cd26d2d87b Option+Escape leaves fullscreen; re-tile the origin window on join
Teach toggle-fullscreen a second mode, 'exit', that only performs the
un-fullscreen branch and never breaks a pane out. Bind Option+Escape
(M-Escape) to that mode so the key is a pure "leave fullscreen if
you're in one" — no-op on a pane that isn't currently fullscreened, no
risk of surprising the user into fullscreen. Both keys also now call
smart-layout on the pane's newly-joined window after join-pane, so
returning a pane to a two-pane layout reshapes into whichever tiling
best fits the window shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:01:58 -07:00
Shawn Pana 35642eadff Add Option+F to toggle a pane between its own window and the original layout
Break-pane puts the focused pane into a new window by itself; pressing
Option+F again rejoins it to the layout it came from. Origin window id
is stashed on the pane as the @orig-window user option, so it persists
through break-pane/join-pane without any session-level bookkeeping. If
the origin window no longer exists, the stash is cleared and the pane
stays put. Solo-pane windows are a no-op so no dangling state ever
gets written.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 12:42:39 -07:00