glzr-io/glazewm

Split while windows already opened

Closed this issue · 2 comments

Would it be possible if you have 3 windows open to move one window under the other.
Now it moves all windows horizontal / vertical or you can chose where a new window will open.
But as far as I can tell you can't move a existing window below another. (like in i3)
This would be awesome.

This is not an issue, this is a case of the end-user being unfamiliar with the program.

When you have a window set to Horizontal (default) or Vertical, that does essentially two things:

  • Sets the window's new orientation which determines how any other windows opened with that window focused will tile, but most importantly,
  • Makes every child of that window follow the same orientation.

What does this mean? Open three windows, go to the first window on the left and hit Alt+V to toggle the orientation for that window. Focus a different window, then use Alt+<Arrows> to move that window "into" the first window. You should now have two windows in a vertical alignment with a window in the right column.

This is how it essentially works for the entirety of GWM. If you have one window open and toggle the orientation, you've now temporarily set the orientation for that entire monitor. If you have three windows and toggle the first, second, or third window's orientation, that window now has its own descendant window stack that you can move other windows into just by physically moving windows into it.

Finally, if you want to just maximize space automatically by shifting the orientation back and forth, or if you want what Linux DWM calls a "Dwindle Layout", then you probably want to check out Burgr033's Python script here on Github that uses GWM's IPC to automatically toggle the orientation per window. I also rewrote the aforementioned script into a Rust clone, if you prefer a compiled version.

Thanks!
This was not clear, I always tried changing orientation on the first window and then move it under the one next to it.
(This is how I was used to it from Linux window managers)