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(); }