From b6bf8d5b2d67c152496570ba920c5a5f75b3160d Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Thu, 28 Feb 2013 23:17:47 +0100 Subject: [PATCH] Layout: don't minimize fullscreen windows that are focused Windows can sometimes be focused, or appear to be focused, without being at the exact top of the stack, for example in the case of override-redirect windows, or with attached modal dialogs. In that case, we should not try to minimize them (as it creates a loop that makes it impossible to restore the window) https://bugzilla.gnome.org/show_bug.cgi?id=694905 --- js/ui/layout.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ui/layout.js b/js/ui/layout.js index 8fdf57a7d..8fe1eb7d3 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -923,7 +923,7 @@ const LayoutManager = new Lang.Class({ if (primaryWasInFullscreen != this.primaryMonitor.inFullscreen) { let windows = this._getWindowActorsForWorkspace(global.screen.get_active_workspace()); - for (let i = 0; i < windows.length - 1; i++) { + for (let i = 0; i < windows.length; i++) { let window = windows[i]; let metaWindow = window.meta_window; @@ -935,8 +935,9 @@ const LayoutManager = new Lang.Class({ if (!metaWindow.is_on_primary_monitor()) continue; - // Minimize monitor sized windows - if (metaWindow.is_monitor_sized()) + // Minimize monitor sized windows that are not focused + if (metaWindow.is_monitor_sized() && + !metaWindow.appears_focused) metaWindow.minimize(); } this.emit('primary-fullscreen-changed', this.primaryMonitor.inFullscreen);