[chrome] only hide chrome if fullscreen window is on the same monitor

https://bugzilla.gnome.org/show_bug.cgi?id=599926
This commit is contained in:
Florian Scandella 2009-11-29 14:27:56 +01:00 committed by Dan Winship
parent 236a9b184f
commit 7b0526dc5c

View File

@ -191,6 +191,7 @@ Chrome.prototype = {
_windowsRestacked: function() { _windowsRestacked: function() {
let windows = global.get_windows(); let windows = global.get_windows();
let primary = global.get_primary_monitor();
// The chrome layer should be visible unless there is a window // The chrome layer should be visible unless there is a window
// with layer FULLSCREEN, or a window with layer // with layer FULLSCREEN, or a window with layer
@ -208,17 +209,15 @@ Chrome.prototype = {
for (let i = windows.length - 1; i > -1; i--) { for (let i = windows.length - 1; i > -1; i--) {
let layer = windows[i].get_meta_window().get_layer(); let layer = windows[i].get_meta_window().get_layer();
if (layer == Meta.StackLayer.OVERRIDE_REDIRECT) { if (layer == Meta.StackLayer.OVERRIDE_REDIRECT ||
if (windows[i].x <= 0 && layer == Meta.StackLayer.FULLSCREEN) {
windows[i].x + windows[i].width >= global.screen_width && if (windows[i].x <= primary.x &&
windows[i].y <= 0 && windows[i].x + windows[i].width >= primary.x + primary.width &&
windows[i].y + windows[i].height >= global.screen_height) { windows[i].y <= primary.y &&
windows[i].y + windows[i].height >= primary.y + primary.height) {
this._obscuredByFullscreen = true; this._obscuredByFullscreen = true;
break; break;
} }
} else if (layer == Meta.StackLayer.FULLSCREEN) {
this._obscuredByFullscreen = true;
break;
} else } else
break; break;
} }