Skip to content

Sync SwipeTracker to GNOME 50#295

Merged
dsheeler merged 1 commit into
dsheeler:mainfrom
marmitar:feat/swipe-tracker-50
Apr 13, 2026
Merged

Sync SwipeTracker to GNOME 50#295
dsheeler merged 1 commit into
dsheeler:mainfrom
marmitar:feat/swipe-tracker-50

Conversation

@marmitar

@marmitar marmitar commented Mar 8, 2026

Copy link
Copy Markdown
Contributor

Not sure if you're interested in doing this right now, but these would be changes in swipeTracker.js introduced between GNOME 49.rc and GNOME 50.rc. They should work with GNOME 49 too, however the orientation changes could be a bit risky for both versions. For comparison, check commits for swipeTracker.js on:

I'm opening as draft right now, but, if there is interest, I could do a proper test and open it to review if it works.

@dsheeler

Copy link
Copy Markdown
Owner

Hi! Yes, this would be good to update, thank you!

@marmitar marmitar force-pushed the feat/swipe-tracker-50 branch from d26822b to e7a81d8 Compare April 13, 2026 03:27
Includes [gnome-shell!3931][1], [gnome-shell!3967][2],
[gnome-shell!3997][3] and [gnome-shell!4062][4].

[1]: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3931 "Use const declarations where possible"
[2]: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3967 "swipeTracker: Immediately flip delta in RTL locales"
[3]: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3997 "swipeTracker: Handle touchpad gestures on actor"
[4]: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4062 "swipeTracker: Handle invalid position when finding previous point"
@marmitar marmitar force-pushed the feat/swipe-tracker-50 branch from e7a81d8 to ece8a99 Compare April 13, 2026 04:16
@marmitar marmitar marked this pull request as ready for review April 13, 2026 04:16
@marmitar

marmitar commented Apr 13, 2026

Copy link
Copy Markdown
Contributor Author

I tested this PR on two separate laptops, a ThinkPad and a Samsung Galaxy Book, and they both follow the trackpad correctly. The test matrix was:

  1. Style:
  • Coverflow with Flip Stack
  • Coverflow with Caurosel
  • Timeline
  1. Invert Swipes
  • Off
  • On
  1. Scroll Direction (GNOME)
  • Traditional
  • Natural

Additionally tested some non-exhaustive configurations with a mix of different options (Title Position, Perspective Correction, Easing Function, etc.). Also tested a matrix of 1 and 2 with a mouse scroll on a desktop. Finally tested the touchpad with the laptop in Portrait mode, with a matrix of 2 and 3. I didn't test LTR layouts.

Edit: sample video from the default configuration

Screencast.From.2026-04-13.01-39-54.mp4

I'm not 100% sure which scrolling direction is the correct one, but they were updated according to the options. Might need a global -1 multiplier if the initial direction is wrong.

Are there any other tests that could be useful here?

@dsheeler

Copy link
Copy Markdown
Owner

Thank you! Do you in any way automate this process of diffs?

@dsheeler dsheeler merged commit 8db72d8 into dsheeler:main Apr 13, 2026
1 check passed
@marmitar

Copy link
Copy Markdown
Contributor Author

Not really. I did git diff 50.rc..49.4 -- js/ui/swipeTracker.js > ../swipeTracker.patch on gnome-shell, git apply --reject ../swipeTracker.patch here and fixed the conflicts manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants