From 3671d5a299ca8b42538ce9b09d857b950aa29ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 Mar 2019 08:59:09 +0000 Subject: [PATCH] cleanup: Use an extension object instead of globals https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/143 --- extensions/windowsNavigator/extension.js | 38 +++++++++++++----------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/extensions/windowsNavigator/extension.js b/extensions/windowsNavigator/extension.js index 831258a6..05d29652 100644 --- a/extensions/windowsNavigator/extension.js +++ b/extensions/windowsNavigator/extension.js @@ -1,5 +1,5 @@ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ -/* exported init enable disable */ +/* exported init */ const { Clutter, St } = imports.gi; const Main = imports.ui.main; @@ -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; + } + + enable() { + Workspace.WindowOverlay = MyWindowOverlay; + Workspace.Workspace = MyWorkspace; + WorkspacesView.WorkspacesView = MyWorkspacesView; + } + + disable() { + Workspace.WindowOverlay = this._origWindowOverlay; + Workspace.Workspace = this._origWorkspace; + WorkspacesView.WorkspacesView = this._origWorkspacesView; + } +} function init() { - origWindowOverlay = Workspace.WindowOverlay; - origWorkspace = Workspace.Workspace; - origWorkspacesView = WorkspacesView.WorkspacesView; -} - -function enable() { - Workspace.WindowOverlay = MyWindowOverlay; - Workspace.Workspace = MyWorkspace; - WorkspacesView.WorkspacesView = MyWorkspacesView; -} - -function disable() { - Workspace.WindowOverlay = origWindowOverlay; - Workspace.Workspace = origWorkspace; - WorkspacesView.WorkspacesView = origWorkspacesView; + return new Extension(); }