[gnome-shell/wip/overview-transition: 10/11] screenShield: Don't hide windows until we've fully locked the shield



commit 95639a3dab3e4636f7cd7daafab24926a317d21e
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jan 13 13:38:45 2014 -0500

    screenShield: Don't hide windows until we've fully locked the shield
    
    Revert the commit that ties hasWindows to the session mode, as we
    need to do the "transition" manually. Instead, show/hide the
    sessionGroup ourselves.
    
    For optimization purposes, we also need to hide the window groups
    when in the overview. Ideally, these would be culled out by Clutter,
    but they are not from experimentation.

 js/ui/layout.js       |    9 ++++++---
 js/ui/screenShield.js |    6 +++++-
 2 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/layout.js b/js/ui/layout.js
index e1b46f8..4afcee9 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -278,6 +278,9 @@ const LayoutManager = new Lang.Class({
         this._inOverview = true;
         this._updateVisibility();
         this._updateRegions();
+
+        global.window_group.hide();
+        global.top_window_group.hide();
     },
 
     hideOverview: function() {
@@ -286,6 +289,9 @@ const LayoutManager = new Lang.Class({
         this._inOverview = false;
         this._updateVisibility();
         this._queueUpdateRegions();
+
+        global.window_group.show();
+        global.top_window_group.show();
     },
 
     _sessionUpdated: function() {
@@ -856,9 +862,6 @@ const LayoutManager = new Lang.Class({
     _updateVisibility: function() {
         let windowsVisible = Main.sessionMode.hasWindows && !this._inOverview;
 
-        global.window_group.visible = windowsVisible;
-        global.top_window_group.visible = windowsVisible;
-
         for (let i = 0; i < this._trackedActors.length; i++) {
             let actorData = this._trackedActors[i], visible;
             if (!actorData.trackFullscreen)
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index d093b8a..654ffb3 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -1009,6 +1009,7 @@ const ScreenShield = new Lang.Class({
             return;
 
         this._ensureLockScreen();
+        this._lockDialogGroup.hide();
         this._lockDialogGroup.scale_x = 1;
         this._lockDialogGroup.scale_y = 1;
 
@@ -1107,8 +1108,10 @@ const ScreenShield = new Lang.Class({
         }));
         this._cursorTracker.set_pointer_visible(false);
 
-        this._lockScreenState = MessageTray.State.SHOWN;
+        this._lockDialogGroup.show();
         this._lockScreenGroup.fixed_position_set = false;
+        this._lockScreenState = MessageTray.State.SHOWN;
+        Main.layoutManager.sessionGroup.hide();
         this._lockScreenScrollCounter = 0;
 
         if (params.fadeToBlack && params.animateFade) {
@@ -1235,6 +1238,7 @@ const ScreenShield = new Lang.Class({
             this._isModal = false;
         }
 
+        Main.layoutManager.sessionGroup.show();
         Tweener.addTween(this._lockDialogGroup, {
             scale_x: 0,
             scale_y: 0,


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