[Available until the end of 2024] Mouse gestures support on Plasma 6 Wayland

50$ CAD here, by Paypal

2 Likes

I’d recommend to discuss mouse gestures and configurable touchpad gestures separately since they are rather orthogonal. That makes it easier to keep track of who wants to sponsor what and avoids misunderstandings

4 Likes

I’ll add 50€ to the effort, preferably via PayPal

3 Likes

Another 50$ via Wise

3 Likes

Captured some thoughts on existing features, requirements, questions, possible directions. Still not committing to taking this on, still up for grabs to anyone who wants to make it happen. @fusionfuture or other experienced people, feel free to leave some notes on the linked snippet page if anything seems off.

3 Likes

Could KDE e.V. help with this? Doesn’t look like anyone is up to the challenge.

Help as in:

  • get one of the hired devs or one of the KDE e.V. Trusted IT Consulting Firms to take a look at this and at least give an estimate of how much it will cost to do it
  • setup a fundraiser
  • contribute some money to the pool here
1 Like

Yet we need to be cautious with bounty-style feature dev.

As a cautionary I would recommend to accept funding of only pre-recognized KDE devs, to avoid opportunistic outsiders that would poison the well for their own interest, and whose process should be approved by the wider community publicly.
We might rather want to imitate krita’s model: have a community and dev set roadmap and a constant funding, or at least for the duration of the feature(s) dev. This does not need to pass through the e.V, anyone can contribute in KDE after all.

Plasma 6 fundraiser is a bit different, it wants to ask for the financing of the e.V financing, which now includes some developments, which is already the biggest spending for the e.V. But the primary focus is bugs and shortcomings for instance in hardware support which is hard for the community to focus on, making the software more mature rather than more feature-rich.

https://en.liberapay.com/ might be an appropriate fundraiser platform. It allows to gather funding a project before contributors manifest themselves. But others might be better.

Could KDE e.V. help with this? Doesn’t look like anyone is up to the challenge.

e.V does not have a position on independent sponsored work currently. But the community can do stuff, and e.V members are part of the discussion.

are mouse gestures used so rarely that this is such a low priority? This seems so odd considering how useful it is to me personally, not to mention, everyone effectively uses gestures on the phone. Are there any stats of how many people use it, or used under x11?

1 Like

Looks like this is just hard to implement. Maybe after 6.0 releases some of the more experienced devs will have a look.

A bit of both. Hard to implement and also infrequently used–as it is a non-default feature that requires significant setup to use. You can assume that any such feature will be infrequently used.

1 Like

When I switched from KDE (X) to Hyprland(Wayland), it was exactly the feature I missed the most. So far I have actually only found a partial solution that works smoothly and that is a (Python) application called mouse-swipe. It is written very clearly, clearly, minimally and comprehensibly, but it only supports the detection of horizontal and vertical mouse movements, which triggers self-defined keybindings, i.e. only up, down, right and left, which works well for me as a stopgap solution. I wrote to the developer asking if he would also implement diagonal mouse movements, but unfortunately he doesn’t have the time but is open to suggestions that he would merge. Here is the Github page: GitHub - tcorreabr/mouse-swipe: Swipe gestures support for mouse buttons

It’s actually only necessary to adapt the FUNCTION: async def task_handle_mouse_events(mouse) in the main.py file, but since I don’t know much about Python, I wasn’t able to add the recognition of dialog movements. Maybe one of you knows and can do something about it. In any case, it is a good approach that works very well and smoothly at this stage, in contrast to 2-3 alternatives that I have tried. Another interesting alternative, which unfortunately is practically unusable because it hijacks the right mouse button, especially in Wayland, and the context menu is lost as a result (until you close the application) is the mouse-actions-gui or mouse-actions (cli version). As I said, the developers have the problem here that the right mouse button function on the desktop is not reset after executing the mouse swipe. Maybe someone can take a look at it too: GitHub - jersou/mouse-actions: mouse-actions execute some command from mouse events such as clicks/wheel on the side/corners of the screen, or drawing shapes. It's a mix between Easystroke and Compiz edge commands.

1 Like

If plasma6-x11 is additionally supported, I am willing to donate $50

1 Like

Using something like https://opencollective.com/ could make sense.
Anyone could put money in the pot and validated people could use it under some rules and with some transparency.
Once enough money is gathered for the task at hand, a developer can start working while getting paid or at deliver only.

I find this way of handling donation money very interesting and is essentially how KDE e.V manages its donations.

2 Likes

kind of weird it wasn’t picked up yet, despite quite a few bucks in a bucket. i’m also willing to chip in for this to be done, however i have to admit that currently without the gestures barely anything keeps me using kde.

2 Likes

I was planning to pick up on this, but would like to finish some work first that I started on display brightness and mouse/touchpad settings fronts. Don’t want to commit prior to being able to make lots of time for this.

1 Like

Ah, whatever. I’ll just sign up now and make some time for mouse gestures. Modernizing/merging the mouse & touchpad KCMs can wait, I guess.

If anyone earlier in this thread would like to back out of their earlier bounty commitments, please say so now to avoid bad surprises once it’s ready.

10 Likes

That’s great to hear!

I’m still good for my pledge.

2 Likes

Note that my offer will only be valid until this year (2024) end, due to various unforeseeable geopolitical factors and the pressure to speed up the development, which also means if Plasma still does not have a mouse gesture system, I will try to implement it myself.

2 Likes

My offer still stands

1 Like

Hi all! Quick progress update. I have forked @jinliu’s Spotlight effect for KWin as a base to work from, and modified it to prototype a mouse gesture recognizer. I have also adopted code from wstroke, in particular the core stroke recognition functionality that its author took from EasyStroke and cleaned up a tiny bit. The result is a minimally viable proof of concept which demonstrates that the input device grabbing, stroke recognition, and “make regular RMB clicks work again” parts can be implemented by a KWin effect.

Note that this has no value for end users yet: Jakob Petsovits / Strokognition · GitLab

Before it’s anywhere close to usable, we’ll want to think and consult about how to deal with configuration and actions. And also replace the spotlight effect around the mouse cursor with a nice painted trail that makes more sense for this kind of thing. And then we’ll still want the various extra features listed in @fusionfuture’s original post.

A crafty developer could probably add some hardcoded gestures and emulated key presses to this with not too much work, and call it a day. But that’s not what I’m here for. Plenty more work needed to actually make it great and configurable for end users.

10 Likes