[gnome-shell] workspacesView: Fix PgUp/PgDown shortcut
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] workspacesView: Fix PgUp/PgDown shortcut
- Date: Thu, 8 Apr 2021 19:37:21 +0000 (UTC)
commit fc54e0bed8dbab238394f6852d611d64b81f314e
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Apr 8 17:19:37 2021 +0200
workspacesView: Fix PgUp/PgDown shortcut
We still try to switch to the workspace above/below, which doesn't
do anything since the layout is now horizontal.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1798>
js/ui/workspacesView.js | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
---
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index 1af45d88d7..2c9da5c9bb 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -1144,20 +1144,36 @@ class WorkspacesDisplay extends St.Widget {
_onKeyPressEvent(actor, event) {
if (!this.mapped)
return Clutter.EVENT_PROPAGATE;
- let workspaceManager = global.workspace_manager;
- let activeWs = workspaceManager.get_active_workspace();
- let ws;
+
+ const { workspaceManager } = global;
+ const vertical = workspaceManager.layout_rows === -1;
+ const rtl = this.get_text_direction() === Clutter.TextDirection.RTL;
+
+ let dir;
switch (event.get_key_symbol()) {
case Clutter.KEY_Page_Up:
- ws = activeWs.get_neighbor(Meta.MotionDirection.UP);
+ if (vertical)
+ dir = Meta.MotionDirection.UP;
+ else if (rtl)
+ dir = Meta.MotionDirection.RIGHT;
+ else
+ dir = Meta.MotionDirection.LEFT;
break;
case Clutter.KEY_Page_Down:
- ws = activeWs.get_neighbor(Meta.MotionDirection.DOWN);
+ if (vertical)
+ dir = Meta.MotionDirection.DOWN;
+ else if (rtl)
+ dir = Meta.MotionDirection.LEFT;
+ else
+ dir = Meta.MotionDirection.RIGHT;
break;
default:
return Clutter.EVENT_PROPAGATE;
}
- Main.wm.actionMoveWorkspace(ws);
+
+ const ws = workspaceManager.get_active_workspace().get_neighbor(dir);
+ if (ws)
+ Main.wm.actionMoveWorkspace(ws);
return Clutter.EVENT_STOP;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]