[gnome-shell] Don't show chrome when a fullscreen window is open



commit 2d574047e4a8c843078749a39caac262f48e17f2
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Tue Feb 9 21:33:10 2010 +0100

    Don't show chrome when a fullscreen window is open
    
    Currently the check in chrome.js checks if a window is on the
    primary screen by checking its coordinates, width and height.
    
    This check misses the case where windows just set
    _NET_WM_FULLSCREEN without changing their position and
    size (examples are Flash and ooimpress's presentation window).
    
    Fix this by separating the check for fullscreen windows from the
    override redirect one, and only check whether the window is
    anywhere on the primary screen in the fullscreen case.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=597271

 js/ui/chrome.js |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/chrome.js b/js/ui/chrome.js
index 2e57456..50e0e79 100644
--- a/js/ui/chrome.js
+++ b/js/ui/chrome.js
@@ -208,9 +208,14 @@ Chrome.prototype = {
         this._obscuredByFullscreen = false;
         for (let i = windows.length - 1; i > -1; i--) {
             let layer = windows[i].get_meta_window().get_layer();
-
-            if (layer == Meta.StackLayer.OVERRIDE_REDIRECT ||
-                layer == Meta.StackLayer.FULLSCREEN) {
+            if (layer == Meta.StackLayer.FULLSCREEN) {
+                if (windows[i].x >= primary.x && windows[i].x <= primary.x + primary.width &&
+                    windows[i].y >= primary.y && windows[i].y <= primary.y + primary.height) {
+                        this._obscuredByFullscreen = true;
+                        break;
+                }
+            }
+            if (layer == Meta.StackLayer.OVERRIDE_REDIRECT) {
                 if (windows[i].x <= primary.x &&
                     windows[i].x + windows[i].width >= primary.x + primary.width &&
                     windows[i].y <= primary.y &&



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