mechtifs / wiggle

Gnome extension that magnifies the cursor when the mouse is moved rapidly.
GNU General Public License v2.0
26 stars 1 forks source link

Mouse button state is not updated when the effect is active #11

Open Nightmayr opened 5 months ago

Nightmayr commented 5 months ago

Video demonstrating bug:

Screencast from 2024-05-31 22-12-41.webm

I think during mouse dragging actions, wiggle should be disabled

mechtifs commented 2 months ago

This is actually a known issue for quite some time (it was present in Jiggle as well). When calling Meta.CursorTracker.set_pointer_visible(true), Cogl will just block all mouse button events so it might just be work as intended for the original GNOME experience. Also, the GJS bindings are not available to those C functions. So it is an API limitation and currently there isn't much I could do :(

Currently there is also another limitation with button states, as a GNOME dev stated in here. So implementing drag detection could be some hacky and tedious work.

Theoretically, it's possible to get around the limitations above by changing the pointer texture. However, there is currently a bug with GJS binding to cogl_texture_get_data which happens to be crucial to implement the concept. So just wait for devs to fix that :)

If you think it is rather troublesome for your daily workflow, you can now unhide the original cursor since fcafc6a826b2eac144be85741725ad80da1a2a93.