Bug 358930

Summary: moving the mouse over a different application icon immediately changes the window list
Product: [Plasma] plasmashell Reporter: René Fürst <rene>
Component: Task Manager and Icons-Only Task ManagerAssignee: Bharadwaj Raju <bharadwaj.raju777>
Status: RESOLVED FIXED    
Severity: normal CC: admin, aleixpol, angeloborsoiross, bharadwaj.raju777, bugseforuns, daffamumtaz2001, guimarcalsilva, hsantanna, iodreamify, j.straight-kde, jackhill3103, johan.borglin.sjolen, kde-bugs, kroot001, kv, looriin9op, martinstolpe, micaeljarniac, nate, notmart, notuxius, nyanpasu64, plasma-bugs, postix, rapiteanu.catalin, rulatir, salvatorefiore1995, sunny.bed7466
Priority: HI    
Version: 5.5.4   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.27
Sentry Crash Report:
Attachments: Step 1
Step 2
Patch for plasma-framework
Patch for plasma-desktop

Description René Fürst 2016-02-02 22:41:09 UTC
When hovering the cursor on an application icon with many windows and wanting to select a window that is not directly above the cursor position one usually hovers a different application icon for a few ms because it is on the direct path from the cursor position to that window.

In Plasma 4 there is a timeout so that the window list doesn't change when just moving the  cursor over a different application icon and it is easily possible to reach the window. In Plasma 5 the window list changes immediately to one belonging to the application the cursor runs over. Therefore usually when arriving at the point where the desired window was, the list has changed and one has to repeat the selection again.

Reproducible: Always

Steps to Reproduce:
1. Hover an application icon (1)
2. Move the cursor quickly over a different application icon so that the icon is only hovered for a short amount of time (2)

Actual Results:  
window list changes to the list of (2)

Expected Results:  
window list should not change
Comment 1 Marco Martin 2016-02-04 12:57:22 UTC
can't exactly understand what you are descriving:

do you mean when the mouse goes over a different taskbar entry it should wait a moment before switching the tooltip to the new taskbar entry?
Comment 2 René Fürst 2016-02-04 20:31:03 UTC
Exactly. That little delay would make selecting other windows much more comfortable.
Comment 3 Aleix Pol 2016-02-05 01:39:20 UTC
Maybe it would be useful if you could provide a little video.

Thanks!
Comment 4 René Fürst 2016-02-05 20:22:55 UTC
Created attachment 97022 [details]
Step 1
Comment 5 René Fürst 2016-02-05 20:23:14 UTC
Created attachment 97023 [details]
Step 2
Comment 6 René Fürst 2016-02-05 20:26:37 UTC
In step1.png I want to move my mouse along the red line. As you can see, it crosses the blue rectangle, which contains Firefox.

In step2.png you then see the result. As the mouse passed over the Firefox icon the tooltip has already switched and I cannot reach the window I want any more.
Comment 7 René Fürst 2016-11-09 20:40:53 UTC
Created attachment 102151 [details]
Patch for plasma-framework
Comment 8 René Fürst 2016-11-09 20:43:23 UTC
Created attachment 102152 [details]
Patch for plasma-desktop

