From b1e4d3335cae0c7cc37362da2a36443a4f4569f4 Mon Sep 17 00:00:00 2001 From: Tanner Doshier Date: Wed, 8 Aug 2012 15:18:46 -0500 Subject: [PATCH] workspaceThumbnail: Add keyboard nav to ThumbnailsBox https://bugzilla.gnome.org/show_bug.cgi?id=682050 --- js/ui/workspaceThumbnail.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 3a5432058..8fde2b9ef 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -493,6 +493,7 @@ const ThumbnailsBox = new Lang.Class({ _init: function() { this.actor = new Shell.GenericContainer({ reactive: true, style_class: 'workspace-thumbnails', + can_focus: true, request_mode: Clutter.RequestMode.WIDTH_FOR_HEIGHT }); this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth)); this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight)); @@ -545,6 +546,8 @@ const ThumbnailsBox = new Lang.Class({ this.actor.connect('button-release-event', Lang.bind(this, this._onButtonRelease)); this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent)); + this.actor.connect('key-release-event', + Lang.bind(this, this._onKeyRelease)); Main.overview.connect('showing', Lang.bind(this, this._createThumbnails)); @@ -1247,5 +1250,19 @@ const ThumbnailsBox = new Lang.Class({ Main.wm.actionMoveWorkspace(Meta.MotionDirection.DOWN); break; } + }, + + _onKeyRelease: function (actor, event) { + switch (event.get_key_symbol()) { + case Clutter.KEY_Up: + Main.wm.actionMoveWorkspace(Meta.MotionDirection.UP); + break; + case Clutter.KEY_Down: + Main.wm.actionMoveWorkspace(Meta.MotionDirection.DOWN); + break; + case Clutter.KEY_Return: + Main.overview.toggle(); + break; + } } });