Amethyst
Amethyst copied to clipboard
[feature request] swap windows between monitors
Sometimes I want to swap the active windows of two monitors. This requires I throw the active window of one monitor to the other, rotate to the window that had been active on that monitor, and then throw that window back to the first monitor. Is there (or can there be) a way to automate this?
Doesn't have to be active window on each space it could just be swapping the currently active spaces between monitors (i.e. all the windows in those spaces). Might be easier to reason about and to implement.
Are you asking just about moving the current window to the other monitor? Amethyst can do this with these hot keys.
Or are you talking about moving the entire space?
I'm more asking about doing several things Amethyst can already do but at once in a single keystroke. I effectively want to do a space swap between the active spaces on each monitor. Right now I need to move windows between spaces one at a time.
The problem I see with it is that it doesn't scale to more than 2 monitors. If you have 3, which 2 are swapping?
Rotate clockwise / counter-clockwise? On 2 monitors that simplifies to swap. Or maybe have 2 settings that swap currently active space with the one on the monitor to the left and the one on the monitor to the right, and NOP if it's already at the end.
Possibly this could be generalized to swapping any windows. I remember Slate had a cool thing where it would overlay all of your windows with a letter and then entering that letter focused that window. I'm worried that's approaching feature creep, though.
I miss a somewhat similar behavior in Amethyst, however, I think it might be MacOS limitation. In XMonad under Linux I can do the swapping by following:
- Have focus on one monitor;
- Choose a workspace that is currently active on the other monitor.
After this XMonad will move the chosen workspace to the focused monitor, and the one that was there prior will be moved to the other monitor.
However in MacOS workspaces don't quite work that way. You can either have completely separate workspaces per monitor or have workspaces span all monitors. The latter is different from how XMonad deals with it: now each workspace spans all monitors, so switching workspace changes the content on all monitors.
This could be the only major feature missing compared to native XMonad experience. If it is indeed MacOS limitation, having a (even hacky) replacement in Amethyst would be great to have, I think.
For instance, an additional shortcut to swap windows between specific monitors. So if <meta>+E
focuses the other monitor, then <meta>+Shift+Ctrl+E
could swap windows between current and the other monitor.
Is there a way to swap screens? Conserving the layouts on each.
like this:
mod1+w for example
__________ __________
| | | |
| 1 2 3 |<--->| |
| | | 4 5 |
|__________| |__________|
mod1+w
__________ __________
| | | |
| |<--->| 1 2 3 |
| 4 5 | | |
|__________| |__________|
That would be awesome, I miss that (coming from Qtile and Hyprland). Any progress on this feature?