Leleat / Tiling-Assistant

An extension which adds a Windows-like snap assist to GNOME. It also expands GNOME's 2 column tiling layout.
GNU General Public License v2.0
1.12k stars 64 forks source link

[Feature Request] Snapped Window should take the orientation of the window that was already there #332

Closed blueray453 closed 5 months ago

blueray453 commented 6 months ago

Briefly describe how the feature should work

Screencast from 2024-04-04 16-49-21.webm

In the Screencast,

  1. have tiled two windows
  2. then resized the complementing windows.
  3. Then opened another window and snapped it to the left.

Here is the issue. I want to snap the new window so that it take the size of the previous window which was already tiled to the left. I mean if Alacritty window is snapped to the left, will take the orientation (width, height, x, y) of System Monitor, and be grouped with Logs app (by group i mean Alacritty and Logs app will be complementing, resizing one will resize the other). if Alacritty window is snapped to the right, will take the orientation of Logs app, and be grouped with System Monitor (by group i mean Alacritty and System Monitor will be complementing, resizing one will resize the other).

This is sort of Favorite Layout, but created on the fly.

Explain why this feature should be added

I think this approach is more intuitive. Every time i snap a window in any side, I expect it to replace the window that is already there. In current setup, after snapping new window, I have to resize all the windows relevant to me.

Please add it at least as an option so that those of us who want can use.

blueray453 commented 5 months ago

Here is another screenshot without the Tiling Popup.

Screencast from 2024-04-07 15-32-54.webm

This is just to make the point that when i dragged the Alacritty window to the left corner of the screen, if it took the orientation and of System Monitor, and be grouped with Logs app, then i would not have to again drag the Logs app window to the right to group the Alacritty and Logs app and then resize the windows by dragging the middle border. So, i am looking for one step instead of three.

So, i think the logic is, if there is already a tiled window in the other side of where i want to tile a new window, get work area of the already tiled window, and make the new window occupy the rest of the work area and also group it with the already tiled window.

Leleat commented 5 months ago

It's intentional that a new tile group gets created, if there is no space available.

What you want can be achieved with Adaptive Tiling. Hold Ctrl while you drag Alacritty towards the center of the window you want to 'replace'. Note the 'replaced' window is still part of the old tile group. It's sort of like a tabbed group in tiling WMs... except there is no UI to showcase that.

blueray453 commented 5 months ago

Thank you very much. So, i just have to hold ctrl and drop the new window in the middle of the window i want to replace.

Leleat commented 5 months ago

So, i just have to hold ctrl and drop the new window in the middle of the window i want to replace.

If you didn't change the modifier for it, yes. You will get the preview of the new tile, when moving the window around while holding ctrl.