[gnome-shell] workspacesView: Fix scroll direction in RTL locales



commit 698e67c48665fe7f73105f5f995a3b9438b767eb
Author: Abderrahim Kitouni <akitouni gnome org>
Date:   Sat Jan 16 16:29:05 2021 +0100

    workspacesView: Fix scroll direction in RTL locales
    
    Scrolling up or down (using the mouse wheel) should scroll to right
    or left respectively (rather than the other way around).
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1608>

 js/ui/workspacesView.js | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index ef3e5f68cd..f39d305b7b 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -787,18 +787,23 @@ class WorkspacesDisplay extends St.Widget {
 
         let workspaceManager = global.workspace_manager;
         const vertical = workspaceManager.layout_rows === -1;
+        const rtl = this.text_direction === Clutter.TextDirection.RTL;
         let activeWs = workspaceManager.get_active_workspace();
         let ws;
         switch (direction) {
         case Clutter.ScrollDirection.UP:
             if (vertical)
                 ws = activeWs.get_neighbor(Meta.MotionDirection.UP);
+            else if (rtl)
+                ws = activeWs.get_neighbor(Meta.MotionDirection.RIGHT);
             else
                 ws = activeWs.get_neighbor(Meta.MotionDirection.LEFT);
             break;
         case Clutter.ScrollDirection.DOWN:
             if (vertical)
                 ws = activeWs.get_neighbor(Meta.MotionDirection.DOWN);
+            else if (rtl)
+                ws = activeWs.get_neighbor(Meta.MotionDirection.LEFT);
             else
                 ws = activeWs.get_neighbor(Meta.MotionDirection.RIGHT);
             break;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]