gicmo / gamemode-extension

GNOME Shell extension for Feral Interactive's GameMode
GNU Lesser General Public License v2.1
148 stars 17 forks source link

GNOME 45 support #70

Open yochananmarqos opened 10 months ago

yochananmarqos commented 10 months ago

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 commented 10 months ago

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:

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 commented 9 months ago

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 :+1:

BloodyIron commented 8 months ago

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 commented 7 months ago

Works Manjaro gnome 45

Thanks for your work 👍

ArtyIF commented 5 months ago

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

yonkersthecat commented 5 months ago

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 commented 3 months ago

I have been porting the extension to gnome-shell 45 https://github.com/gicmo/gamemode-extension/issues/70#issuecomment-1693012851

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 commented 3 months ago

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.

rivenirvana commented 3 weeks ago

Someone else uploaded a similar extension on EGO that works on 45 and 46: https://extensions.gnome.org/extension/7074/gamemode-shell-extension/