Activate click overlays on startup/monitors-changed

We separate resetting the tiling overlay and activating/deactivating the monitor
click overlay.
This commit is contained in:
Tor Hedin Brønner
2018-04-26 14:46:18 +02:00
parent ffe533a172
commit c83f9590b0
2 changed files with 8 additions and 2 deletions

View File

@@ -72,7 +72,7 @@ class ClickOverlay {
this.enterSignal = enterMonitor.connect(
'enter-event', () => {
this.reset();
this.deactivate();
let space = Tiling.spaces.monitors.get(this.monitor);
space.workspace.activate(global.get_current_time());
return Clutter.EVENT_STOP;
@@ -86,10 +86,13 @@ class ClickOverlay {
this.enterMonitor.set_size(monitor.width, monitor.height);
}
deactivate() {
this.enterMonitor.set_size(0, 0);
}
reset() {
this.left.setTarget(null);
this.right.setTarget(null);
this.enterMonitor.set_size(0, 0);
}
destroy() {

View File

@@ -340,6 +340,7 @@ class Spaces extends Map {
for (let monitor of Main.layoutManager.monitors) {
let overlay = new ClickOverlay(monitor);
monitor.clickOverlay = overlay;
overlay.activate();
this.clickOverlays.push(overlay);
}
@@ -568,6 +569,8 @@ function enable() {
let toSpace = spaces.spaceOf(to);
spaces.monitors.set(toSpace.monitor, toSpace);
toSpace.monitor.clickOverlay.deactivate();
let display = Gdk.Display.get_default();
let deviceManager = display.get_device_manager();
let pointer = deviceManager.get_client_pointer();