The two patches fix the issue but I had to touch plasma-framework. If you agree with all the changes then I'd be happy to find it merged. Otherwise you can at least use it as base for fixing the issue.
Comment 9 Eike Hein 2016-11-10 13:27:08 UTC
Thanks for you work. Would you mind putting these on Phabricator or ReviewBoard? They might get forgotten on Bugzilla (we don't really use it for patch review).
Comment 10 Nate Graham 2017-09-05 19:58:29 UTC
Ping! René, we would still really appreciate your patch. Can you upload it to http://phabricator.kde.org/? Thanks!
Comment 11 Alexander Mentyu 2018-02-02 10:21:28 UTC
there is some delay on initial hover over app icon - same delay can be used for hovering over another app icons on the panel - for better consistency
Comment 12 Alexander Mentyu 2018-02-02 16:00:37 UTC
*** Bug 388744 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2018-02-04 20:21:54 UTC
Linus Shoravi has helpfully submitted the patches for Réne:

https://phabricator.kde.org/D10304
https://phabricator.kde.org/D10305
Comment 14 Eike Hein 2018-02-07 06:39:07 UTC
*** Bug 389987 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2020-10-21 03:33:14 UTC
*** Bug 427958 has been marked as a duplicate of this bug. ***
Comment 16 Nate Graham 2020-11-05 22:03:36 UTC
*** Bug 428731 has been marked as a duplicate of this bug. ***
Comment 17 Nate Graham 2021-01-05 15:01:12 UTC
*** Bug 430700 has been marked as a duplicate of this bug. ***
Comment 18 Richard Payne 2021-01-05 16:40:57 UTC
Nate, you marked my issue as a duplicate of this. This issue is 4 years old.  Is it ever likely to be released?
Comment 19 Nate Graham 2021-01-05 16:41:53 UTC
Once it's fixed, the fix will eventually be released, yes.
Comment 20 Richard Payne 2021-01-05 16:43:41 UTC
Did I misunderstand the above comments from 2 years ago indicating that a patch had been submitted?
Comment 21 Nate Graham 2021-01-05 16:47:48 UTC
Yes they were, but they were never merged because they did not work quite right and the original author never showed up to help revise them.

René, if you're still around, please feel free to re-submit your patches as merge requests at invent.kde.org/
Comment 22 Richard Payne 2021-01-05 17:15:59 UTC
Ah, I see.  Thanks.
Comment 23 Nate Graham 2021-02-07 20:45:03 UTC
*** Bug 432612 has been marked as a duplicate of this bug. ***
Comment 24 Nate Graham 2021-02-07 20:45:28 UTC
Number of duplicates piling up; raising priority.
Comment 25 Nate Graham 2021-02-09 21:25:39 UTC
*** Bug 432705 has been marked as a duplicate of this bug. ***
Comment 26 Kott 2021-02-19 13:46:29 UTC
(In reply to Nate Graham from comment #24)
> Number of duplicates piling up; raising priority.

Is it so hard to fix?
I have to use latte-dock 9.11 which has the proper behavior, but it's more CPU hungry.
Comment 27 Nate Graham 2021-02-19 14:14:05 UTC
Yes, it requires quite a lot of work. In general anything not already fixed is either challenging to do, or evidence that the dev team is currently overloaded.
Comment 28 Nate Graham 2021-08-04 19:04:01 UTC
*** Bug 440105 has been marked as a duplicate of this bug. ***
Comment 29 Szczepan Hołyszewski 2021-08-19 09:30:28 UTC
These hundred-times-a-day ergonomy-wrecking annoyances should be treated with WAY UP THE TOP priority. Like 99% issues are less important than a constantly, relentlessly annoying, focus-destroying glitch in the first-contact UI through which users interact with Basically Everything. If the team is overloaded fixing less important issues, then the solution is simple: STOP working on less important issues, FIX THIS ONE, and THEN resume working on less important issues.
Comment 30 Bharadwaj Raju 2021-10-04 13:53:11 UTC
*** Bug 443176 has been marked as a duplicate of this bug. ***
Comment 31 Bug Janitor Service 2021-10-04 15:13:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/342
Comment 32 Bug Janitor Service 2021-10-04 15:14:42 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/585
Comment 33 Bharadwaj Raju 2021-10-04 15:17:06 UTC
(In reply to Szczepan Hołyszewski from comment #29)
> If the team is overloaded fixing less important issues, then the solution is
> simple: STOP working on less important issues, FIX THIS ONE, and THEN resume
> working on less important issues.

Remember that "the team" is just volunteers who do this in their free time. There is no management dictating what volunteers spend their time on.
Comment 34 Nate Graham 2022-01-13 23:05:00 UTC
*** Bug 448399 has been marked as a duplicate of this bug. ***
Comment 35 Bharadwaj Raju 2022-01-28 19:12:18 UTC
Better solution, using triangle mouse filtering

https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832
Comment 36 Szczepan Hołyszewski 2022-02-10 15:27:02 UTC
(In reply to Bharadwaj Raju from comment #35)
> Better solution, using triangle mouse filtering
> 
> https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832

Could you explain the idea?
Comment 37 Nate Graham 2022-02-11 17:55:51 UTC
*** Bug 449905 has been marked as a duplicate of this bug. ***
Comment 38 Nate Graham 2022-03-26 02:15:18 UTC
*** Bug 451397 has been marked as a duplicate of this bug. ***
Comment 39 Micael Jarniac 2022-03-26 22:43:02 UTC
On https://bugs.kde.org/show_bug.cgi?id=451397 I'm also reporting the issue where, if a window is playing audio, hovering over the mute button also makes the popup disappear.

I'm mentioning that here because that issue was closed, and I didn't want that to get lost.
Comment 40 Nate Graham 2022-08-30 20:45:30 UTC
*** Bug 458460 has been marked as a duplicate of this bug. ***
Comment 41 Johan Sjölén 2022-08-30 22:16:08 UTC
Thank you Nate, for directing my bug to this one. I saw that there has been a suggested fix based on "triangle mouse filtering".
Such a solution seems to previously have been implemented for something else, but the other way around. So at least the technique as named seems legitimate. https://phabricator.kde.org/D13192 
Unfortunately Bharadwaj seems to have abandoned their fix.
Comment 42 Bharadwaj Raju 2022-08-30 23:11:35 UTC
(In reply to Johan Sjölén from comment #41)
> Unfortunately Bharadwaj seems to have abandoned their fix.

Hi. I have not abandoned my fix. It still works and is ready to merge. I am just waiting for approval, since there are some concerns with whether this code can or should be shared with the Kickoff implementation.
Comment 43 Bharadwaj Raju 2022-08-30 23:21:01 UTC
(In reply to Johan Sjölén from comment #41)
> Unfortunately Bharadwaj seems to have abandoned their fix.

I suppose if you're looking at https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832, it might appear "abandoned" since there is only one code review comment on the whole thread. Most of the discussion is in the corresponding Plasma Frameworks MR here: https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/442. Please follow that for progress.
Comment 44 Richard Payne 2022-08-31 16:52:42 UTC
(In reply to Bharadwaj Raju from comment #43)
> I suppose if you're looking at
> https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832, it might
> appear "abandoned" since there is only one code review comment on the whole
> thread. Most of the discussion is in the corresponding Plasma Frameworks MR
> here:
> https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/442.
> Please follow that for progress.

Last comment there was a month ago with no response from Davide.  I'm not a regular with KDE MRs.  What is the expected response times from people?  Is a month usual?
Comment 45 Johan Sjölén 2022-11-20 22:59:44 UTC
(In reply to Bharadwaj Raju from comment #43)
> (In reply to Johan Sjölén from comment #41)
> > Unfortunately Bharadwaj seems to have abandoned their fix.
> 
> I suppose if you're looking at
> https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832, it might
> appear "abandoned" since there is only one code review comment on the whole
> thread. Most of the discussion is in the corresponding Plasma Frameworks MR
> here:
> https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/442.
> Please follow that for progress.

Hi Bharadwaj!  I saw that your more generalized PR was merged, awesome job :-). Do you happen to know whether this ticket should be considered fixed?
Comment 46 Bharadwaj Raju 2022-11-21 02:21:07 UTC
Hi. My MR extracting the Kickoff mouse filter into a library was merged, but I'm afraid the application of it to the task manager still has problems which I need to sort out. See https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1231. This bug isn't fixed yet, I'm sorry.
Comment 47 Szczepan Hołyszewski 2023-02-07 22:51:58 UTC
(In reply to Bharadwaj Raju from comment #35)
> Better solution, using triangle mouse filtering
> 
> https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/832

Could you please explain this idea? I don't understand what "triangle mouse filtering" _is_, but as a solution to a problem that could be solved with a simple debounce, it sure _sounds_ like Spaceballs teleportation.
Comment 48 Bharadwaj Raju 2023-02-07 22:57:16 UTC
> Could you please explain this idea? I don't understand what "triangle mouse filtering" _is_, but as a solution to a problem that could be solved with a simple debounce, it sure _sounds_ like Spaceballs teleportation.

It's pretty straightforward in theory. Read https://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown. It's already used in practice in Kickoff's sidebar, and it works well there. The problems are all with the practical difficulty of getting it to work in a panel context with dynamically-sized and -positioned tooltips as the targets.

I made an MR with a debounce solution long ago — I think it's linked somewhere here even — but it was rejected because it makes all tooltips noticeably slower for any debounce length which effectively filters out the bad cases.
Comment 49 Bharadwaj Raju 2023-02-07 23:58:00 UTC
At any rate, I believe I've solved those remaining problems as well, and we should be closer to a merged solution.
Comment 50 Bharadwaj Raju 2023-02-08 18:36:06 UTC
Fixed in master and 5.27 branch. I expect the fix will be there in the 5.27.1 release.
Comment 51 Nate Graham 2023-02-08 18:44:17 UTC
5.27 hasn't been tarred yet, so it'll be fixed in 5.27.0, in fact!
Comment 52 Bharadwaj Raju 2023-02-27 08:01:09 UTC
Git commit 7f1233a4ad50d70af9cbc39ff957a7cb1c47ed9b by Bharadwaj Raju.
Committed on 08/02/2023 at 17:55.
Pushed by bharadwaj-raju into branch 'master'.

applets/taskmanager: Triangle mouse filtering, with the component this time

Use the triangle mouse filter component from Plasma Workspace.
Related: bug 347041

M  +3    -0    applets/taskmanager/package/contents/ui/Task.qml
M  +81   -36   applets/taskmanager/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-desktop/commit/7f1233a4ad50d70af9cbc39ff957a7cb1c47ed9b
Comment 53 Bharadwaj Raju 2023-02-27 08:01:41 UTC
Git commit 6b0dd6514faad6d0803dc0d58ed93d995b82c237 by Bharadwaj Raju.
Committed on 08/02/2023 at 17:57.
Pushed by bharadwaj-raju into branch 'Plasma/5.27'.

applets/taskmanager: Triangle mouse filtering, with the component this time

Use the triangle mouse filter component from Plasma Workspace.
Related: bug 347041


(cherry picked from commit 7f1233a4ad50d70af9cbc39ff957a7cb1c47ed9b)

M  +3    -0    applets/taskmanager/package/contents/ui/Task.qml
M  +81   -36   applets/taskmanager/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-desktop/commit/6b0dd6514faad6d0803dc0d58ed93d995b82c237