Bug 455560

Summary: Window List applet's text label should be optional
Product: [Plasma] plasmashell Reporter: Denis Lisov <dennis.lissov>
Component: Window ListAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: wishlist CC: nate, uhhadd
Priority: NOR    
Version: 5.25.0   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=360309
Latest Commit: Version Fixed In: 5.26
Sentry Crash Report:

Description Denis Lisov 2022-06-18 17:10:47 UTC
SUMMARY

Since the recent upgrade to Plasma 5.25.0 the "Window List" applet in a horizontal panel displays both the icon and the (application?) name of the current window, which makes the applet width variable. The applet should have an option to either hide that label (preferred) or otherwise make its width fixed.

On my panel I have both a Task Manager applet (for the normal case when I have only a few windows) and a Window List applet (for the case when I need many windows and choosing the right one from the panel becomes problematic). In this case the variable-length label becomes annoying because every switch to a different application causes it to expand or shrink, changing the size left for the Task Manager and causing all window buttons to slide. This almost whole-panel motion feels wrong, especially when switching with a keyboard shortcut.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.4+patches (Gentoo unstable 5.15.4-r3)
Comment 1 Nate Graham 2022-06-21 17:26:41 UTC
I understand that the variable length based on window title can become annoying, but a list of windows (per the widget's name) pretty much has to display the window title. If it only displays the icon, it's not a list anymore, and furthermore, only showing icons would leave you unable to visually distinguish between windows that have the same icon, as when you open multiple windows of an app. If we capped the length, then it would elide long text at a certain point and that would be annoying too.

So I don't think we can go back to the way we had it before, sorry.
Comment 2 Denis Lisov 2022-06-21 21:50:16 UTC
(In reply to Nate Graham from comment #1)
> I understand that the variable length based on window title can become
> annoying, but a list of windows (per the widget's name) pretty much has to
> display the window title. If it only displays the icon, it's not a list
> anymore, and furthermore, only showing icons would leave you unable to
> visually distinguish between windows that have the same icon, as when you
> open multiple windows of an app. If we capped the length, then it would
> elide long text at a certain point and that would be annoying too.

Sorry, I may have stated the question not clear enough.
Up to Plasma 5.24 the Window List applet used to have a single function: provide a way of choosing the window to switch to in two clicks via the popup. Since 5.25 it also has the second function of showing the user which application is active at the moment by replacing a small "open window list" button with a bigger and variable-size "current application" button.
I don't have any problems with the window list pop-up itself showing both window icons and full-length window titles - as you say, it would be strange to have a list of windows that would not actually list windows. What I'm asking for is an option to disable the second function and go back to a "open window list" button instead of a "current application" one.
For me the "current application" button provides no useful information because (a) the application that's currently active is part of my working context that's hard to lose track of, (b) this information isn't needed often as one usually cares about the window they're switching to, not the one they're switching from, and (c) it's easy to find the active window frame or look at the Task Manager applet even if lost. Furthermore, as the button displays the application name and not the window name it's already useless for distinguishing between windows of the same application, and the icon would be enough for distinguishing between different applications in most cases.

Could you please clarify if I'm misunderstanding something or not understanding the intended use cases? It really looks to me like replacing the "open window list" panel button with the "current application" panel button trades panel space and layout consistency (due to variable width) for extra information that's in many cases both obvious from other indicators (decorations, task manager applet, etc) and useless / unactionable (do you often happen to ask yourself "what application does the focused window belong to"?).
Comment 3 Nate Graham 2022-06-22 15:49:03 UTC
I understand. Thanks for the clarification.

In fact we added the mode you want for vertical panels, where there is never enough space for a label. We could probably bubble that up as a user-facing config option:

[] Show text when used on a horizontal panel
Comment 4 Bug Janitor Service 2022-06-23 21:00:25 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1001
Comment 5 Nate Graham 2022-06-29 22:57:28 UTC
Git commit 764b072fe82b3ee31aed6bd0d3ddf23e6810f844 by Nate Graham.
Committed on 29/06/2022 at 22:57.
Pushed by ngraham into branch 'master'.

Make windowlist app name display configurable

Before Plasma 5.25, this widget's panel button was always just an icon. That
changed in 5.25, so now it also has text when used on a horizontal panel,
where there's space for it. This makes the widget awkward if there are other
widgets adjacent to it, because its width will constantly change based on the
name of the active application, causing other widgets to shift around and
breaking the user's muscle memory. On the other hand, this is fine as long as
the widget has a flexible spacer between it and any other widgets, or if its
adjacent widgets have their own built-in space-filling flexible spacers, as
the Task Manager and Global Menu widgets do.

Because that can't be programmatically determined, and also because users of
horizontal panels may prefer the icons-only version anyway, let's make this
configurable.

This new config option only works when the widget is located on a horizontal
panel, so it automatically disables itself and shows an explanatory message
when it's being used in any other circumstance.

| Config UI when the widget is on a horizontal panel | Config UI when the widget is on a vertical panel | Config UI when the widget is on the Desktop |
| -------------------------------------------------- | ------------------------------------------------ | ------------------------ |
| ![Horizontal_panel](/uploads/a8b6da1269f316dd8eec024ada89b1e6/Horizontal_panel.png) | ![Vertical_panel](/uploads/f079d4e34f67df93e4cdca923c68c29f/Vertical_panel.png) | ![Desktop](/uploads/3aed5d892fe4f8d83cde6a8fddef476c/Desktop.png) |
FIXED-IN: 5.26

@cblack @teams/usability @teams/vdg

A  +17   -0    applets/window-list/contents/config/config.qml     [License: GPL(v2.0+)]
A  +18   -0    applets/window-list/contents/config/main.xml
A  +54   -0    applets/window-list/contents/ui/ConfigGeneral.qml     [License: GPL(v2.0+)]
M  +1    -1    applets/window-list/contents/ui/MenuButton.qml

https://invent.kde.org/plasma/plasma-desktop/commit/764b072fe82b3ee31aed6bd0d3ddf23e6810f844