Reset monitors-changed signal on reload

This commit is contained in:
Tor Hedin Brønner
2017-12-06 12:30:10 +01:00
parent 984791d6b7
commit 15e7f470cb
+11 -10
View File
@@ -34,11 +34,6 @@ const StackOverlay = Extension.imports.stackoverlay;
var focus_signal = Symbol();
var primary = Main.layoutManager.primaryMonitor;
//: [object Monitor]
// Reset primary when monitors change
global.screen.connect("monitors-changed", function(screen) {
primary = Main.layoutManager.primaryMonitor;
})
var panelBox = Main.layoutManager.panelBox;
@@ -1017,11 +1012,8 @@ function cycleWindowWidth(metaWindow) {
delete metaWindow.unmaximized_rect;
}
let nWorkspacesSignal;
let workspaceRemovedSignal;
let windowCreatedSignal;
var panelBoxShowId;
var panelBoxHideId;
var nWorkspacesSignal, workspaceRemovedSignal, windowCreatedSignal;
var panelBoxShowId, panelBoxHideId, monitorsChangedId;
function enable () {
nWorkspacesSignal =
global.screen.connect('notify::n-workspaces',
@@ -1035,6 +1027,13 @@ function enable () {
global.display.connect('window-created',
utils.dynamic_function_ref('window_created', spaces));
// Reset primary when monitors change
monitorsChangedId = global.screen.connect(
"monitors-changed",
function(screen) {
primary = Main.layoutManager.primaryMonitor;
});
panelBoxShowId = panelBox.connect('show', showPanelBox);
panelBoxHideId = panelBox.connect('hide', hidePanelBox);
}
@@ -1059,6 +1058,8 @@ function disable () {
spaces.removeSpace(spaces._spaces[workspace]);
}
global.screen.disconnect(monitorsChangedId);
panelBox.scale_y = 1;
panelBox.disconnect(panelBoxShowId);
panelBox.disconnect(panelBoxHideId);