summaryrefslogtreecommitdiffstats
path: root/extensions/44/vertical-workspaces/lib/workspace.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--extensions/44/vertical-workspaces/lib/workspace.js (renamed from extensions/vertical-workspaces/lib/workspace.js)75
1 files changed, 46 insertions, 29 deletions
diff --git a/extensions/vertical-workspaces/lib/workspace.js b/extensions/44/vertical-workspaces/lib/workspace.js
index 3b61a6d..be60403 100644
--- a/extensions/vertical-workspaces/lib/workspace.js
+++ b/extensions/44/vertical-workspaces/lib/workspace.js
@@ -10,51 +10,68 @@
'use strict';
-const { St, Graphene } = imports.gi;
+const Graphene = imports.gi.Graphene;
+const St = imports.gi.St;
const Main = imports.ui.main;
-const Util = imports.misc.util;
const Workspace = imports.ui.workspace;
+const Util = imports.misc.util;
-const ExtensionUtils = imports.misc.extensionUtils;
-const Me = ExtensionUtils.getCurrentExtension();
-
-const _Util = Me.imports.lib.util;
-
-let _overrides;
+let Me;
let opt;
-let _firstRun = true;
-function update(reset = false) {
- opt = Me.imports.lib.settings.opt;
- const moduleEnabled = opt.get('workspaceModule', true);
- reset = reset || !moduleEnabled;
+var WorkspaceModule = 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('workspaceModule');
+ const conflict = false;
+ reset = reset || !this.moduleEnabled || conflict;
- if (reset) {
- Workspace.WINDOW_PREVIEW_MAXIMUM_SCALE = 0.95;
- _overrides = null;
- opt = null;
- return;
+ // don't touch the original code if module disabled
+ if (reset && !this._firstActivation) {
+ this._disableModule();
+ } else if (!reset) {
+ this._firstActivation = false;
+ this._activateModule();
+ }
+ if (reset && this._firstActivation)
+ console.debug(' WorkspaceModule - Keeping untouched');
}
- _overrides = new _Util.Overrides();
+ _activateModule() {
+ if (!this._overrides)
+ this._overrides = new Me.Util.Overrides();
- _overrides.addOverride('WorkspaceBackground', Workspace.WorkspaceBackground.prototype, WorkspaceBackground);
+ this._overrides.addOverride('WorkspaceBackground', Workspace.WorkspaceBackground.prototype, WorkspaceBackground);
- // fix overlay base for Vertical Workspaces
- _overrides.addOverride('WorkspaceLayout', Workspace.WorkspaceLayout.prototype, WorkspaceLayout);
-}
+ // fix overlay base for Vertical Workspaces
+ this._overrides.addOverride('WorkspaceLayout', Workspace.WorkspaceLayout.prototype, WorkspaceLayout);
+ console.debug(' WorkspaceModule - Activated');
+ }
+ _disableModule() {
+ if (this._overrides)
+ this._overrides.removeAll();
+ this._overrides = null;
+ Workspace.WINDOW_PREVIEW_MAXIMUM_SCALE = 0.95;
+
+ console.debug(' WorkspaceModule - Disabled');
+ }
+};
// workaround for upstream bug (that is not that invisible in default shell)
// smaller window cannot be scaled below 0.95 (WINDOW_PREVIEW_MAXIMUM_SCALE)