Add pane swapping through the shared tmux pane picker - #498
Merged
Merged
Conversation
Build on the zoom picker from PR kitknox#497. Reuse its input handling and lifecycle, exclude the focused pane from swap targets, and preserve source focus and zoom with window-qualified native swap commands. Default to Command-Option-S because Command-Option-M minimizes all application windows on macOS. Add model and real control-mode tests.
Preserve the iPad focus and key-release handling from kitknox#497, along with herdr zoom support. Keep swapping tmux-only and extend shared picker regressions to cover both actions.
Contributor
Author
|
Updated to reuse your corrected picker from #497, preserving the iPad fixes and herdr zoom support while keeping swapping tmux-only. Extended the regression tests to both picker modes. All 63 Linux-compatible tests pass; Apple UI validation remains pending. |
Owner
|
Is this ready for review? Its marked as draft still. |
Contributor
Author
|
Yes, it’s ready for review! I kept it as draft because I couldn’t run the Apple UI checks from my Linux environment. The 63 Linux-compatible tests pass. I can mark it ready, with Apple UI validation still pending. |
joanfabregat
marked this pull request as ready for review
September 22, 2026 21:53
Keep the swap picker shortcut alongside the new File Manager action in both keyboard command lists.
Contributor
Author
|
I’ve resolved the conflicts with current main, and GitHub now shows the PR as mergeable. Ready for review. |
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.
Scope
Depends on #497. This is a separate, stacked follow-up; #497 remains unchanged. The first commit is the zoom picker, and the final commit (fc39984) is the swap-only change. Keeping this draft until the shared picker lands and the Apple UI checks are completed.
Add Choose Pane to Swap for multi-pane tmux control-mode tabs, using the same picker, input/cancellation handling, layout preview, and lifecycle as zoom. The shared types are renamed to
TmuxPaneSelectionandTmuxPanePickerView, rather than introducing another implementation.swap-pane -d -Zcommand. A source or target moved to another window must not be followed there.Validation
git diff --checkpassed. Only the local test process harness is adapted for Linux, not production code.Apple UI checks