[gnome-shell] overview: Move overview actions and scrolling to background group



commit c39ffa111f62280619788fe2ae7f774dcfc4d915
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu May 26 18:20:25 2016 +0200

    overview: Move overview actions and scrolling to background group
    
    Both the Overview::scroll-event and actions added via addAction()
    are meant to work anywhere in the overview, but for now only work
    on the primary monitor. Move the handling to the background group
    that is known to span all outputs to fix.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=766883

 js/ui/overview.js         |    9 +++++----
 js/ui/overviewControls.js |    1 -
 2 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/overview.js b/js/ui/overview.js
index f839f08..ea6b3ec 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -111,7 +111,6 @@ const Overview = new Lang.Class({
            activities. See also note for "Activities" string. */
         this._overview = new St.BoxLayout({ name: 'overview',
                                             accessible_name: _("Overview"),
-                                            reactive: true,
                                             vertical: true });
         this._overview.add_constraint(new LayoutManager.MonitorConstraint({ primary: true }));
         this._overview._delegate = this;
@@ -121,10 +120,13 @@ const Overview = new Lang.Class({
         // one. Instances of this class share a single CoglTexture behind the
         // scenes which allows us to show the background with different
         // rendering options without duplicating the texture data.
-        this._backgroundGroup = new Meta.BackgroundGroup();
+        this._backgroundGroup = new Meta.BackgroundGroup({ reactive: true });
         Main.layoutManager.overviewGroup.add_child(this._backgroundGroup);
         this._bgManagers = [];
 
+        this._backgroundGroup.connect('scroll-event',
+                                      Lang.bind(this, this._onScrollEvent));
+
         this._desktopFade = new St.Widget();
         Main.layoutManager.overviewGroup.add_child(this._desktopFade);
 
@@ -249,7 +251,6 @@ const Overview = new Lang.Class({
 
         // Add our same-line elements after the search entry
         this._overview.add(this._controls.actor, { y_fill: true, expand: true });
-        this._controls.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
 
         // TODO - recalculate everything when desktop size changes
         this.dashIconSize = this._dash.iconSize;
@@ -366,7 +367,7 @@ const Overview = new Lang.Class({
         if (this.isDummy)
             return;
 
-        this._overview.add_action(action);
+        this._backgroundGroup.add_action(action);
     },
 
     _getDesktopClone: function() {
diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js
index 617fc6d..7111464 100644
--- a/js/ui/overviewControls.js
+++ b/js/ui/overviewControls.js
@@ -421,7 +421,6 @@ const ControlsManager = new Lang.Class({
 
         let layout = new ControlsLayout();
         this.actor = new St.Widget({ layout_manager: layout,
-                                     reactive: true,
                                      x_expand: true, y_expand: true,
                                      clip_to_allocation: true });
         this._group = new St.BoxLayout({ name: 'overview-group',


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