Bug 377923

Summary: Task manager grouping popup list only shows 15 windows, no option to scroll
Product: [Plasma] plasmashell Reporter: Ted Kandell <ted_kandell>
Component: Task Manager and Icons-Only Task Manager widgetsAssignee: Eike Hein <hein>
Status: VERIFIED WORKSFORME    
Severity: normal CC: lanthruster, plasma-bugs-null
Priority: NOR Keywords: triaged
Version First Reported In: master   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Ted Kandell 2017-03-22 12:50:12 UTC
The Task Manager option, "Open groups in popups", produces a vertical list of windows for the group (e.g. by program name), which only shows entries. The rendering of the last in the list appears to be below the taskbar. Open users have many more windows open for a program than 15, for example many more Dolphin windows, which can serve as a reminder for various tasks. The inability to scroll this list means that all windows cannot be accessed from the taskbar when grouped. 

Not grouping with a large number of windows causes each window to have a very tiny icon which is almost indistinguishable from the others. Scrolling through a large number of ungrouped windows in the taskbar, even with tooltips, is very time consuming.

Another option, the Window List which has a scrollable popup, does not have the ability to group windows by program name, and in fact has no settings at all.

This happens even if the "maximum rows" is set to 99. (Apparently this has nothing to do with the popups.)

A simple solution is to have the popup list be scrollable when the list exceeds a certain number or height.
Comment 1 Eike Hein 2017-03-22 13:07:05 UTC
Please specify your version number.

That dialog was rewritten for Plasma 5.9 and is now scrollable.
Comment 2 Andrew Crouthamel 2018-09-28 02:29:22 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Andrew Crouthamel 2018-10-28 03:34:06 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 4 LTHR 2022-11-16 20:43:08 UTC
I confirm, the same bug is still in Version 21.04.3  :-), just hit accidentally, an annoying thing - the regression from the previous KDE releases

Now how you can fix it:

1. Copy /usr/share/plasma/plasmoids/org.kde.plasma.taskmanager to ~/.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/
2. Open  ~/.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/GroupDialog.qml
    and change 
    readonly property int preferredHeight: Screen.height / (2 * Screen.devicePixelRatio)
    to
    readonly property int preferredHeight: Screen.height / (1 * Screen.devicePixelRatio)
   this will give you the full screen height for the grouped tasks 

You may all so want to change 
    readonly property int preferredWidth: Screen.width / (3 * Screen.devicePixelRatio)
   to
    readonly property int preferredWidth: Screen.width / (2 * Screen.devicePixelRatio)
Comment 5 LTHR 2022-11-16 21:49:54 UTC
And while I was looking through GroupDialog.qml I found another bug. 

to see the bug set: 
a. task grouping set to at least "By program name" (irrelevant though)
b. clicking grouped text set to "Show textual list" 

open 5 konsoles, they should be stacked and popuped as 5 terminals normally when clicked on konsole icon in the task bar
now open any 2 identical tasks that would stack into one group say chromium 

And now the bug: 
First click on konsole icon - 5 items would popup normally
Now click again on konsole icon - 5 items would close normally 
And now click on Chromium icon - you will see that the popup opens with 2 chromium tasks but the height of 
this popup would be the same as the height of the previous grouping popup that contained 5 konsoles - an ugly looking thing 

How to fix it: 
1. override the system org.kde.plasma.taskmanager with a the local copy like with the previous fix or skip this if you already
have a copy of it in your ~/.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/
2. open ~/.local/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/GroupDialog.qml 
  
find 
    onVisualParentChanged: {
        if (visible && visualParent) {
            attachModel();
        } else {
            visible = false;
        }
    }

  and change it to 

    onVisualParentChanged: {

// Fixed 
        updateSize();

        if (visible && visualParent) {
            attachModel();
        } else {
            visible = false;
        }
    }

that's not all, find 


    onVisibleChanged: {
        if (visible && visualParent) {
            _oldAppletStatus = plasmoid.status;
            plasmoid.status = PlasmaCore.Types.RequiresAttentionStatus;

            attachModel();

            groupDialog.requestActivate();
            mouseHandler.forceActiveFocus();
        } else {
            plasmoid.status = _oldAppletStatus;
            visualParent = null;
            groupRepeater.model = undefined;
            groupFilter.model = undefined;
            groupFilter.rootIndex = undefined;
        }
    }

and change it to 

    onVisibleChanged: {

// Fixed 
        updateSize();

        if (visible && visualParent) {
            _oldAppletStatus = plasmoid.status;
            plasmoid.status = PlasmaCore.Types.RequiresAttentionStatus;

            attachModel();

            groupDialog.requestActivate();
            mouseHandler.forceActiveFocus();
        } else {
            plasmoid.status = _oldAppletStatus;
            visualParent = null;
            groupRepeater.model = undefined;
            groupFilter.model = undefined;
            groupFilter.rootIndex = undefined;
        }
    }
  
and that will fix the annoying bug with the wrong height of the window that allocates stacked (grouped) tasks