emasab / shelltile

A tiling window extension for GNOME Shell
https://extensions.gnome.org/extension/657/shelltile/
GNU General Public License v2.0
645 stars 42 forks source link

Not working on Ubuntu 20.04 with Wayland #98

Closed Masterkraft0r closed 2 years ago

Masterkraft0r commented 4 years ago

Doesn't work on Ubuntu 20.04 because they bumped their GNOME version to 36.

idoric commented 4 years ago

Are you sure your problem was caused by upgrading to version 3.36? I'm on Fedora 32, and this extension works with Gnome 3.36. However, it works with the xorg version of Gnome, but not with the wayland version. The wayland version is the default session under Fedora 32, maybe this is also the case for Ubuntu 20.04?

GeckoEidechse commented 4 years ago

Ubuntu 20.04 here: ShellTile works just fine for me as long as I'm running Xorg.

@Masterkraft0r, could you run echo $XDG_SESSION_TYPE in a terminal and paste the result here? If it says Wayland then this is the same issue as #99.

axtimwalde commented 4 years ago

Works for me on 20.04 on Xorg.

pr0way commented 4 years ago

Yup, with Xorg works fine but with Wayland up to the next reboot.

emasab commented 4 years ago

The issue with Wayland is that when doing a meta_window.move_resize_frame and immediately after a meta_window.get_frame_rect, the dimensions do not match, as in Xorg. Instead, on Wayland, the position and size at the beginning on the event handling is returned. This is necessary because some applications enforce a minimum weight like nautilus or a height that has to to be a multiple of a fixed line height like in gnome-terminal.

Is this a bug or a feature of Wayland/Mutter? Is there a way to know when the position and size have changed? A callback maybe?

emasab commented 3 years ago

The doubts were cleared here https://gitlab.gnome.org/GNOME/mutter/-/issues/1533. Wayland has async event handling so the move_resize_frame isn't immediately reflected after checking the minimum size required by the application. This means ShellTile needs almost a rewrite to address this behavior and work on both the display servers. I'm working on it.

giles-carre commented 3 years ago

Hi Emanuele, For your information, Ubuntu 21.04, the new stable release since 22 Apr, run with Wayland by default, not X.Org. And the Gnome Shell version is 3.38.4. G.

emasab commented 3 years ago

A rewritten version, completely async, is available in the wayland-compatibility branch. It works flawlessly on X and it's almost stable on Wayland but there are still some cases where the sizes are not adjusted correctly. You can test it and tell me if you find on Wayland some minimal reproducible bugs.

giles-carre commented 3 years ago

Hi Manuele, I have downloaded the wayland-compatibility branch extension, build and install it. It work's well now for me (Ubuntu 21.04, Wayland). Thanks a lot, Giles

weskoerber commented 3 years ago

Hi Manuele, I have downloaded the wayland-compatibility branch extension, build and install it. It work's well now for me (Ubuntu 21.04, Wayland). Thanks a lot, Giles

Can you explain how you installed this? I am executing build.sh and running the command gnome-extensions install ShellTile@emasab.it.zip. It seems like it works fine, but when I do gnome-extensions list, ShellTile does not show up as an installed extension.

Edit: I found instructions on #67. However, this does not work for me due to #123.

giles-carre commented 3 years ago

On 07/06/2021 20:46, Wesley Koerber wrote:

Hi Manuele,
I have downloaded the wayland-compatibility branch extension, build and install it. It work's well now for me (Ubuntu 21.04, Wayland).
Thanks a lot,
Giles

Can you explain how you installed this? I am executing |build.sh| and running the command |gnome-extensions install @.***|. It seems like it works fine, but when I do |gnome-extensions list|, ShellTile does not show up as an installed extension.

I have done that (may be, it's not a perfect manner, but it works) :

theofficialgman commented 3 years ago

I have installed on wayland as well... ~~works nicely but there is a large amount of empty space between windows where you can see the desktop background this isn't the case with the built in gnome split screen where windows border each other~~

edit: my bad, first time user here, I wasn't aware this was a feature so far the wayland branch has been working great

rloutrel commented 2 years ago

May I suggest to add some kind of disclaimer "Not working on wayland yet" (with Link to this ticket) in the description of the extension page (https://extensions.gnome.org/extension/657/shelltile/) so that user quickly find hints and understand (I guess for Ubuntu current LTS fresh installs, wayland has become the standard, so there will be more and more questions coming to you).

As additional measure (if it is not too much work and in the master branch only until you merge the candidate), you might integrate a visible hint "Not working yet on wayland" in the extension configuration popup visible only if wayland is detected as display manager (if it is some kind of information available from the extension perspective)

theofficialgman commented 2 years ago

I have recently been running from the extensions page on 20.04 wayland https://extensions.gnome.org/extension/657/shelltile/ and it works great, for the first time you install it. after rebooting it stops working and snapping does nothing. I have to uninstall and re-install for it to do anything

nerdling commented 2 years ago

Last commit to the default branch was Feb 5, 2021.

Might be time to fork or head to https://github.com/Leleat/Tiling-Assistant

emasab commented 2 years ago

133 adds Wayland compatibility and GNOME 3.38 compatibility, GNOME 40 and 42 are on the way

dimisjim commented 2 years ago

@emasab Is there any issue we can follow for v42 support?