From 0c7f454878635ee1dfeebbdf9b1767562104ea60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Thu, 12 Apr 2018 17:01:15 +0200 Subject: [PATCH] topbar: Refactor signal tracking --- topbar.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/topbar.js b/topbar.js index 2f273b9..7fecdeb 100644 --- a/topbar.js +++ b/topbar.js @@ -12,18 +12,20 @@ const Tiling = Extension.imports.tiling; var panelBox = Main.layoutManager.panelBox; var orginalActivitiesText; +var screenSignals; function init () { let label = Main.panel.statusArea.activities.actor.first_child; orginalActivitiesText = label.text; + screenSignals = []; } -var updateIndicatorSignal, panelBoxShowId, panelBoxHideId; +var panelBoxShowId, panelBoxHideId; function enable () { - updateIndicatorSignal = + screenSignals.push( global.screen.connect_after('workspace-switched', (screen, from, to) => { updateWorkspaceIndicator(to); - }); + })); panelBoxShowId = panelBox.connect('show', show); panelBoxHideId = panelBox.connect('hide', () => { @@ -39,7 +41,9 @@ function enable () { } function disable () { - global.screen.disconnect(updateIndicatorSignal); + screenSignals.forEach(id => global.screen.disconnect(id)); + screenSignals = []; + setWorkspaceName(orginalActivitiesText); panelBox.scale_y = 1;