From 4d8b071804d73b7a733f2b7696fde40caf8800bb Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 8 Apr 2024 18:02:53 +0200 Subject: Updating 44/vertical-workspaces to version 37+20231208 [0d82192]. Signed-off-by: Daniel Baumann --- .../44/vertical-workspaces/lib/appFavorites.js | 72 ++++++++++++++-------- 1 file changed, 45 insertions(+), 27 deletions(-) (limited to 'extensions/44/vertical-workspaces/lib/appFavorites.js') diff --git a/extensions/44/vertical-workspaces/lib/appFavorites.js b/extensions/44/vertical-workspaces/lib/appFavorites.js index 50ebce9..3efb68c 100644 --- a/extensions/44/vertical-workspaces/lib/appFavorites.js +++ b/extensions/44/vertical-workspaces/lib/appFavorites.js @@ -10,45 +10,63 @@ 'use strict'; -const { Shell } = imports.gi; const AppFavorites = imports.ui.appFavorites; -const Main = imports.ui.main; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const _Util = Me.imports.lib.util; +let Me; let opt; -let _overrides; -let _firstRun = true; -function update(reset = false) { - opt = Me.imports.lib.settings.opt; - const moduleEnabled = opt.get('appFavoritesModule', true); - reset = reset || !moduleEnabled; +var AppFavoritesModule = class { + constructor(me) { + Me = me; + opt = Me.opt; - // don't even touch this module if disabled - if (_firstRun && reset) - return; + this._firstActivation = true; + this.moduleEnabled = false; + this._overrides = null; + } - _firstRun = false; + cleanGlobals() { + Me = null; + opt = null; + } - if (_overrides) - _overrides.removeAll(); + update(reset) { + this.moduleEnabled = opt.get('appFavoritesModule'); + // if notifications are enabled no override is needed + reset = reset || !this.moduleEnabled || opt.SHOW_FAV_NOTIFICATION; - // if notifications are enabled no override is needed - if (reset || opt.SHOW_FAV_NOTIFICATION) { - _overrides = null; - opt = null; - return; + // don't touch original code if module disabled + if (reset && !this._firstActivation) { + this._disableModule(); + } else if (!reset) { + this._firstActivation = false; + this._activateModule(); + } + if (reset && this._firstActivation) { + this.moduleEnabled = false; + console.debug(' AppFavoritesModule - Keeping untouched'); + } } - _overrides = new _Util.Overrides(); + _activateModule() { + if (!this._overrides) + this._overrides = new Me.Util.Overrides(); + + // use actual instance instead of prototype + this._overrides.addOverride('AppFavorites', AppFavorites.getAppFavorites(), AppFavoritesCommon); - // AppFavorites.AppFavorites is const, first access returns undefined - const dummy = AppFavorites.AppFavorites; - _overrides.addOverride('AppFavorites', AppFavorites.AppFavorites.prototype, AppFavoritesCommon); -} + console.debug(' AppFavoritesModule - Activated'); + } + + _disableModule() { + if (this._overrides) + this._overrides.removeAll(); + this._overrides = null; + + console.debug(' AppFavoritesModule - Deactivated'); + } +}; const AppFavoritesCommon = { addFavoriteAtPos(appId, pos) { -- cgit v1.2.3