gnome-shell-extension-windowoverlay-icons icon indicating copy to clipboard operation
gnome-shell-extension-windowoverlay-icons copied to clipboard

Incompatible with GNOME 40

Open garrett opened this issue 3 years ago • 7 comments

Firstly: Thanks for this extension! It's helped me identify which window belongs to which app in GNOME <= 3.38.

Good news: GNOME 40's shell is finally gaining icons on each window of the overview, similar to what this extension does.

However: When I had this extension installed and upgraded to the WIP builds of GNOME 40 (Fedora 33 copr), after launching a window, the overview was blank and I couldn't do anything except log out.

As GNOME Shell itself is providing the same functionality as this extension, in future versions, this extension should probably either restyle what GNOME 40 provides (icons at the bottom instead of the vertical middle) or change the supported versions of GNOME... else a lot of other people will probably wind up with broken desktops and might not figure out that it was an extension (and how to remove it with a broken desktop).

garrett avatar Feb 16 '21 11:02 garrett

Thank you. Good point. I will check whether I can specify that the extension is not compatible with GNOME 3.40 and future versions.

At least I could detect the GNOME Shell version and do nothing in the newer versions.

I did not try the native app icons yet but I guess I will discontinue this extension if I find the native icons to be a sufficient alternative.

sustmi avatar Feb 16 '21 18:02 sustmi

It's been a few weeks since garrett's original post, so maybe you've already made some progress since then. But I just ran into basically this same issue (incompatible with GNOME 40), and thought I'd add some extra info, in case it helps you figure out what you want to do...

When doing a clean installation of WindowOverlay Icons, instead causing the windows to appear blank in Overview, I simply couldn't enable the extension. I'm testing the upcoming GNOME 40 in a virtual machine of Rawhide (development branch of Fedora) x86_64. I'm using the RPM build of WindowOverlay Icons v37, since v39 was sort of a backport for older GNOME versions.

Looking Glass shows no error messages for WindowOverlay (because the extension hasn't been enabled yet). But in the GNOME Extensions app, there's a red ⛔ warning icon, and the toggle switch to enable WindowOverlay is grayed out. If you click the gears icon to see WindowOverlay settings, you get a dialog that says "Something went wrong" and the following error message:

TypeError: this.add is not a function

Stack trace:
  _init@/usr/share/gnome-shell/extensions/[email protected]/prefs.js:70:18
  buildPrefsWidget@/usr/share/gnome-shell/extensions/[email protected]/prefs.js:177:18
  _init@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:209:40
  OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:122:28
  asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
  run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:177:20
  main@resource:///org/gnome/Shell/Extensions/js/main.js:19:13
  run@resource:///org/gnome/gjs/modules/script/package.js:206:19
  start@resource:///org/gnome/gjs/modules/script/package.js:190:8
  @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

Here's what the task overview looks like in the current GNOME beta.

Screenshot_fedora-rawhide_2021-03-11_16:38:40

Looks like app icons are placed over the bottom-middle edges of the windows -- which I personally prefer over having it in the very center of the window; this strikes me as a reasonable and pleasant-looking default -- but there's none of WindowOverlay Icons's options, either in GNOME Settings or GNOME Tweaks as far as I can tell, to change the icon position or appearance. So, whether to update WindowOverlay's functionality for the new GNOME APIs depends on how much people will miss the ability to change the opacity or size of icons.

I can specify that the extension is not compatible with GNOME 3.40...

Just to be clear, the upcoming GNOME release is actually making a big jump in the version number to 40 instead of 3.40. This coincides with the major change in the basic GUI toolkit, from GTK3 to GTK4. I dunno if the development branch was still "3.39" or just "39" -- the test builds of GNOME I see in Rawhide now is called version 40~beta, so they might or might not still be using the odd-numbers-for-development even-numbers-for-stable version numbering scheme that they've traditionally used for the GNOME 3.x series...

audreytoskin avatar Mar 12 '21 00:03 audreytoskin

I dunno if the development branch was still "3.39" or just "39" -- the test builds of GNOME I see in Rawhide now is called version 40~beta, so they might or might not still be using the odd-numbers-for-development even-numbers-for-stable version numbering scheme that they've traditionally used for the GNOME 3.x series...

The ping-pong between development versions and releases has been dropped. They're now numbered based on the actual release number. First alpha, then beta, then RC. And then, of course, the actual release.

The version is discussed here in depth: https://discourse.gnome.org/t/new-gnome-versioning-scheme/4235

garrett avatar Mar 15 '21 10:03 garrett

Related blog post "GNOME 40 & your extension": https://blogs.gnome.org/shell-dev/2021/03/12/gnome-40-your-extension/

Also, on Fedora 34, all the extensions have been disabled for now. They're removed the compatibility override by default, so extensions have to be upgraded to be used for 40.

From the post:

With all those changes, we expect more extensions to have compatibility issues than usual.

To protect against that, we are again doing version validation. That means unless the shell-version field in an extension’s metainfo.json file includes “40”, it will be disabled and marked as out-of-date.

garrett avatar Mar 15 '21 10:03 garrett

Thank you. Good point. I will check whether I can specify that the extension is not compatible with GNOME 3.40 and future versions.

At least I could detect the GNOME Shell version and do nothing in the newer versions.

I did not try the native app icons yet but I guess I will discontinue this extension if I find the native icons to be a sufficient alternative.

You don't need to do anything to prevent people from installing, you are already declaring versions in metatada.json and Gnome 40 honors that. Unless people tamper with metadata.json, your extension will not load. However, I prefer my icon in the vertical middle of the window, and the window title at the bottom to be always shown like it was with your extension. So if you were to find yourself with some spare time and you feel like doing it, I think your extension still has an audience.

p91paul avatar Apr 08 '21 17:04 p91paul

I'll second p91paul. I've been very happy with the icons in the center and large. I've tried Gnome 40 throughout development and the smaller bottom icons take me just a bit longer to find. Would be great to see this extension or something like it in Gnome 40. But understand that time is precious.

kmoad avatar Apr 17 '21 20:04 kmoad

I am simple man. I am satisfied with the default look in GNOME 40. :slightly_smiling_face:

I briefly checked the new code and it looks like the icon alignment logic is here: https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/40.0/js/ui/windowPreview.js#L158

However, I have to say that I currently do not have time to play with it.

sustmi avatar Jun 21 '21 07:06 sustmi