Commit Graph

8 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 5dd81430a9 Option+O picks the layout that best matches the window shape; cycling moves to Option+P
Option+O used to cycle tmux's built-in layouts. It now runs a smart-layout
script that scores even-horizontal, even-vertical, and tiled by how close
each one puts the per-pane aspect to a 2:1 cell target (roughly square in
pixels) and applies the winner. A wide window with four panes becomes a
single horizontal row instead of a squished 2x2; a tall narrow window
becomes a vertical stack. The old layout-cycling behavior is preserved on
Option+P for anyone who wants to hand-pick.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 13:01:07 -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
ShawnPana 02cd584159 Add smux skill hint to message command header 2026-03-27 20:03:13 -07:00
ShawnPana 59af6353f6 Add message command and gitignore personal config files 2026-03-27 19:57:33 -07:00
ShawnPana a9ac82f28c smux: one-command tmux setup with installer
- Add install.sh (curl | bash installer + smux CLI)
- Cross-platform clipboard in tmux.conf (pbcopy/xclip/xsel)
- Remove personal Claude Code settings and pane alert
- Rewrite README for smux branding

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 17:37:37 -07:00
ShawnPana be601583cb updates 2026-03-15 12:55:51 -07:00
ShawnPana 4b61095538 Move script to scripts/ dir and rename skill.md to SKILL.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:39:39 -08:00