Bug 441892

Summary: Moving in and out the sensitive area several times activates hot corners/edges
Product: [Plasma] kwin Reporter: Franz Trischberger <franz.trischberger>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: fanzhuyifan, nate
Priority: NOR Keywords: usability
Version First Reported In: 6.0.3   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 6.0.4
Sentry Crash Report:

Description Franz Trischberger 2021-09-02 06:58:11 UTC
SUMMARY
I fight against unintentionally activating the hot corners already some years now. I move the mouse into the area (corner/side) and out of nowhere the effect activates, ignoring the set timeout.
I now finally found two issues but I'm not sure if that's all. Because I had activations where I never touched the corner before and from observation didn't even push into the border, just scraped the highlight (glow) activation area.

The 2 issues:

1) The four sides (not the corners) can be activated without the visual hint (glow) showing up.

2) Moving in and out the sensitive area several times activates the effect although none of the individual "pushes" is long enough to activate the effect.

I recorded a video:
https://youtu.be/y5TQH_9Ik5g
You see:
[0) activation timeout is set to 500ms already - way longer than the default 150ms]
1) Pushing in the top right outside the glowy area (above the clock) to activate  krunner
2) intentional activation of krunner (top edge)
3) poking quickly into the top edge to activate krunner
4) left edge: intentional activation of kactivities
5) unintentional activations - you see how far out I can go and how long I can stay outside.

So what should be changed:
1) highlight effect should be synchronized with actual activation zone.
2) The timer should stop _immediately_ after the user is out further that the last line of pixels at the edge and not accumulate the time spent pushing behind the last line of pixels.

SOFTWARE/OS VERSIONS
OpenSuse Tumbleweed, but had it with arch and Gentoo, too
(available in About System)
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2
Comment 1 David Edmundson 2023-09-06 10:39:09 UTC
This bug was reported against an outdated version of KWin. We have made many changes since the. 
If the issue persists in newer versions can you reopen the bug report updating the version number.
Comment 2 Franz Trischberger 2023-09-06 17:58:01 UTC
Still reproducible.
Comment 3 Franz Trischberger 2024-04-04 17:28:08 UTC
Plasma 6.0.3, Frameworks 6.0.0.
It seems highlighting and activation is synched, so no activation without glowing effect.
The rest is unfixed.

Am I really the only one who is bothered by this?
Comment 4 fanzhuyifan 2024-04-07 15:49:26 UTC
> 2) Moving in and out the sensitive area several times activates the effect although none of the individual "pushes" is long enough to activate the effect.

Can reproduce this

> 1) The four sides (not the corners) can be activated without the visual hint (glow) showing up.

As mentioned by the reporter, this is fixed.

Operating System: Arch Linux 
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Kernel Version: 6.8.4-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 20 × 13th Gen Intel® Core™ i9-13900H
Memory: 15.2 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Zephyrus G16 GU603VV_GU603VV
System Version: 1.0
Comment 5 Bug Janitor Service 2024-04-07 16:54:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5573
Comment 6 fanzhuyifan 2024-04-10 21:11:56 UTC
Git commit 9ca69cf50c61eff8e9d83403661d7bfda73b8e69 by Yifan Zhu.
Committed on 10/04/2024 at 20:55.
Pushed by fanzhuyifan into branch 'master'.

screenedge: reset timer when pointer leaves edge

Currently the edge erroneously triggers when the pointer repeatedly
enters and leaves the edge in short durations. Send all events to edges,
and reset the timer when pointer leaves edge. Add corresponding test.
FIXED-IN: 6.0.4

M  +46   -0    autotests/integration/screenedges_test.cpp
M  +7    -5    src/screenedge.cpp

https://invent.kde.org/plasma/kwin/-/commit/9ca69cf50c61eff8e9d83403661d7bfda73b8e69
Comment 7 fanzhuyifan 2024-04-10 21:30:22 UTC
Git commit 68532f178d7ba7ebc1eca51754176b3124fbece9 by Yifan Zhu.
Committed on 10/04/2024 at 21:15.
Pushed by fanzhuyifan into branch 'Plasma/6.0'.

screenedge: reset timer when pointer leaves edge

Currently the edge erroneously triggers when the pointer repeatedly
enters and leaves the edge in short durations. Send all events to edges,
and reset the timer when pointer leaves edge. Add corresponding test.
FIXED-IN: 6.0.4


(cherry picked from commit 9ca69cf50c61eff8e9d83403661d7bfda73b8e69)

M  +46   -0    autotests/integration/screenedges_test.cpp
M  +7    -5    src/screenedge.cpp

https://invent.kde.org/plasma/kwin/-/commit/68532f178d7ba7ebc1eca51754176b3124fbece9