diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:09 +0000 |
commit | 7f9c96a5a1e619c03bf81c8b3783703b780edaf4 (patch) | |
tree | ba7cd337e9890761eb7b30f97e19a37db15de4c4 /extensions/vertical-workspaces/lib/appFavorites.js | |
parent | Adding upstream version 20230205. (diff) | |
download | gnome-shell-extensions-extra-7f9c96a5a1e619c03bf81c8b3783703b780edaf4.tar.xz gnome-shell-extensions-extra-7f9c96a5a1e619c03bf81c8b3783703b780edaf4.zip |
Adding upstream version 20230618.upstream/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); + }, +}; |