zakkak / workspace-grid

https://extensions.gnome.org/extension/484/workspace-grid/
GNU General Public License v3.0
288 stars 40 forks source link

Switching animation direction is wrong in Gnome 3.30 #88

Closed thijzert closed 5 years ago

thijzert commented 6 years ago

When changing workspaces in the X direction (e.g. to the right), the windows move as if you're switching to a workspace in the Y direction (e.g. down).

I've recorded a screencast showcasing the problem: Screencast

thijzert commented 6 years ago

(Note, the extension is currently broken in 3.30, see #86. For now you can get the extension working by checking out the branch referenced here and following the instructions in this comment.)

renxida commented 5 years ago

[ just in case you have Gnome 3.28 and are experiencing the same problems]

If you installed the extension from the gnome extension website https://extensions.gnome.org/extension/484/workspace-grid/, you might have an old version.

Clone the newest commit on branch 3.28, cd into it, and do make zip

Then proceed to unzip the contents to /home/xren/.local/share/gnome-shell/extensions. Don't forget to remove the old version beforehand.

The newest version in 2.28 has all the animations right.

rmyorston commented 5 years ago

There's a problem with workspace layouts in mutter 3.30:

https://gitlab.gnome.org/GNOME/mutter/issues/270

jonnixs commented 5 years ago

The MR for that mutter issue has been merged. Does that allow this bug to get resolved?

thijzert commented 5 years ago

I manually applied the patch in mutter to my system, and it's working great! Closing the issue here, since there's nothing to be done in this extension; the patch will eventually make its way downstream.

mzur commented 5 years ago

@thijzert I tried to build Mutter from source to see if the patch solves a similar issue for me. I could not find any installation instructions anywhere so I had to find out all the dependencies the hard way. Now I'm stuck with No rule to make target 'Clutter-3.typelib', needed by 'all-am'. and don't know how to continue. Can you please give me some hints on how you manage to build Mutter on your system?

thijzert commented 5 years ago

I'm on Arch Linux, so for me it was a matter of getting the PKGBUILD from the Arch Build System, modifying it to apply the patch, and have makepkg take care of the rest. For other distributions, I'm not sure; I think you're better off just waiting for the Gnome team to tag the next release and for it to percolate to your OS vendor. (It was merged to master just two days ago, mind you.)

mzur commented 5 years ago

I was hoping to confirm that the patch fixes the issue but setting up my own Arch VM just for this is a little too much. I guess I'll do as you say and wait until the patch arrives downstream. Thanks for your help!

triffon commented 5 years ago

I am using Ubuntu 18.10 and can confirm that applying the patch against the repository version of mutter solves the problem for me. Thank you!

LorincJuraj commented 5 years ago

@triffon can you give us a walk-through how this can be done? I am on Ubuntu 18.10 as well would prefer not have to wait for official update.

triffon commented 5 years ago

Sure, please see below:

  1. Install the Debian build tools: sudo apt install devscripts
  2. Download the package source: apt source mutter
  3. Install build dependencies: sudo apt build-dep mutter
  4. Navigate to the newly created directory: cd mutter-3.30.1-1
  5. The patch is only one line, so you can edit the file directly: gedit src/core/meta-workspace-manager.c
  6. Add the following line in the beginning of the function meta_workspace_manager_override_workspace_layout (line 499): workspace_manager->workspace_layout_overridden = FALSE;
  7. Build the package: dpkg-buildpackage -us -uc -nc
  8. (Optional) Add a new changelog entry: dch. The actual description is not important, what matters is that a new changelog entry with a new version is created.
  9. Install the new packages: sudo dpkg -i ../*.deb
  10. Restart and enjoy!
mzur commented 5 years ago

Brilliant, thank you! @LorincJuraj Note that you need to check "source code" in Software & Updates for apt source to work.

LorincJuraj commented 5 years ago

Thanks @triffon and @mzur . It worked. The only difference was in step 3 I had to go to cd mutter-3.30.1 instead. Step 7 didn't work for me but as it was optional, I hope it will be OK.

akyoto commented 5 years ago

@triffon Worked flawlessly (step 3 replaced with 3.30.1), thank you!

amcsi commented 5 years ago

@triffon I tried following your steps, but I believe I'm stuck at step 2:

  ~ git:(master) ✗ apt source mutter
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
➜  ~ git:(master) ✗ sudo apt build-dep mutter
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
mzur commented 5 years ago

@amcsi Check out my comment above.

harish2704 commented 5 years ago

I reported this bug in mutter https://gitlab.gnome.org/GNOME/mutter/issues/409

tstirrat15 commented 5 years ago

This seemed like it was fixed for a while, and then it just stopped working for me again today. Was there another change to Mutter recently?

tstirrat15 commented 5 years ago

I went through @triffon's steps again, and it fixed it again. The difference is that rather than adding the stuff = FALSE statement, you're changing the stuff = TRUE statement to FALSE. Any idea why they broke it again?

LorincJuraj commented 5 years ago

Again only small change in step 3 use cd mutter-3.30.2

akyoto commented 5 years ago

Seems to be bugged again there. I don't know if it was ever fixed, but the comment said it was.

NeroVanbiervliet commented 5 years ago

Check your mutter --version. My distro is still on 3.30.2. According to gitlab, the fix is merged starting from 3.31.2.

kevinmarrec commented 5 years ago

Hi guys, What's the current fix then ?

Fix Steps seem to have been changing multiple times since @triffon last comment, and the fix might also not being available anymore (assuming @tstirrat15 feedback) ?

LorincJuraj commented 5 years ago

@kevinmarrec Triffon's solution worked for me last time (see my last comment).

kevinmarrec commented 5 years ago

@LorincJuraj Alright, thanks for blazing fast answer !

tstirrat15 commented 5 years ago

Most recent mutter update in Ubuntu 18.10 broke things again. Is this being tracked somewhere on the mutter project, or is this an issue with Ubuntu being behind on releases?

kevinmarrec commented 5 years ago

@tstirrat15 Ubuntu 18.10 has indeed upgraded mutter from 3.30.2-1~ubuntu18.10.3 to mutter_3.30.2-1~ubuntu18.10.4lately. The fix is only in mutter@3.31.2 and above, so we still need to manually to apply the fix ourselves (workspace_layout_overridden = FALSE), rebuild source and reinstall each time they'll update Ubuntu 18.10.x

(FYI Ubuntu 19.04 should be released in early April with expected Gnome 3.32 so no more issues)

jtagcat commented 5 years ago

Sure, please see below:

1. Install the Debian build tools: `sudo apt install devscripts`

2. Download the package source: `apt source mutter`

3. Install build dependencies: `sudo apt build-dep mutter`

4. Navigate to the newly created directory: `cd mutter-3.30.1-1`

5. The patch is only one line, so you can edit the file directly: `gedit src/core/meta-workspace-manager.c`

6. Add the following line in the beginning of the function `meta_workspace_manager_override_workspace_layout` (line 499): `workspace_manager->workspace_layout_overridden = FALSE;`

7. Build the package: `dpkg-buildpackage -us -uc -nc`

8. (Optional) Add a new changelog entry: `dch`. The actual description is not important, what matters is that a new changelog entry with a new version is created.

9. Install the new packages: `sudo dpkg -i ../*.deb`

10. Restart and enjoy!

How would you do this on Fedora?