gala icon indicating copy to clipboard operation
gala copied to clipboard

Hot corner retrigger too sensitive for high resolution monitors or fast mouse cursor speeds

Open joshuamars opened this issue 4 years ago • 8 comments

What Happened?

When using any of the corners for "Show all windows," the display flashes in and out of all window mode, and typically lands back in normal mode. It looks like it is not tolerating tiny little bounces of the mouse cursor. If I slowly move the mouse cursor into position at the corner, it is stable, and doesn't flash.

Steps to Reproduce

1 Opened settings > Desktop > Multitasking 2 Set top left corner to "Show all windows" 3 Move mouse quickly into corner causes bug

It looks exactly like what happens when I quickly and repeatedly hit the default keyboard shortcut for show all windows: WINKEY + W or WINKEY + A

Expected Behavior

I want to quickly move my mouse into the corner, and show all windows, without flashing or being kicked back out into normal mode.

OS Version

6.x (Odin)

Software Version

Latest release (I have run all updates)

Log Output

No response

Hardware Info

2560x1440 monitor at 144hz

joshuamars avatar Dec 05 '21 00:12 joshuamars

If I put notify-send "Poop" in for "Execute custom command," and then move my cursor into that corner, multiple notifications come up at once, in differing amounts each time.

joshuamars avatar Dec 05 '21 01:12 joshuamars

This is probably same issue as #1330

joshuamars avatar Dec 06 '21 00:12 joshuamars

Maybe caused by commit that "fixed" #1100

joshuamars avatar Dec 06 '21 00:12 joshuamars

Completely disabling the retrigger behavior fixes this issue for me. I commented out line 160 in src/HotCorners/HotCorner.vala and the problem goes away. Adjusting any of the pressure threshold constants wasn't working; I couldn't find a "sweet spot."

joshuamars avatar May 15 '22 17:05 joshuamars

@JoseExposito what is the purpose of the retrigger event?

joshuamars avatar May 15 '22 17:05 joshuamars

Hi! The event is re-triggered after a certain amount of pressure is applied, check https://github.com/elementary/gala/issues/1078

On my setup, I have to push the corner for a while to trigger the event. Are you using a HiDPI screen or similar? The density of the display might affect this behaviour.

JoseExposito avatar May 15 '22 17:05 JoseExposito

Yes, I am using a high resolution monitor (2560x1440 at 144hz). My monitor is so big (32") that I have my mouse cursor speed set very fast. I am guessing #1330 is a similar situation (@Lacplesis). For me, the unwanted retriggering happens at anywhere from pressure.abs() = 600 or above.

Would it be possible to make the PRESSURE_THRESHOLDS relative to cursor speed in settings? Alternatively, I have tried adding a variable last_trigger_pressure that remembers how hard the mouse was pushed the first time, and basing the retrigger cutoff on that variable instead of a constant RETRIGGER_PRESSURE_THRESHOLD, but I haven't got it to work.

joshuamars avatar May 15 '22 17:05 joshuamars

Yes, I am using a high resolution monitor (2560x1440 at 144hz). My monitor is so big (32") that I have my mouse cursor speed set very fast. I am guessing #1330 is a similar situation (@Lacplesis). For me, the unwanted retriggering happens at anywhere from pressure.abs() = 600 or above.

Would it be possible to make the PRESSURE_THRESHOLDS relative to cursor speed in settings? Alternatively, I have tried adding a variable last_trigger_pressure that remembers how hard the mouse was pushed the first time, and basing the retrigger cutoff on that variable instead of a constant RETRIGGER_PRESSURE_THRESHOLD, but I haven't got it to work.

I have get org.gnome.desktop.peripherals.mouse speed set to 1.0

joshuamars avatar May 15 '22 18:05 joshuamars

Closing since this was fixed in #1421

danirabbit avatar Oct 06 '22 21:10 danirabbit