[gnome-shell/T27795: 73/138] viewSelector: Don't show the workspacesDisplay actor when starting up



commit e504aad4915fa068ecb35e5dd2a49a64cbb6be07
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 cfbb0234ca..f57011a2a6 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -1029,6 +1029,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 a886fa7b1a..a91dfca28d 100644
--- a/js/ui/viewSelector.js
+++ b/js/ui/viewSelector.js
@@ -265,7 +265,12 @@ var ViewSelector = class {
 
     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]