Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension not working as of GNOME 42.0. #49

Open
kfogel opened this issue Apr 10, 2022 · 8 comments
Open

Extension not working as of GNOME 42.0. #49

kfogel opened this issue Apr 10, 2022 · 8 comments

Comments

@kfogel
Copy link
Collaborator

kfogel commented Apr 10, 2022

Hi, @windsorschmidt. I upgraded recently and Debian testing distro brought in GNOME 42.0...

$ gnome-shell --version
GNOME Shell 42.0
$ 

...so naturally I updated this extension locally in the usual way:

index 6bcee3f..8f897cf 100644
--- [email protected]/metadata.json
+++ [email protected]/metadata.json
@@ -31,7 +31,8 @@
         "40.5",
         "41.0",
         "41.1",
-        "41.2"
+        "41.2",
+        "42.0"
     ],
     "uuid": "[email protected]",
     "name": "Disable Workspace Switcher Popup",

However, the extension is having no effect. I can see in gnome-extensions-app that the extension is turned on, as expected. But I still get a workspace switcher popup.

I asked about this over in GNOME Discourse, because the visual appearance and location of the popup have changed a bit, and Florian Müllner confirmed that even though the appearance and location have changed, the same code should still work to suppress the popup.

Do you have any idea what's causing the extension to suddenly not work? For all I know this might even be a GNOME bug, or maybe there's some new compatibility shim we need to place in the extension code (like the "// Backwards compatability with 3.0.2" shim you already have in extension.js), but I'm not even sure how to start debugging this.

@lzhang
Copy link

lzhang commented May 3, 2022

This probably doesn't work because the _show function was removed.

https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/00ccea48a

@kfogel
Copy link
Collaborator Author

kfogel commented May 3, 2022

Thanks so much for this followup, @lzhang.

I don't know much about GNOME customization, but maybe there's some other internal method we could override? _redisplay()? Or maybe even show(), which I presume is inherited from St.Widget?

Anyway, I'll try some experiments when I get a chance. If you have more knowledge and have some ideas, I'm all ears!

@G-dH
Copy link

G-dH commented May 4, 2022

@kfogel : The only function of the WorkspaceSwitcherPopup class that is intended as public is display, so it makes sense to focus on this function instead of any other internal function that is more likely to change over time. That's how I do it in my own extension. I also block unnecessary _init code if the popup is disabled, it doesn't make sense to create the object, connect all the signals and then destroy it immediately, every time the user switches the workspace.

@kfogel
Copy link
Collaborator Author

kfogel commented May 12, 2022

Thank you for these tips, @G-dH!

@G-dH
Copy link

G-dH commented May 12, 2022

@kfogel : To be specific, the best solution is to override the popup class with an empty class with only the display() function.

@kfogel
Copy link
Collaborator Author

kfogel commented May 12, 2022

Got it, @G-dH. (It may be a while before I have a chance to do this, due to some other obligations right now, but I very much appreciate these tips -- they'll save a lot of time when I finally get a moment to enter the code/test cycle.)

@evenfrost
Copy link

evenfrost commented Jun 3, 2022

Looking forward to this.

FWIW, this one works for me in GNOME 42: https://extensions.gnome.org/extension/4980/disable-workspace-switcher/.

@kfogel
Copy link
Collaborator Author

kfogel commented Jun 9, 2022

Good to know about that one, thanks @evenfrost!

It will be at least weeks, perhaps months, before I have any chance to look at this issue (due to some family stuff). If you're considering working on it, please go for it! I don't want to be a blocker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants