domferr / tilingshell

Extend Gnome Shell with advanced tiling window management. Supports multiple monitors, Windows 11 Snap Assistant, Fancy Zones, customised tiling layouts and more.
https://extensions.gnome.org/extension/7065/tiling-shell/
GNU General Public License v2.0
645 stars 20 forks source link

[BUG (maybe)] Moving window back and forth along the bottom w/ keybinding not possible on some layouts #158

Closed thyttan closed 3 weeks ago

thyttan commented 3 weeks ago

Describe the bug On the standard layout with a big centered window and four small ones around it, using keybind to move window from bottom right -> center -> bottom right doesn't work. Instead it moves bottom right -> center -> top right.

This may or may not be unexpected behaviour - it's not clear cut. But it doesn't match my expectation at least.

To Reproduce Steps to reproduce the behavior:

  1. On an empty workspace, select the standard layout with one big centered window and four small windows surrounding it.
  2. Open a window.
  3. Use the snap assistant to snap the window to bottom right tile.
  4. Use keybinding Move window to left tile.
  5. The window moves to center tile.
  6. Use keybinding Move window to right tile.
  7. The window moves to top right tile. (Unexepected to me! I'd have wanted it to remember which of the tiles to the right it was at before and go there)
  8. Use keybinding Move window to left tile.
  9. The window moves to center tile.
  10. Use keybinding Move window to right tile. (Expected 👍)

The same happens if I try this with the bottom left tile instead as well.

The above repro is what I did in the screencast below.

Screencast

https://github.com/user-attachments/assets/4767828e-a073-44ba-a36e-8822bbdb0cde

Information (please complete the following):

Additional context

image

thyttan commented 3 weeks ago

But maybe this is expecting too much of tiling shell. The logic may become too involved?

domferr commented 3 weeks ago

Uh I see what you mean! Yeah, it never goes back where it was. Instead, it greedily picks the best tile according to where the window is and which direction the user desires. The problem here is that is not possible to leverage on context. For example: a user may want to go back to the previous tile OR to go to another tile. Despite the direction could be the same there isn't any way to guess what the user wants to do

domferr commented 3 weeks ago

I'll close for now!