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

Gnome 45 support #1649

Closed
Guara92 opened this issue Aug 22, 2023 · 12 comments · Fixed by #1660
Closed

Gnome 45 support #1649

Guara92 opened this issue Aug 22, 2023 · 12 comments · Fixed by #1660

Comments

@Guara92
Copy link

Guara92 commented Aug 22, 2023

(1) Issue/Bug Description:
Pop Shell is not compatible with Gnome 45, it's probably related to the ESM switch https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm

import declarations may only appear at top level of a module

(2) Steps to reproduce (if you know):
Upgrade to Gnome 45

(3) Expected behavior:
should work

(4) Distribution (run cat /etc/os-release):

NAME="Fedora Linux"
VERSION="39 (Workstation Edition Prerelease)"
ID=fedora
VERSION_ID=39
VERSION_CODENAME=""
PLATFORM_ID="platform:f39"
PRETTY_NAME="Fedora Linux 39 (Workstation Edition Prerelease)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:39"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f39/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=39
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=39
SUPPORT_END=2024-05-14
VARIANT="Workstation Edition"
VARIANT_ID=workstation

(5) Gnome Shell version:
45

(6) Pop Shell version (run apt policy pop-shell or provide the latest commit if building locally):
gnome-shell-extension-pop-shell-1.2.0^11.b5accce-2.fc39.noarch

(7) Where was Pop Shell installed from:
Fedora repo

@carlwgeorge
Copy link
Contributor

Howdy, maintainer for the Fedora package here. Once this extension is ported to ESM (and the metadata.json files reflects GNOME 45 compatibility) I'll be happy to update the package accordingly.

@RoyalOughtness
Copy link

Howdy, maintainer for the Fedora package here. Once this extension is ported to ESM (and the metadata.json files reflects GNOME 45 compatibility) I'll be happy to update the package accordingly.

Is this being worked on? I don't see any issue or branch related to ESM migration, and I wonder if the pop folks are understandably too busy with cosmic to prioritize this package.

@carlwgeorge it might be worth looking into packaging forge as well as it has very similar functionality and seems to be ahead of the curve on development: https://github.com/forge-ext/forge/tree/gnome-45-esm

@D3vil0p3r
Copy link

Any news about gnome-shell-extension-pop-shell-git for GNOME 45?

@mmstick
Copy link
Member

mmstick commented Oct 8, 2023

@D3vil0p3r No one has submitted a PR for it.

@ronanru
Copy link
Contributor

ronanru commented Oct 11, 2023

Hi! I tried to port it to gnome 45 today. The tiling runs as expected, but I get an error, when I open the extension settings.
Here is the repo - https://github.com/ronanru/pop-shell-gnome-45

@tmke8
Copy link

tmke8 commented Oct 13, 2023

I think this has been resolved by #1660.

@mmstick mmstick closed this as completed Oct 13, 2023
@carlwgeorge
Copy link
Contributor

Once this extension is ported to ESM (and the metadata.json files reflects GNOME 45 compatibility) I'll be happy to update the package accordingly.

I've update the Fedora package accordingly.

https://bodhi.fedoraproject.org/updates/?packages=gnome-shell-extension-pop-shell&search=1.2.0%5E20

@Birdabo404
Copy link

I recently tried PopOS-Shell on fedora 39 GNOME 45 and I can't seem to enable the extension since its incompatible but I see new comments that it has been updated but idon't really know how to work that out.

@Razer0123
Copy link

Once this extension is ported to ESM (and the metadata.json files reflects GNOME 45 compatibility) I'll be happy to update the package accordingly.

I've update the Fedora package accordingly.

https://bodhi.fedoraproject.org/updates/?packages=gnome-shell-extension-pop-shell&search=1.2.0%5E20

Getting this error after installing

GLib.FileError: Failed to open file “[/usr/share/gnome-shell/extensions/pop-shell@system76.com](mailto:/usr/share/gnome-shell/extensions/pop-shell@system76.com)/schemas/gschemas.compiled”: open() failed: No such file or directory

@carlwgeorge
Copy link
Contributor

Packaged GNOME extensions in Fedora typically place their gschema files in /usr/share/glib-2.0/schemas/, which are then compiled with glib-compile-schemas after the whole dnf transaction, resulting in a combined /usr/share/glib-2.0/schemas/gschemas.compiled file for all installed extensions. This method previously worked for this extension. Now after the GNOME 45 port it results in the error above. Here is the full trace:

Oct 24 22:46:48 teal gnome-shell[2365]: JS ERROR: Extension pop-shell@system76.com: GLib.FileError: Failed to open file “/usr/share/gnome-shell/extensions/pop-shell@system76.com/schemas/gschemas.compiled”: open() failed: No such file or directory
                                        settings_new_schema@file:///usr/share/gnome-shell/extensions/pop-shell@system76.com/settings.js:17:31
                                        ExtensionSettings@file:///usr/share/gnome-shell/extensions/pop-shell@system76.com/settings.js:45:20
                                        Ext@file:///usr/share/gnome-shell/extensions/pop-shell@system76.com/extension.js:62:25
                                        enable@file:///usr/share/gnome-shell/extensions/pop-shell@system76.com/extension.js:2085:19
                                        _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:252:38
                                        async*_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js:606:24
                                        _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:705:18
                                        createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
                                        enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:276:29
                                        EnableExtension@resource:///org/gnome/shell/ui/shellDBus.js:447:38
                                        _handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:329:38
                                        _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
                                        @resource:///org/gnome/shell/ui/init.js:21:20

I'm not well versed in typescript, but I think this change might be the problem.

-    let schemaSource = schemaDir.query_exists(null) ?
-        GioSSS.new_from_directory(schemaDir.get_path(), GioSSS.get_default(), false) :
-        GioSSS.get_default();
+    let schemaSource = GioSSS.new_from_directory(`${get_current_path()}/schemas/`, GioSSS.get_default(), false);

Hey @ronanru, any ideas about how to adjust this code to work with both GNOME 45 and the loading of the shared gschemas.compiled file I mentioned?

@skewballfox
Copy link

skewballfox commented Nov 10, 2023

hey, not familiar with typescript but looked into this a bit.
shouldn't Gio.Settings take just the schema id? as in

function settings_new_schema(schema: string): Settings {
   
    return new Gio.Settings(schema);
}

@lleyton
Copy link
Contributor

lleyton commented Nov 14, 2023

Hopefully fixed in the PR linked above ^_^

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

Successfully merging a pull request may close this issue.