From aedc2428bed3094d5165e0475706720e071c2a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 9 Feb 2015 09:25:00 +0100 Subject: [PATCH] layout: Add back affectsInputRegion It was removed as actors that should not affect the input region can simply be added to the uiGroup instead. However the property is useful to add non-reactive chrome, but then use trackChrome() to add a child to the input region. This reverts commit e62d22a50ed8aa25de988fb3c389b999e42f2eac. https://bugzilla.gnome.org/show_bug.cgi?id=744850 --- js/ui/layout.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/js/ui/layout.js b/js/ui/layout.js index c68168848..8842a7519 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -165,6 +165,7 @@ const Monitor = new Lang.Class({ const defaultParams = { trackFullscreen: false, affectsStruts: false, + affectsInputRegion: true }; const LayoutManager = new Lang.Class({ @@ -736,10 +737,11 @@ const LayoutManager = new Lang.Class({ // @actor: an actor to add to the chrome // @params: (optional) additional params // - // Adds @actor to the chrome, and extends the input region - // to include it. Changes in @actor's size, position, and - // visibility will automatically result in appropriate changes - // to the input region. + // Adds @actor to the chrome, and (unless %affectsInputRegion in + // @params is %false) extends the input region to include it. + // Changes in @actor's size, position, and visibility will + // automatically result in appropriate changes to the input + // region. // // If %affectsStruts in @params is %true (and @actor is along a // screen edge), then @actor's size and position will also affect @@ -941,7 +943,7 @@ const LayoutManager = new Lang.Class({ for (i = 0; i < this._trackedActors.length; i++) { let actorData = this._trackedActors[i]; - if (!wantsInputRegion && !actorData.affectsStruts) + if (!(actorData.affectsInputRegion && wantsInputRegion) && !actorData.affectsStruts) continue; let [x, y] = actorData.actor.get_transformed_position(); @@ -951,7 +953,7 @@ const LayoutManager = new Lang.Class({ w = Math.round(w); h = Math.round(h); - if (wantsInputRegion && actorData.actor.get_paint_visibility()) + if (actorData.affectsInputRegion && wantsInputRegion && actorData.actor.get_paint_visibility()) rects.push(new Meta.Rectangle({ x: x, y: y, width: w, height: h })); if (actorData.affectsStruts) {