Bug 461481 - Cycle through only grouped tasks when scrolling over grouped task icon
Summary: Cycle through only grouped tasks when scrolling over grouped task icon
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager (show other bugs)
Version: 5.26.2
Platform: Other Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-06 03:30 UTC by evea
Modified: 2024-04-03 21:49 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
The updated tools.js (11.35 KB, application/x-javascript)
2024-01-19 00:29 UTC, evea
Details
A version close to the original (8.79 KB, application/x-javascript)
2024-01-19 17:09 UTC, evea
Details
The finished, but code outdated plasmoid (54.47 KB, application/zip)
2024-01-20 03:50 UTC, evea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description evea 2022-11-06 03:30:42 UTC
Hello,

Currently, if there is only one window/instance of the application open, and you scroll on that, it will cycle through all your open windows.

I would argue when someone is trying to show/scroll through a certain application, the person is not interested in other windows, this is only confusing. Especially because in a fast workflow, it is not clear at first glance if there are other windows open. So the user expects something to happen and will see two different results.

My suggestion is that using the scroll wheel on an application, should always only scroll through the actual application, if only one windows/instance is open, then just show that.
Comment 1 evea 2022-12-05 22:29:02 UTC
Is there any way we can take this from latte-dock? The behavior there was perfect. I have tried my self, but failed miserably.
Comment 2 evea 2023-09-30 04:55:39 UTC
Saw this in a post, which is a better explanation.

L-Click - open application

Mittle mous - create new instance of application

Scroll down - loop through open windows of that application

Scroll down - If the application is not open, open a new window. If one is open, loop through windows in the opposite direction of scroll down.

In both scrolls, it will just show the open window if only one is present. Never a random other application.
Comment 3 evea 2023-12-06 22:37:16 UTC
Does really nobody else care about inconsistent behavior in the main task manger? I have to use latte tasks as a replacement, which is causing a ton of other problems.

I thought this would be a must for Plasma 6, as UX seems to be a priority, and this is absolutely breaking it.
Comment 4 evea 2023-12-06 22:39:38 UTC
(In reply to evea from comment #2)
> Saw this in a post, which is a better explanation.
> 
> L-Click - open application
> 
> Mittle mous - create new instance of application
> 
> Scroll down - loop through open windows of that application
> 
> Scroll down - If the application is not open, open a new window. If one is
> open, loop through windows in the opposite direction of scroll down.
> 
> In both scrolls, it will just show the open window if only one is present.
> Never a random other application.

* Scroll down - If the application is not open, open a new window. If one is open, loop through windows in the opposite direction of scroll down.

Should be "Scroll up"
Comment 5 evea 2024-01-19 00:27:56 UTC
I have found the time to get to this. Scrolling up/down still opens the application, where in my opinion only scroll up should do so, best with a toggle in the settings.

Either way, the updated scroll behavior works and feels much better and is consistent when working. If only one windows of an application is open, it will only ever display that application.

No sure where to put the code, so I will add the updated tools.js file as an attachment.
Comment 6 evea 2024-01-19 00:29:23 UTC
Created attachment 165025 [details]
The updated tools.js
Comment 7 evea 2024-01-19 17:09:38 UTC
Created attachment 165043 [details]
A version close to the original

Alternatively, if the provided tools.js is too far off from the original.
Comment 8 Nate Graham 2024-01-19 18:01:40 UTC
That's cool! However patches in bug reports tend to get lost or ignored. Could you submit your proposed changed as a Merge Request at https://invent.kde.org/plasma/plasma-desktop/-/merge_requests? If you're unfamiliar with this process, see https://community.kde.org/Infrastructure/GitLab#Submitting_a_merge_request.

And make sure to put `BUG: 461481` on its own line in the git commit message and MR description. Thanks!
Comment 9 evea 2024-01-20 01:41:44 UTC
I have also removed the opening applications via scroll wheel, but added an option in the settings to enable application launches via scroll up. So now I am at the fully suggested functionality.

I will try to create a merge request, looks like a challenge of its own.
Comment 10 evea 2024-01-20 03:50:50 UTC
Created attachment 165062 [details]
The finished, but code outdated plasmoid

What a waste, after setting everything up for 2 hours, I noticed that the code on gitlab is different from the version on my arch install.

So, if this is usefully for anyone else, here is the plasmoid.
The edited files are:
.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/code/tools.js
.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/ConfigBehavior.qml
.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/MouseHandler.qml
.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/Task.qml
Comment 11 evea 2024-01-21 06:18:59 UTC
I have tried adding this to the current plasma 6 code, to see if the application is running, I checked "TaskManager.AbstractTasksModel.IsActive", which used to return "undefined" if the application was not running. Looks like now it returns false. Do you maybe have an alternative method for me?