diff --git a/js/ui/layout.js b/js/ui/layout.js index 3dc7466b5..20696ae90 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 41e06cec1..f34b3f531 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,