extensions: Allow updating with only extension-manager installed

GNOME Shell will only update extensions if the org.gnome.Extensions
app is present. This commit adds alternative support for
com.mattjakeman.ExtensionManager to the extension updating mechanism.

It enables updates to occur when extension-manager is the sole installed
tool on the system. When both applications are installed,
org.gnome.Extensions is preferred at all times.

Fixes #5564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2358>
This commit is contained in:
Matthew Jakeman 2022-07-01 23:24:08 +12:00 committed by Marge Bot
parent 06d17d6d67
commit 789e1b288a

View File

@ -65,7 +65,8 @@ var ExtensionManager = class extends Signals.EventEmitter {
get updatesSupported() { get updatesSupported() {
const appSys = Shell.AppSystem.get_default(); const appSys = Shell.AppSystem.get_default();
return appSys.lookup_app('org.gnome.Extensions.desktop') !== null; return (appSys.lookup_app('org.gnome.Extensions.desktop') !== null) ||
(appSys.lookup_app('com.mattjakeman.ExtensionManager.desktop') !== null);
} }
lookup(uuid) { lookup(uuid) {
@ -663,6 +664,8 @@ class ExtensionUpdateSource extends MessageTray.Source {
_init() { _init() {
let appSys = Shell.AppSystem.get_default(); let appSys = Shell.AppSystem.get_default();
this._app = appSys.lookup_app('org.gnome.Extensions.desktop'); this._app = appSys.lookup_app('org.gnome.Extensions.desktop');
if (!this._app)
this._app = appSys.lookup_app('com.mattjakeman.ExtensionManager.desktop');
super._init(this._app.get_name()); super._init(this._app.get_name());
} }