[gnome-shell/gbsneto/post-generic-container-fixups: 10/10] switcherPopup: Bind to the stage, not the monitor



commit c0b561dd4af184893d838f13b2fe7782bc502827
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Oct 10 17:46:26 2018 -0300

    switcherPopup: Bind to the stage, not the monitor
    
    The switcher popup is a large, mostly transparent actor that
    should cover all the clickable area of GNOME Shell. In Clutter
    terms, it should cover the whole stage.
    
    By binding it to the primary monitor, the Alt+Tab behavior
    becomes a bit inconsistent. For example, by not hiding when
    clicking at empty spaces at other monitors.
    
    Fix that by binding the SwitcherPopup to the whole stage,
    and not only the primary monitor.
    
    Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/647

 js/ui/switcherPopup.js | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js
index 537a6af0c..1bef1af70 100644
--- a/js/ui/switcherPopup.js
+++ b/js/ui/switcherPopup.js
@@ -11,7 +11,6 @@ const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 const St = imports.gi.St;
 
-const Layout = imports.ui.layout;
 const Main = imports.ui.main;
 const Tweener = imports.ui.tweener;
 
@@ -65,7 +64,10 @@ var SwitcherPopup = new Lang.Class({
         this._initialDelayTimeoutId = 0;
         this._noModsTimeoutId = 0;
 
-        this.add_constraint(new Layout.MonitorConstraint({ primary: true }));
+        this.add_constraint(new Clutter.BindConstraint({
+            source: global.stage,
+            coordinate: Clutter.BindCoordinate.ALL,
+        }));
 
         // Initially disable hover so we ignore the enter-event if
         // the switcher appears underneath the current pointer location


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]