diff --git a/.gitignore b/.gitignore index c823996..f77da7d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /gnome-shell-40.0.tar.xz /gnome-shell-41.rc.tar.xz /gnome-shell-42.beta.tar.xz +/gnome-shell-42.0.tar.xz diff --git a/0001-extensions-app-Add-compatibility-with-GNOME-3.34.patch b/0001-extensions-app-Add-compatibility-with-GNOME-3.34.patch deleted file mode 100644 index 173bcf5..0000000 --- a/0001-extensions-app-Add-compatibility-with-GNOME-3.34.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 42d5ff3ec2d18d7239eac8a6ce0544d4f69efab3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Tue, 31 Mar 2020 19:53:50 +0200 -Subject: [PATCH] extensions-app: Add compatibility with GNOME 3.34 - -We are currently relying on 3.36 changes: - - - the addition of the UserExtensionsEnabled property - - - the separate org.gnome.Shell.Extensions name to expose - the interface - -In order to work with the previous stable release as well, we can -fall back to connecting to gnome-shell itself and changing the -underlying GSettings directly. ---- - subprojects/extensions-app/data/meson.build | 2 + - .../data/org.gnome.Extensions.gschema.xml | 12 +++++ - subprojects/extensions-app/js/main.js | 47 +++++++++++++++---- - subprojects/extensions-app/meson.build | 1 + - 4 files changed, 54 insertions(+), 8 deletions(-) - create mode 100644 subprojects/extensions-app/data/org.gnome.Extensions.gschema.xml - -diff --git a/subprojects/extensions-app/data/meson.build b/subprojects/extensions-app/data/meson.build -index 0568fafc8..e9399e3b6 100644 ---- a/subprojects/extensions-app/data/meson.build -+++ b/subprojects/extensions-app/data/meson.build -@@ -33,5 +33,7 @@ configure_file( - install_dir: servicedir, - ) - -+install_data(app_id + '.gschema.xml', install_dir: schemadir) -+ - subdir('icons') - subdir('metainfo') -diff --git a/subprojects/extensions-app/data/org.gnome.Extensions.gschema.xml b/subprojects/extensions-app/data/org.gnome.Extensions.gschema.xml -new file mode 100644 -index 000000000..d70d4bd4c ---- /dev/null -+++ b/subprojects/extensions-app/data/org.gnome.Extensions.gschema.xml -@@ -0,0 +1,12 @@ -+ -+ -+ -+ false -+ Disable user extensions -+ -+ Disable all extensions the user has enabled without affecting -+ the “enabled-extension” setting. -+ -+ -+ -+ -diff --git a/subprojects/extensions-app/js/main.js b/subprojects/extensions-app/js/main.js -index d25df9c57..f5ac2e564 100644 ---- a/subprojects/extensions-app/js/main.js -+++ b/subprojects/extensions-app/js/main.js -@@ -47,6 +47,10 @@ class Application extends Gtk.Application { - return this._shellProxy; - } - -+ get legacyMode() { -+ return this._legacyMode; -+ } -+ - vfunc_activate() { - this._shellProxy.CheckForUpdatesRemote(); - this._window.present(); -@@ -69,6 +73,13 @@ class Application extends Gtk.Application { - this._shellProxy = new GnomeShellProxy(Gio.DBus.session, - 'org.gnome.Shell.Extensions', '/org/gnome/Shell/Extensions'); - -+ this._legacyMode = this._shellProxy.g_name_owner === null; -+ -+ if (this._legacyMode) { -+ this._shellProxy = new GnomeShellProxy(Gio.DBus.session, -+ 'org.gnome.Shell', '/org/gnome/Shell'); -+ } -+ - this._window = new ExtensionsWindow({ application: this }); - } - }); -@@ -89,6 +100,10 @@ var ExtensionsWindow = GObject.registerClass({ - _init(params) { - super._init(params); - -+ this._settings = this.application.legacyMode -+ ? new Gio.Settings({ schema_id: 'org.gnome.shell' }) -+ : null; -+ - this._updatesCheckId = 0; - - this._exporter = new Shew.WindowExporter({ window: this }); -@@ -111,7 +126,12 @@ var ExtensionsWindow = GObject.registerClass({ - }); - action.connect('activate', toggleState); - action.connect('change-state', (a, state) => { -- this._shellProxy.UserExtensionsEnabled = state.get_boolean(); -+ const value = state.get_boolean(); -+ -+ if (this._settings) -+ this._settings.set_boolean('disable-user-extensions', !value); -+ else -+ this._shellProxy.UserExtensionsEnabled = value; - }); - this.add_action(action); - -@@ -124,8 +144,13 @@ var ExtensionsWindow = GObject.registerClass({ - this._shellProxy.connectSignal('ExtensionStateChanged', - this._onExtensionStateChanged.bind(this)); - -- this._shellProxy.connect('g-properties-changed', -- this._onUserExtensionsEnabledChanged.bind(this)); -+ if (this._settings) { -+ this._settings.connect('changed::disable-user-extensions', -+ this._onUserExtensionsEnabledChanged.bind(this)); -+ } else { -+ this._shellProxy.connect('g-properties-changed', -+ this._onUserExtensionsEnabledChanged.bind(this)); -+ } - this._onUserExtensionsEnabledChanged(); - - this._scanExtensions(); -@@ -166,9 +191,13 @@ var ExtensionsWindow = GObject.registerClass({ - } - } - -- this._shellProxy.OpenExtensionPrefsRemote(uuid, -- this._exportedHandle, -- { modal: new GLib.Variant('b', true) }); -+ if (this.application.legacyMode) { -+ this._shellProxy.LaunchExtensionPrefsRemote(uuid); -+ } else { -+ this._shellProxy.OpenExtensionPrefsRemote(uuid, -+ this._exportedHandle, -+ { modal: new GLib.Variant('b', true) }); -+ } - } - - _showAbout() { -@@ -228,8 +257,10 @@ var ExtensionsWindow = GObject.registerClass({ - - _onUserExtensionsEnabledChanged() { - let action = this.lookup_action('user-extensions-enabled'); -- action.set_state( -- new GLib.Variant('b', this._shellProxy.UserExtensionsEnabled)); -+ const newState = this._settings -+ ? !this._settings.get_boolean('disable-user-extensions') -+ : this._shellProxy.UserExtensionsEnabled; -+ action.set_state(new GLib.Variant('b', newState)); - } - - _onExtensionStateChanged(proxy, senderName, [uuid, newState]) { -diff --git a/subprojects/extensions-app/meson.build b/subprojects/extensions-app/meson.build -index 88536236a..ebf3da942 100644 ---- a/subprojects/extensions-app/meson.build -+++ b/subprojects/extensions-app/meson.build -@@ -34,6 +34,7 @@ icondir = join_paths(datadir, 'icons') - localedir = join_paths(datadir, 'locale') - metainfodir = join_paths(datadir, 'metainfo') - servicedir = join_paths(datadir, 'dbus-1', 'services') -+schemadir = join_paths(datadir, 'glib-2.0', 'schemas') - - gjs = find_program('gjs') - appstream_util = find_program('appstream-util', required: false) --- -2.25.1 - diff --git a/gnome-extensions-app.spec b/gnome-extensions-app.spec index f85296b..ce3d5e4 100644 --- a/gnome-extensions-app.spec +++ b/gnome-extensions-app.spec @@ -3,7 +3,7 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-extensions-app -Version: 42~beta +Version: 42.0 Release: 1%{?dist} Summary: Manage GNOME Shell extensions @@ -77,6 +77,9 @@ rm -rf %{buildroot}/%{_datadir}/%{name}/gir-1.0 %changelog +* Sun Mar 20 2022 Florian Müllner - 42.0-1 +- Update to 42.0 + * Tue Feb 15 2022 Florian Müllner - 42~beta-1 - Update to 42.beta diff --git a/sources b/sources index 337025d..e4de46f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-42.beta.tar.xz) = 0f50f7e3f695e37a41f14847372e69dae5b995b46c842f38f2420e5c6ee62cb7897e0c67ce5ba26416e9c7050441213a4905d1e13036606f84a11c243132111f +SHA512 (gnome-shell-42.0.tar.xz) = 39b56d3c09a238d9ca387145fdbddfaa929b124d4006f097b792de2dceb882e50cbce1255b0b4585aea04b522a92a4e7a743367f43a863f95bb6386401e73935