[gnome-shell/eos3.8: 60/255] viewSelector: Don't show the workspacesDisplay actor when starting up



commit fb4f394f75d6e9bfe98e16338d44d209f5e240a0
Author: Mario Sanchez Prada <mario endlessm com>
Date:   Thu Feb 15 15:32:42 2018 +0000

    viewSelector: Don't show the workspacesDisplay actor when starting up
    
    We're always starting up to the APPS page, and making the workspacesDisplay
    visible when starting up would cause its actor to intercept Clutter 'picks'
    intended for the grid unless it gets hidden first.
    
    Since we're not interested in showing the Window picker on start up, just
    avoid showing the workspacesDisplay actor when starting up to prevent this.
    
    https://phabricator.endlessm.com/T19869

 js/ui/layout.js       | 4 ++++
 js/ui/viewSelector.js | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 9ff28c50b9..d961f1d8c1 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -1159,6 +1159,10 @@ var LayoutManager = GObject.registerClass({
         // so queue an update now.
         this._queueUpdateRegions();
     }
+
+    get startingUp() {
+        return this._startingUp;
+    }
 });
 
 
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index 46d6268a6e..4678afb11e 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -269,7 +269,12 @@ var ViewSelector = GObject.registerClass({
 
     show(viewPage) {
         this.reset();
-        this._workspacesDisplay.show(true);
+
+        // We're always starting up to the APPS page, so avoid making the workspacesDisplay
+        // (used for the Windows picker) visible to prevent situations where that actor
+        // would intercept clicks meant for the desktop's icons grid.
+        if (!Main.layoutManager.startingUp)
+            this._workspacesDisplay.show(true);
 
         this._showPage(this._pageFromViewPage(viewPage));
     }


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