summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2018-08-01 16:13:59 +0200
committerFlorian Müllner <fmuellner@gnome.org>2018-08-01 16:18:06 +0200
commit38c05d91a889699ccdb200ab7c70bae8806cce56 (patch)
tree4a5c41801bfad6d2cc40211e57028912ce797a58
parenteeda54f24d4f14aabedb1a2febbcee2a54db7a5d (diff)
downloadgnome-shell-wip/fmuellner/overview-keynav.tar.gz
workspacesView: Enable keynav between all monitorswip/fmuellner/overview-keynav
Instead of using one focus group for each (per-monitor) workspacesView, use a single one that is shared between all of them. https://gitlab.gnome.org/GNOME/gnome-shell/issues/412
-rw-r--r--js/ui/workspacesView.js7
1 files changed, 5 insertions, 2 deletions
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index 4ba8db754..76ad8fb96 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -33,7 +33,6 @@ var WorkspacesViewBase = new Lang.Class({
this.actor = new St.Widget({ style_class: 'workspaces-view',
reactive: true });
this.actor.connect('destroy', this._onDestroy.bind(this));
- global.focus_manager.add_group(this.actor);
// The actor itself isn't a drop target, so we don't want to pick on its area
this.actor.set_size(0, 0);
@@ -428,6 +427,10 @@ var WorkspacesDisplay = new Lang.Class({
this.actor.connect('notify::allocation', this._updateWorkspacesActualGeometry.bind(this));
this.actor.connect('parent-set', this._parentSet.bind(this));
+ this._viewsContainer = new St.Widget();
+ Main.layoutManager.overviewGroup.add_actor(this._viewsContainer);
+ global.focus_manager.add_group(this._viewsContainer);
+
let clickAction = new Clutter.ClickAction();
clickAction.connect('clicked', action => {
// Only switch to the workspace when there's no application
@@ -579,7 +582,7 @@ var WorkspacesDisplay = new Lang.Class({
}
this._workspacesViews.push(view);
- Main.layoutManager.overviewGroup.add_actor(view.actor);
+ this._viewsContainer.add_actor(view.actor);
}
this._updateWorkspacesFullGeometry();