feat(wm): promote containers by swapping indices

This commit adds a new SocketMessage variant PromoteSwap and
corresponding komorebic promote-swap command.

PromoteSwap will also promote the focused window container to the
largest tile in the layout, but instead of removing the focused
container x from the Ring and inserting it into position 0, possibly
changing the positions of other windows between 0 and x, the indices x
and 0 in the Ring will be swapped directly.
This commit is contained in:
LGUG2Z
2025-11-04 08:02:05 -08:00
parent d0ae92ca3a
commit 416dd94670
7 changed files with 47 additions and 2 deletions

12
docs/cli/promote-swap.md Normal file
View File

@@ -0,0 +1,12 @@
# promote-swap
```
Promote the focused window to the largest tile by swapping container indices with the largest tile
Usage: komorebic.exe promote-swap
Options:
-h, --help
Print help
```

View File

@@ -1,7 +1,7 @@
# promote
```
Promote the focused window to the top of the tree
Promote the focused window to the largest tile via container removal and re-insertion
Usage: komorebic.exe promote