From 4735193456e525edada2bbc5ab11b609e4eabd81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 26 Feb 2022 18:35:47 +0100 Subject: [PATCH] dash: Fix drag placeholder position in RTL The position corresponds to a child index, which means it must be mirrored when starting to count from the right. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4574 Part-of: --- js/ui/dash.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/js/ui/dash.js b/js/ui/dash.js index e5f81fca7..24d3a8907 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -883,10 +883,12 @@ var Dash = GObject.registerClass({ } let pos; - if (!this._emptyDropTarget) - pos = Math.floor(x * numChildren / boxWidth); + if (this._emptyDropTarget) + pos = 0; // always insert at the start when dash is empty + else if (this.text_direction === Clutter.TextDirection.RTL) + pos = numChildren - Math.floor(x * numChildren / boxWidth); else - pos = 0; // always insert at the top when dash is empty + pos = Math.floor(x * numChildren / boxWidth); // Put the placeholder after the last favorite if we are not // in the favorites zone