diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:38 +0000 |
commit | a2afeba6545be9307f6505fd7a29375e89a9075e (patch) | |
tree | c598c70f26a350073352322c6d2d4da6952945fa /extensions/vertical-workspaces/lib/appFavorites.js | |
parent | Releasing debian version 20230205-2. (diff) | |
download | gnome-shell-extensions-extra-a2afeba6545be9307f6505fd7a29375e89a9075e.tar.xz gnome-shell-extensions-extra-a2afeba6545be9307f6505fd7a29375e89a9075e.zip |
Merging upstream version 20230618.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'extensions/vertical-workspaces/lib/appFavorites.js')
-rw-r--r-- | extensions/vertical-workspaces/lib/appFavorites.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/extensions/vertical-workspaces/lib/appFavorites.js b/extensions/vertical-workspaces/lib/appFavorites.js new file mode 100644 index 0000000..50ebce9 --- /dev/null +++ b/extensions/vertical-workspaces/lib/appFavorites.js @@ -0,0 +1,61 @@ +/** + * V-Shell (Vertical Workspaces) + * appFavorites.js + * + * @author GdH <G-dH@github.com> + * @copyright 2022 - 2023 + * @license GPL-3.0 + * + */ + +'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 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; + + // don't even touch this module if disabled + if (_firstRun && reset) + return; + + _firstRun = false; + + if (_overrides) + _overrides.removeAll(); + + + // if notifications are enabled no override is needed + if (reset || opt.SHOW_FAV_NOTIFICATION) { + _overrides = null; + opt = null; + return; + } + + _overrides = new _Util.Overrides(); + + // AppFavorites.AppFavorites is const, first access returns undefined + const dummy = AppFavorites.AppFavorites; + _overrides.addOverride('AppFavorites', AppFavorites.AppFavorites.prototype, AppFavoritesCommon); +} + +const AppFavoritesCommon = { + addFavoriteAtPos(appId, pos) { + this._addFavorite(appId, pos); + }, + + removeFavorite(appId) { + this._removeFavorite(appId); + }, +}; |