From df440496eeb6547e32eec4f102334f4836eb1a7e Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 9 Mar 2011 15:59:58 +0100 Subject: [PATCH] Constrain zoomed overview windows to the current monitor Additionally, the constraint to not overlap the panel should only happen on the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspace.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 05a22f7e5..974893a27 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -221,8 +221,15 @@ WindowClone.prototype = { let [width, height] = this.actor.get_transformed_size(); - this.actor.x = _clamp(this.actor.x, 0, global.screen_width - width); - this.actor.y = _clamp(this.actor.y, Main.panel.actor.height, global.screen_height - height); + let monitorIndex = this.metaWindow.get_monitor(); + let availArea = global.get_monitors()[monitorIndex]; + if (monitorIndex == global.get_primary_monitor_index()) { + availArea.y += Main.panel.actor.height; + availArea.height -= Main.panel.actor.height; + } + + this.actor.x = _clamp(this.actor.x, availArea.x, availArea.x + availArea.width - width); + this.actor.y = _clamp(this.actor.y, availArea.y, availArea.y + availArea.height - height); }, _zoomStart : function () {