Grab Alt+arrows and rotate tabs when reorder wraps past an end
A focused terminal acted on Alt+Shift+Up/Down (selection/typing) because the reorder chord was forwarded like plain Alt+Up/Down cycling was. Both are now grabbed: tabbed consumes them so the focused client never sees them. Reordering off an end previously swapped the moved tab with the far-end tab, leaving the middle of the list in place ([A,B,C,D] moving D off the end gave [D,B,C,A]). reorder_active_tab now shifts every slot between the two positions, so the whole list rotates: [D,A,B,C]. Adjacent moves are unchanged (rotation is a swap there). The reorder test now runs three tabs to distinguish swap from rotation ([R,G,B] moving B off the end must land [B,R,G]) and keeps the Ctrl+Shift+T anchor-slot check. The clipboard tests got more patience (retry on stalled wl-paste; longer socket-start wait) since a stalled host GNOME display was flaking them. Full suite 5/5 green.
This commit is contained in:
parent
6677012a9a
commit
f6c1a6b92e
3 changed files with 76 additions and 46 deletions
14
README.md
14
README.md
|
|
@ -124,10 +124,16 @@ tabs while any other key stops it.
|
|||
|
||||
`Alt+Shift+Up/Down` reorder the overlay list instead of switching: the
|
||||
active tab stays active, it just moves one position earlier or later in the
|
||||
order. Moving off either end wraps around to the other end, and holding the
|
||||
chord keeps moving it (same synthesized repeat as cycling). A `Ctrl+Shift+T`
|
||||
inside the moved tab opens exactly where the reordered list says it should —
|
||||
immediately right of the tab's new position.
|
||||
order. Moving off either end wraps around and the whole list shifts — a
|
||||
rightmost tab moved past the end lands first, with every other tab pushed
|
||||
one position, not merely swapped with the first. Holding the chord keeps
|
||||
moving it (same synthesized repeat as cycling). A `Ctrl+Shift+T` inside the
|
||||
moved tab opens exactly where the reordered list says it should — immediately
|
||||
right of the tab's new position.
|
||||
|
||||
Both `Alt+Up/Down` and `Alt+Shift+Up/Down` are grabbed: tabbed consumes them
|
||||
so the focused client never receives the chord (e.g. a terminal can't act on
|
||||
`Shift`+arrow while you reorder).
|
||||
|
||||
`Alt+Delete` closes the active tab. The tab disappears immediately (the tab
|
||||
to its right becomes active, or the left neighbor if it was the rightmost);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue