mzur / gnome-shell-wsmatrix

GNOME shell extension to arrange workspaces in a two-dimensional grid with workspace thumbnails
GNU General Public License v3.0
464 stars 59 forks source link

Gnome 3.38 support #125

Closed mzur closed 3 years ago

mzur commented 3 years ago

Issues:

mzur commented 3 years ago

@ebeem Do you have time to take a look at the third issue (WorkspacesViewOverride)?

ebeem commented 3 years ago

@mzur a little busy for 2 months. I will check them out if needed once I have time. My apologies.

mzur commented 3 years ago

Alright, no problem. I have little time myself and am not even using Gnome 3.38. Maybe someone else is willing to contribute, too.

ElijahLynn commented 3 years ago

Thanks for starting this. I am seeing: image

And the log:

Sep 18 16:43:12 archlinux gnome-shell[1263]: JS ERROR: TypeError: this._dialog is null _onFocusChanged@resource:///org/gnome/shell/ui/closeDialog.js:135:9 actionMoveWorkspace@resource:///org/gnome/shell/ui/windowManager.js:2170:23 _showWorkspaceSwitcher@/home/elijah/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de/WmOverride.js

So, I assume that this is because of the 3.38 update. I'll try to figure out how to install this locally to test and maybe even get it in my IDE to help out with it as I really miss the workspace overview now for a few weeks or so and have motivation to do so.

Thanks again

mzur commented 3 years ago

@ElijahLynn It's great that you want to help! Take a look at the developing instructions for how to get started. Make sure to switch to the gnome-3.38 branch of this repository.

Your error might actually be something that wasn't reported yet.

ElijahLynn commented 3 years ago

@ElijahLynn It's great that you want to help! Take a look at the developing instructions for how to get started. Make sure to switch to the gnome-3.38 branch of this repository.

Your error might actually be something that wasn't reported yet.

Thanks for that link, super helpful and seems clear on how to test this branch locally. I hope to get to it soon and will post back when/if I do.

gowza commented 3 years ago

I am running Gnome 3.38.1 on Arch Linux. I installed this gnome-3.38 branch on my machine and the main feature is working fine. There is no extension error message.

I can confirm that the The active workspace indicator is positioned wrongly or cut off in the first row and column issue is there.

Also I pick up on another issue on Activities view. The active workspace indicator box in Activities view is not drawn correctly.

output

I also get this error (from journalctl /usr/bin/gnome-shell -f) when navigating between workspaces in Activities view:

Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed
Oct 31 15:00:16 gowza-arch gnome-shell[922]: clutter_actor_allocate: assertion '!isnan (real_allocation.x1) && !isnan (real_allocation.x2) && !isnan (real_allocation.y1) && !isnan (real_allocation.y2)' failed

P.S. Thank you for this plugin. I am just reporting to help out. I am not pushing for the fix. I appreciate the work that you have done already in maintaining such an awesome plugin.

mzur commented 3 years ago

@gowza Thanks for the report. The issue of your video seems to be what is described in the fourth bullet point of my first post here. Can you confirm that this issue occurred only after the GNOME 3.38 upgrade?

gowza commented 3 years ago

@mzur Yes. I can confirm that the issue occurred only after GNOME 3.38 upgrade. The issue goes away when I disable the extension.

tom-james-watson commented 3 years ago

Another regression is that the workspace switch animation in the overview is animating horizontally for vertical switches. It's similar to https://github.com/mzur/gnome-shell-wsmatrix/issues/56, but with the directions reversed.

EDIT - for what it's worth, I've been using workspace matrix on 3.38 (Ubuntu 20.10) for about a month now without any other issues.

ebeem commented 3 years ago

In the overview, the indicator first jumps to its "original" position (where it would be if the extension wasn't used), and only then jumps to the correct position.

Upstream issue according to my testing

mzur commented 3 years ago

I now removed the WorkspacesViewOverride entirely as it no longer had any effect. This probably means that the animations are incorrect again but I can't test this as I can't manage to enable animations in my test VM.

ebeem commented 3 years ago

Thanks @mzur, sorry for not helping in this. I will try to look at it soon, it seems like we have three issues left.

Do we have any other issues? It seems like gnome 40 is going to require a lot of changes in code, there are a lot of changes so far.

mzur commented 3 years ago

@ebeem: No worries, nobody is obliged to do anything here, after all. Yes, I think the animation issues are the only ones remaining. I just fixed the workspace indicator issue. Unfortunately, I can't debug the animation issues.

As to GNOME 40 I think we should initially remove all but the most basic features that no longer work there. For me, this means no support for a 2D workspace in the activity overview. This can be added later but I don't see that we can establish full support in a timely manner.

gowza commented 3 years ago

Hey @mzur. May I suggest we disable the indicator animation by always set the indicatorWorkspace to activeWorkspace.

https://github.com/mzur/gnome-shell-wsmatrix/blob/2c59c0b6ddfaf791bcf83269a88e6676b33e4b7d/wsmatrix%40martin.zurowietz.de/ThumbnailsBoxOverride.js#L203-L204

This will force the indicator drawing on the active workspace every time allocate() is called and get rid of the animation.

mzur commented 3 years ago

Thanks for the suggestion @gowza! @ebeem can you confirm that this would be a viable workaround?

logankoester commented 3 years ago

Thanks for the suggestion @gowza! @ebeem can you confirm that this would be a viable workaround?

I just tried this idea and confirmed that this does remove the incorrect animation. Much nicer, thanks @gowza :+1:

Tested on GNOME 40.0.0.

https://github.com/mzur/gnome-shell-wsmatrix/blob/ae318ddbe4c0530abee095faf6c6a8c8739a3d2c/wsmatrix%40martin.zurowietz.de/ThumbnailsBoxOverride.js#L201-L203

mzur commented 3 years ago

Thanks @logankoester! I'll look into your PR. So does this extension work out of the box with GNOME 40? Maybe you can provide some insight in #146.

logankoester commented 3 years ago

I've only been using it on 40 for an hour or two but everything seems good to go from what I see so far.

I only commented a line out and replaced it with that stub in my PR, so if you merge you might want to outright delete the line or add a comment.

On Fri, Mar 26, 2021, 7:46 PM Martin Zurowietz @.***> wrote:

Thanks @logankoester https://github.com/logankoester! I'll look into your PR. So does this extension work out of the box with GNOME 40? Maybe you can provide some insight in #146 https://github.com/mzur/gnome-shell-wsmatrix/issues/146.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mzur/gnome-shell-wsmatrix/pull/125#issuecomment-808188017, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAEW5Z4JMM5EIDRDFUI2CDTFR63NANCNFSM4SLUDJPA .

mzur commented 3 years ago

I attempted a fix for the window animation direction on workspace change in the overview. Can someone please test if it works on their system as well (@tom-james-watson)? I saw some glitches but this might as well be related to my VM.

wedeluxe commented 3 years ago

My setup:

Tried your fix. When leaving the initial row, open windows disappear in the activities view.

Details:

  1. Open activities view
  2. When switching workspaces left and right, everything works as expected.
  3. The moment I'm leaving the initial row (by moving a workspace up or down) all open-window-previews disappear.
  4. When switching back to the initial row, the previews which were visible in step 2 do not reappear.

When opening the activities view, the workspace matrix is displayed on the right side. On the left side GNOME shows a preview of all windows open on the current workspace. These previews disappear throughout the process. The small workspace preview images within the workspace matrix stay visible and keep showing all open windows all the time.

EDIT: My wording was a little misleading. When saying 'overview' I actually meant 'activities view'. Corrected above.

mzur commented 3 years ago

The implementation for the fix continues in #149. I made some progress but the animation is still glitchy.

mzur commented 3 years ago

A fix or the animation was too much work. I now disabled that animation, too.