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 #70

Open
yochananmarqos opened this issue Aug 17, 2023 · 8 comments
Open

GNOME 45 support #70

yochananmarqos opened this issue Aug 17, 2023 · 8 comments

Comments

@yochananmarqos
Copy link

There are breaking changes which will require a separate release for 45 and <=44:

See https://gjs.guide/extensions/upgrading/gnome-shell-45.html

@fjsevilla-dev
Copy link
Collaborator

fjsevilla-dev commented Aug 25, 2023

I have been porting the extension to gnome-shell 45:

https://github.com/fjsevilla-dev/gamemode-extension/tree/gnome_shell_45

If anyone wants to install and test it just follow the installation instructions from sources but change the repo:

git clone --branch gnome_shell_45 https://github.com/fjsevilla-dev/gamemode-extension.git
cd gamemode-extension
./make-zip.sh install

Remember that you need to have meson, ninja and jq installed on your system to build from source.

I've preferred to keep everything in my fork for now, given the depth of the changes and the fact that it breaks backwards compatibility by using ECMAScript modules and import/export keywords, at least until I know @gicmo opinion and preferences for handling this.

What is usually done is to maintain two separate branches, one for gnome <=44 and one for Gnome >= 45. When updating the extension on extensions.gnome.org it is necessary to upload two different versions of the extension as well if support for Gnome < 45 is desired.

Apart from porting the code to make it compatible with gnome 45, since backwards compatibility is broken anyway, I have taken the opportunity to make some other changes:

  • Removed code intended to maintain backwards compatibility with versions prior to 45.
  • The use of some modules, such as Signals, has been replaced by more up-to-date alternatives.
  • Use of constructor and static blocks for gtype register.

I have tested on Arch with Gnome-45-beta-1 (FGGU repos) and on Gentoo on the unstable branch using the Gnome-45 packages (gnome-shell 45-beta-1 and gjs 1.77.1) and everything seems to work correctly.

@maxtorete
Copy link

Hi @fjsevilla-dev !

I tested it on Fedora 39 Silverblue beta and it works fine. I hope @gicmo has some time to review it and it gets released on extensions.gnome.org

Thanks for your work 👍

@BloodyIron
Copy link

So can we get this on the main extensions page now? It still lists only Gnome 42 as max version... and 43 & 44 are now "out of support" from Gnome dev's perspectives. Please? :)

@pawelswiszcz
Copy link

Works Manjaro gnome 45

Thanks for your work 👍

@ArtyIF
Copy link

ArtyIF commented Jan 12, 2024

gicmo (the owner of this repository) seems to have been inactive for a while

@yonkersthecat
Copy link

I have been porting the extension to gnome-shell 45:

https://github.com/fjsevilla-dev/gamemode-extension/tree/gnome_shell_45

If anyone wants to install and test it just follow the installation instructions from sources but change the repo:

git clone --branch gnome_shell_45 https://github.com/fjsevilla-dev/gamemode-extension.git
cd gamemode-extension
./make-zip.sh install

Remember that you need to have meson, ninja and jq installed on your system to build from source.

I've preferred to keep everything in my fork for now, given the depth of the changes and the fact that it breaks backwards compatibility by using ECMAScript modules and import/export keywords, at least until I know @gicmo opinion and preferences for handling this.

What is usually done is to maintain two separate branches, one for gnome <=44 and one for Gnome >= 45. When updating the extension on extensions.gnome.org it is necessary to upload two different versions of the extension as well if support for Gnome < 45 is desired.

Apart from porting the code to make it compatible with gnome 45, since backwards compatibility is broken anyway, I have taken the opportunity to make some other changes:

* Removed code intended to maintain backwards compatibility with versions prior to 45.

* The use of some modules, such as `Signals`, has been replaced by more up-to-date alternatives.

* Use of constructor and static blocks for gtype register.

I have tested on Arch with Gnome-45-beta-1 (FGGU repos) and on Gentoo on the unstable branch using the Gnome-45 packages (gnome-shell 45-beta-1 and gjs 1.77.1) and everything seems to work correctly.

I got this working on Fedora 39 just by git clone --branch gnome_shell_45 https://github.com/fjsevilla-dev/gamemode-extension.git and rebooting. Not sure how it is functioning properly without running ./make-zip.sh install , but I am not complaining. Thank you.

@LFd3v
Copy link

LFd3v commented Mar 25, 2024

I have been porting the extension to gnome-shell 45
#70 (comment)

I just wanted to add that it also works with GNOME 46, one just needs to add the new version to metadata.json:

  "shell-version": ["45", "46"],

Good job, and thank you.

@fjsevilla-dev
Copy link
Collaborator

I have been porting the extension to gnome-shell 45
#70 (comment)

I just wanted to add that it also works with GNOME 46, one just needs to add the new version to metadata.json:

  "shell-version": ["45", "46"],

Good job, and thank you.

Indeed Gnome 46 does not require changes, I've been using it since the first beta and everything seems to work fine. I know it's rare that something doesn't break with each new version but sometimes it happens.... :)

I have added the version to metadata.json in my fork branch, so it should be installed following the same instructions in Gnome 46 now.

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

8 participants