From 337eab614e264524e10d7925456b4848bdf742d1 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Fri, 22 Jan 2010 20:49:52 +0100 Subject: [PATCH] [WorkspaceView] Allow workspace switching using mousewheel + indicators Allow the user to switch between workspaces by scrolling on the indicators. Up = next workspace Down = previous workspace --- js/ui/workspacesView.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index d75e3e3a2..65d3480e9 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -703,6 +703,17 @@ SingleView.prototype = { this._workspaces[i]._metaWorkspace.activate(global.get_current_time()); })); + actor.connect('scroll-event', Lang.bind(this, function(actor, event) { + let direction = event.get_scroll_direction(); + let activeWorkspaceIndex = global.screen.get_active_workspace_index(); + let numWorkspaces = global.screen.n_workspaces; + if (direction == Clutter.ScrollDirection.UP && activeWorkspaceIndex < numWorkspaces - 1) { + this._workspaces[activeWorkspaceIndex+1]._metaWorkspace.activate(global.get_current_time()); + } else if (direction == Clutter.ScrollDirection.DOWN && activeWorkspaceIndex > 0) { + this._workspaces[activeWorkspaceIndex-1]._metaWorkspace.activate(global.get_current_time()); + } + })); + this._indicatorsPanel.add_actor(actor); let [a, spacing] = actor.get_theme_node().get_length('border-spacing', false);