feat: add logic for move-everything-to-display feature#315
feat: add logic for move-everything-to-display feature#315Lukas-Klein wants to merge 2 commits intoacsandmann:mainfrom
Conversation
|
implementation looks fine, i just am unsure about the naming. move-everything doesn't really sound right to me. need to think about it more.. |
|
maybe |
|
Wouldn't the ability to assign specific workspaces to a particular display void the need for this? |
|
That it would, but I'm not sure if that's how @acsandmann is imagining rift to develop. Because right now, each display has its own workspaces. Assigning specific workspaces to specific displays would completely eliminate that behaviour. I don't know if that's desired. I would kind of like that, as I really liked this feature in Aerospace, but that's up to @acsandmann I guess. |
|
just my 2c, if we have per display workspaces, a lot of existing commands would just naturally fit. As you don't need display specific commands. |
Closes #314
Motivation
Moving an entire workspace from one display to another currently requires
relocating each window individually, which is tedious with many windows
open. This PR adds a
move-everythingcommand that does it all in one go.Changes
src/model/reactor.rsMoveEverythingToDisplay { selector }variant toReactorCommandsrc/actor/reactor/events/command.rshandle_command_reactor_move_everything_to_displaywhichreuses the same guard logic as
MoveWindowToDisplay(no-op duringdrag, inactive source/target space, source equals target) and then
iterates over all windows in the active workspace, moving each one to
the target display and centring it within the destination screen frame
src/bin/rift-cli.rsMoveEverythingsubcommand underDisplayCommandsaccepting--direction,--index, and--uuid, matching the interface of theexisting
MoveWindowcommandUsage
Tests done
No automated test suite. Manually verified that all windows on the active
workspace are relocated to the target display and their frames are
correctly clamped within the destination screen bounds.