[gnome-shell/wip/overview-transition: 10/11] screenShield: Don't hide windows until we've fully locked the shield
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/overview-transition: 10/11] screenShield: Don't hide windows until we've fully locked the shield
- Date: Tue, 14 Jan 2014 20:29:51 +0000 (UTC)
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]