[gnome-shell-extensions/wip/fmuellner/fix-windows-navigator: 2/2] cleanup: Use an extension object instead of globals



commit b3a5e31f282c6d76336ff1d7f8ba14e7c8345d76
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed Mar 20 08:59:09 2019 +0000

    cleanup: Use an extension object instead of globals
    
    https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/143

 extensions/windowsNavigator/extension.js | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)
---
diff --git a/extensions/windowsNavigator/extension.js b/extensions/windowsNavigator/extension.js
index c42dbbf..04a3c2a 100644
--- a/extensions/windowsNavigator/extension.js
+++ b/extensions/windowsNavigator/extension.js
@@ -239,22 +239,26 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
     }
 };
 
-let origWindowOverlay, origWorkspace, origWorkspacesView;
+class Extension {
+    constructor() {
+        this._origWindowOverlay = Workspace.WindowOverlay
+        this._origWorkspace = Workspace.Workspace;
+        this._origWorkspacesView = WorkspacesView.WorkspacesView;
+    }
 
-function init() {
-    origWindowOverlay = Workspace.WindowOverlay
-    origWorkspace = Workspace.Workspace;
-    origWorkspacesView = WorkspacesView.WorkspacesView;
-}
+    enable() {
+        Workspace.WindowOverlay = MyWindowOverlay;
+        Workspace.Workspace = MyWorkspace;
+        WorkspacesView.WorkspacesView = MyWorkspacesView;
+    }
 
-function enable() {
-    Workspace.WindowOverlay = MyWindowOverlay;
-    Workspace.Workspace = MyWorkspace;
-    WorkspacesView.WorkspacesView = MyWorkspacesView;
+    disable() {
+        Workspace.WindowOverlay = this._origWindowOverlay;
+        Workspace.Workspace = this._origWorkspace;
+        WorkspacesView.WorkspacesView = this._origWorkspacesView;
+    }
 }
 
-function disable() {
-    Workspace.WindowOverlay = origWindowOverlay;
-    Workspace.Workspace = origWorkspace;
-    WorkspacesView.WorkspacesView = origWorkspacesView;
+function init() {
+    return new Extension();
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]