-
Notifications
You must be signed in to change notification settings - Fork 14
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
[Feature Request] Gnome 45 update #38
Comments
Could I open a PR for this issue? |
Absolutely! |
@mgalgs, could you help me? I already have ported most part of the code, but I'm stuck on this problem: Thanks! |
Vou dar uma olhada amanhã! After a quick perusal one thing I'd request is to change your approach for refactoring in b8fe462 so that it's more easily reviewable... For example, rather than pulling the definitions for |
Also, could you explain why you've removed the support for previous versions of Gnome? Distros with slow releasing should still be able to use the latest version of the extension imho. btw, it's a good idea to explain in a commit message why you've done what you've done in a commit. Thanks for the contribution. I'm not yet across why the changes are necessary, but just a heads up that it was very difficult to review, so I could only give a cursory look. |
Looks like that's how the Gnome devs are expecting it to work: https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version So I guess we'll have to create a new branch for legacy shell versions (in case fixes/updates still need to happen there) and update the uploader Github action accordingly...
Agreed. @gilvbp would be nice if you could flesh out the commit messages a bit more. Links to the docs explaining why each change is necessary, etc. |
Wow, that's pretty sad that that's the official instructions. I think it'd be worth investigating if it can be wrapped in a conditional like with the other backwards compatibility stuff the extension has. Or some other method of having only one copy of the source. |
Fedora 39 is going to ship with GNOME 45, so it'd be nice if we could get GNOME 45 support before the final freeze date (Oct 3rd). Thanks for working on this, even if you can't make it in time to include in Fedora 39 release. We can always ship an update later. |
Yeah, I think I'd like to re-work this PR to only include the minimal changes to comply with the new requirements for extensions on Gnome 45. I'll see if I can find time this week unless someone else beats me to it! |
any progress on this? |
Ubuntu 23.10 was released yesterday, also with Gnome 45... |
Running Fedora 39 (Beta) here, happy to test if needed. |
Sorry, I got swamped with work but hoping to have some time next week. Help testing would be great. |
I can test it out. Arch upgraded GNOME to 45 already and all extensions stopped working. |
Happy to do some tests if needed |
also happy to help in the porting process or with some errors that might occur, just ported some other extensions to gnome 45, so I could help with some things if needed |
Yes I certainly could, I saw in this thread, that some ports already exist, or am I wrong about that? I look around, and maybe we should make a PR, that is the best port so far... 🤔 |
Is anyone here able to successfully restart their Gnome Shell session under GS 45 using |
I'm hoping this is just something with my setup, but seeing as how it's affecting 3 different distros (including fresh installs of Fedora 39 beta and Ubuntu 23.10), I've filed a Bug report filed with Gnome Shell: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7109 |
You can debug extensions without restarting your current session: see here e.g. dbus-run-session -- gnome-shell --nested --wayland With that method I tested some extension, even if the normal reload (in x11 mode) crashed |
Fixes #38 Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com>
Fixes #38 Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com>
@Totto16 do you know how to run Looking Glass inside the nested Gnome Shell session under Wayland? I'm trying to get better logs... |
I used this approach, to see all logs: (taken from here) #!/bin/sh -e
export G_MESSAGES_DEBUG=all
export MUTTER_DEBUG_DUMMY_MODE_SPECS=1366x768
dbus-run-session -- \
gnome-shell --nested \
--wayland
( I put this into a script) With that you can grep / redirect output to a file and search there more easily Looking Glass has to be started, which takes some time and effort, if you restart many times 😓 |
Fixes #38 High-level summary of changes: - Migrated to es6 style imports [1] - Removed support for GS<45 [2] - Added default class exports in lieu of enable/disable functions [3] - Moved to subclassing Extension for main extension, with its associated helper properties/methods in lieu of extensionUtils [4] - Moved to subclassing ExtensionPreferences for prefs, with its associated helper properties/methods in lieu of extensionUtils [5] - Removed legacy Class syntax (Lang) [6] - Migrated to GLib-based Mainloop [7] - Use gettext from the extension module [8] - Migrated logging to standard console.* methods [9] - Migrated preferences dialog to Adwaita [10] TODO: - [ ] Figure out Battery (Main.panel.statusArea.quickSettings._system) Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com> [1] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm [2] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version [3] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extension-js [4] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [5] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#prefs-js [6] https://gjs.guide/guides/gjs/legacy-class-syntax.html#binding [7] https://discourse.gnome.org/t/how-to-import-mainloop-on-gnome-45-version/17605 [8] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [9] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging [10] https://gjs.guide/extensions/development/preferences.html#prefs-js
Thanks, @Totto16. With debug logs turned on, the nested session via Wayland actually makes for a pretty decent dev environment! @ALL It ain't pretty, but I have something working... The preferences page in particular needs some massaging by someone who knows Adwaita programming (no close button at the moment -- lol). I've opened a PR (#39) for testing and code review. Please take a look when you get a chance! |
When I copy the files of PR#39, gnome does not detect the extension itself, so, I cannot check anything. Nothing in extensions or in the web local or in lg. |
@koroki Did you follow the "Testing Instructions" section of the PR or do something else? Can you please share the full steps you took? |
I think it is about a typo in the instructions, while creating the symbolic link the name must contain -next whereas is used in metadata.json in uuid,
it works properly using X11 in ubuntu 23.10. Also verified bad window in Preferences due to Adwaita stuff like you said. thank you |
Fixes #38 High-level summary of changes: - Migrated to es6 style imports [1] - Removed support for GS<45 [2] - Added default class exports in lieu of enable/disable functions [3] - Moved to subclassing Extension for main extension, with its associated helper properties/methods in lieu of extensionUtils [4] - Moved to subclassing ExtensionPreferences for prefs, with its associated helper properties/methods in lieu of extensionUtils [5] - Removed legacy Class syntax (Lang) [6] - Migrated to GLib-based Mainloop [7] - Use gettext from the extension module [8] - Migrated logging to standard console.* methods [9] - Migrated preferences dialog to Adwaita [10] TODO: - [ ] Figure out Battery (Main.panel.statusArea.quickSettings._system) Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com> [1] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm [2] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version [3] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extension-js [4] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [5] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#prefs-js [6] https://gjs.guide/guides/gjs/legacy-class-syntax.html#binding [7] https://discourse.gnome.org/t/how-to-import-mainloop-on-gnome-45-version/17605 [8] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [9] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging [10] https://gjs.guide/extensions/development/preferences.html#prefs-js
@althaser that was it! Thank you, and fixed. |
Fixes #38 High-level summary of changes: - Migrated to es6 style imports [1] - Removed support for GS<45 [2] - Added default class exports in lieu of enable/disable functions [3] - Moved to subclassing Extension for main extension, with its associated helper properties/methods in lieu of extensionUtils [4] - Moved to subclassing ExtensionPreferences for prefs, with its associated helper properties/methods in lieu of extensionUtils [5] - Removed legacy Class syntax (Lang) [6] - Migrated to GLib-based Mainloop [7] - Use gettext from the extension module [8] - Migrated logging to standard console.* methods [9] - Migrated preferences dialog to Adwaita [10] TODO: - [ ] Figure out Battery (Main.panel.statusArea.quickSettings._system) Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com> [1] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm [2] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version [3] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extension-js [4] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [5] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#prefs-js [6] https://gjs.guide/guides/gjs/legacy-class-syntax.html#binding [7] https://discourse.gnome.org/t/how-to-import-mainloop-on-gnome-45-version/17605 [8] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [9] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging [10] https://gjs.guide/extensions/development/preferences.html#prefs-js
The system-monitor-next was the problem, yes. I did not know about that the directory name and the information in the metadata should be the same. Thanks. For now, the extension works properly. I will come here if I found something wrong. |
Great work! It's all good. |
Hey! Thanks for porting of the extension to Gnome 45. Right now, I can't enable the extension in Gnome:
but:
Any idea what can be wrong? Thanks. |
@marxin check with:
if you can see any messages related to this extension. |
I had to do |
Fixes #38 High-level summary of changes: - Migrated to es6 style imports [1] - Removed support for GS<45 [2] - Added default class exports in lieu of enable/disable functions [3] - Moved to subclassing Extension for main extension, with its associated helper properties/methods in lieu of extensionUtils [4] - Moved to subclassing ExtensionPreferences for prefs, with its associated helper properties/methods in lieu of extensionUtils [5] - Removed legacy Class syntax (Lang) [6] - Migrated to GLib-based Mainloop [7] - Use gettext from the extension module [8] - Migrated logging to standard console.* methods [9] - Migrated preferences dialog to Adwaita [10] TODO: - [ ] Figure out Battery (Main.panel.statusArea.quickSettings._system) Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com> [1] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm [2] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version [3] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extension-js [4] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [5] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#prefs-js [6] https://gjs.guide/guides/gjs/legacy-class-syntax.html#binding [7] https://discourse.gnome.org/t/how-to-import-mainloop-on-gnome-45-version/17605 [8] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [9] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging [10] https://gjs.guide/extensions/development/preferences.html#prefs-js
Whoops, yeah the symlink/directory name mismatch didn't make it into the README. I've just now pushed a change to rename the directory, so the the README instructions actually work (no need name the symlink differently from the directory):
Regarding:
It looks like Gnome Shell needs to be restarted for it to see the new symlink. I've updated the README accordingly. |
All right, I think we're down to the following unresolved issues:
I think I'd like to ship it as is and tackle these as separate issues (I don't have any more time to spare on this this week). Please vote with a 👍 or 👎 reaction on this comment. 👍 = ship now I'll check back later tonight and will push the release if that's what people prefer. |
oh yeah, one more issue from @badsmoke:
I'm unable to reproduce this... What do your settings look like? (I don't mean what does your settings page look like -- I know it looks like trash 😅 -- but what settings do you have changed from their defaults?) |
Submitted to e.g.o for review. Thanks, everyone, for your help on this! |
Fixes #38 High-level summary of changes: - Migrated to es6 style imports [1] - Removed support for GS<45 [2] - Added default class exports in lieu of enable/disable functions [3] - Moved to subclassing Extension for main extension, with its associated helper properties/methods in lieu of extensionUtils [4] - Moved to subclassing ExtensionPreferences for prefs, with its associated helper properties/methods in lieu of extensionUtils [5] - Removed legacy Class syntax (Lang) [6] - Migrated to GLib-based Mainloop [7] - Use gettext from the extension module [8] - Migrated logging to standard console.* methods [9] - Migrated preferences dialog to Adwaita [10] TODO: - [ ] Figure out Battery (Main.panel.statusArea.quickSettings._system) Suggested-by: Gil Vicente Bernardo Pinto <gilvbp@gmail.com> [1] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm [2] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#shell-version [3] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extension-js [4] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [5] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#prefs-js [6] https://gjs.guide/guides/gjs/legacy-class-syntax.html#binding [7] https://discourse.gnome.org/t/how-to-import-mainloop-on-gnome-45-version/17605 [8] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#extensionutils [9] https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging [10] https://gjs.guide/extensions/development/preferences.html#prefs-js
Hi, could you update the G45 version?
Reference:
https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm
Thanks
The text was updated successfully, but these errors were encountered: