Gesture customization mini-sprint

To briefly recap, Natalie Clarius and I applied for an NLnet grant to improve gesture support in Plasma, and they accepted our project proposal. We thought it would be a good idea to meet in person and workshop this topic from morning to evening for three days in a row. Props to Natalie taking the trip from far away in Germany to my parents' place, where we were kindly hosted and deliciously fed.


This is a companion discussion topic for the original entry at https://blogs.kde.org/2025/06/12/gesture-customization-mini-sprint/
10 Likes

This was a wonderful read.

2 Likes

I get stressed when having to divide my time and focus between different tasks, so I tend to avoid it, in the knowledge that someone or something will be left wanting.

Awareness of how your brain works, and finding ways of working that maximize your brain’s abilities to tackle a big gnarly problem, are really cool. There are always so many different competing priorities in modern life - being able to prioritize and really focus on something specific is a feature, not a bug :slight_smile:

Not enough details in the blog post on this point, though :laughing:

3 Likes

Agree! :face_savoring_food:

1 Like

What good news that you and Natalie Clarius will be progressing KDE’s gesture support! As a Mac user who has started the process of transitioning to Linux KDE, will this project incorporate three finger dragging of windows that Macs have? I so love that feature of Macs! I think that InputActions (See the Github taj-ny/InputActions repo) might have incorporated three-finger window drag but it is not a part of base KDE, and in my tech ignorance, I feel uncertain about stepping down that road of modifying KDE significantly in fear that it would take too much time or that I might mess up something in the system.

1 Like

That’s a particularly interesting question, because freeform dragging is in conflict with swipe gestures. Plus, if the drag is meant to grab windows also outside of the usual draggable titlebar area, it’s not enough to emulate a regular mouse button-down + move-pointer combo.

Libinput, which we build upon, does provide an option for 3-finger drag. It looks like we’re not exposing this option in Plasma’s Touchpad settings? But it works as mentioned above, by simply emulating button-down + move-pointer. I figure if enabled, it would disable 3-finger swipe gesture recognition, though one would need to test that.

So, we should probably expose that option. Or perhaps we should implement our own alternative that drags only windows instead of whatever sits below the mouse pointer currently?

Either way, I feel like 3-finger window dragging is a little out of scope for this project, because we can’t quite classify it as “gesture”. But I’ll make a note of it in our gesture survey document, perhaps this can be implemented in one form or another as an alternative to 3-finger swipe gestures.

5 Likes

That sounds awesome! Telegram Desktop recently added navigation gestures — swipe-to-go-back for exiting chats/settings, gestures for opening the side menu, and switching between folders.

Now I’d love to see similar gestures in Dolphin for switching tabs/directories, etc. Thanks for adding this!

Custom shortcut for gestures support.

Would it be enough to emulate Meta + double left-click? On my system this starts dragging the window from any point of it, and I don’t remember setting it so it may be a default in Plasma

It doesn’t look like libinput’s 3-finger drag lets us distinguish it from a regular drag event that’s initiated some other way (like double-tap & drag). So it’s possible that with a more straightforward implementation, users will have to manually hold down Meta while dragging. Of course, nothing is impossible, someone will just have to put in the effort to make it work as it ideally should. (What’s ideal is a separate question.)

Also note that double-click is not necessary to initiate a drag, Meta + button-down will do the trick for moving windows. If the “Tap-and-drag” option in Touchpad settings is enabled, then Meta + double-tap (and keep the finger on the touchpad) will do the same thing as Meta + button-down on a pointer device with actual pressable buttons.

1 Like

You are right: I double-click only when I use the trackpad.

Hello, Jakob! Thank you so much for your response (and please overlook my not responding before now. I have been using crutches for awhile and have had a lot of family stuff).

I think that it would be great if the 3-finger drag of libinput was enabled. I don’t use three-finger swipe gestures, but on my Macbook Pro, I use three finger drag a LOT. Macs will do three-finger drag for the titlebar, but if you try three finger drag in the main window area, it will not drag the window. But it usually does some other form of drag or highlighting in the main window area of the application. In Mac’s finder, if you start a three-finger drag on a file, it then starts dragging that file such that you can drag the file and drop it into a different folder. If I start a three finger “drag” when the text cursor is showing for text on this page, it starts a highlighted selection such that I can three-finger highlight a section of text for copying. In Finder, if I three-finger “drag” the shortcuts (Desktop, Dropbox, Documents, etc) in the left sidebar area, I can reorder where the shortcut is or remove it by “dragging” the shortcut out of the shortcuts area of the left sidebar, or add a shortcut by “dragging” a folder from the main window into the left sidebar shortcuts area.

All of this is just really intuitive and a big area where I think that the user experience for laptop or desktop trackpad users on Linux is below that of Mac. People have complained about the quality of Framework 13 trackpads and other non-Mac trackpads when they are physically clicked, and even though Macs are better in that regard, I rarely or never even use a physical click on my Macbook Pro or Apple Trackpad because I can tap the trackpad for click and three-finger drag windows and move files by three finger dragging. All those three finger movements are gestures from one particular spot to another on the trackpad, and I really would wish that Linux had the same such that I did not need to physically depress anything other than keys. I have had weak joints (in fingers and elsewhere) at various points in my life, and being able to glide my fingers to move things or just tap to click something is easier for my weaker fingers than having to physically depress a trackpad.

Whether the three-finger drag gets implemented or not, thank you so much for the work that you will be doing to make people’s lives better in Linux and KDE!

2 Likes