diff options
author | Florian Müllner <fmuellner@gnome.org> | 2018-08-01 16:13:59 +0200 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2018-08-01 16:18:06 +0200 |
commit | 38c05d91a889699ccdb200ab7c70bae8806cce56 (patch) | |
tree | 4a5c41801bfad6d2cc40211e57028912ce797a58 | |
parent | eeda54f24d4f14aabedb1a2febbcee2a54db7a5d (diff) | |
download | gnome-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.js | 7 |
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(); |