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



commit a7d7f948924a312638d4f503c00a362b6367b785
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 3dc7466..20696ae 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -280,6 +280,9 @@ const LayoutManager = new Lang.Class({
         this._inOverview = true;
         this._updateVisibility();
         this._updateRegions();
+
+        global.window_group.hide();
+        global.top_window_group.hide();
     },
 
     hideOverview: function() {
@@ -288,6 +291,9 @@ const LayoutManager = new Lang.Class({
         this._inOverview = false;
         this._updateVisibility();
         this._queueUpdateRegions();
+
+        global.window_group.show();
+        global.top_window_group.show();
     },
 
     _sessionUpdated: function() {
@@ -858,9 +864,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 41e06ce..f34b3f5 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -1008,6 +1008,7 @@ const ScreenShield = new Lang.Class({
             return;
 
         this._ensureLockScreen();
+        this._lockDialogGroup.hide();
         this._lockDialogGroup.scale_x = 1;
         this._lockDialogGroup.scale_y = 1;
 
@@ -1106,8 +1107,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) {
@@ -1234,6 +1237,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]