Bug 513436

Summary: Large Icons task switcher cuts off icons when many apps are open
Product: [Plasma] kwin Reporter: twisst <jdmeijers>
Component: tabboxAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: jdmeijers, nate
Priority: NOR Keywords: usability
Version First Reported In: 6.5.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=515540
Latest Commit: Version Fixed/Implemented In: 6.6.0
Sentry Crash Report:
Attachments: main.qml for the big icons task switcher that makes icon size dynamic.

Description twisst 2025-12-16 13:24:06 UTC
Created attachment 187698 [details]
main.qml for the big icons task switcher that makes icon size dynamic.

The Large Icons task switcher scrolls the icons when there are too many to fit the screen. This happens when there are a lot of windows open. It is hiding the icons, which is making this task switcher much less useful.


STEPS TO REPRODUCE
1. Set task switcher visualization to 'Large Icons'.
2. Open a lot of applications.
3. Alt+Tab.

OBSERVED RESULT
Icons that do not fit the horizontal row are out of view.

EXPECTED RESULT
It should be scaling the icons down to keep them all in view. (This is how a certain other OS is doing it.)

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 6.14.0-117036-tuxedo (64-bit)
KDE Plasma Version: 6.5.2 
KDE Frameworks Version: 6.19.0
Qt Version: 6.9.2

ADDITIONAL INFORMATION
I applied a fix to the task switcher to change the behaviour on my machine. (I also took out the label with the application name and made the height of the panel dynamic as well so it wraps the scaled-down icons nicely.) I was looking where to offer it as a pull request but the original version in my distro (/usr/share/kwin/tabbox/big_icons/contents/ui/main.qml) does not match the one I found in the repository so that is why I attach the file here as an attachment so others may use it.
Comment 1 Nate Graham 2025-12-18 21:58:48 UTC
Wrapping to the next line would probably be better than scrolling here. That way everything is always in view.
Comment 2 Bug Janitor Service 2025-12-19 12:57:26 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/962
Comment 3 cwo 2026-01-01 19:47:41 UTC
Git commit b6b88a79cbbc2e0379643023943a2592838f71c5 by Christoph Wolk.
Committed on 01/01/2026 at 18:07.
Pushed by cwo into branch 'master'.

kwin/windowswitchers: allow big_icons to use multiple rows

When there is not enough space to show all icons in the big_icons
switcher, it cuts off the list and scrolls through it as the user
moves the currentIndex. This makes it hard to see all the open windows
even if there is in principle enough space on the screen to show them
all.

Instead, we use a gridView, similar to how the thumbnail grid works. In
contrast to thumbnail grid, which tries to build the best grid, we still
want this to feel like a list, so we do not copy its layouting algorithm
but instead just fill up a row of icons as usual, only it is allowed to
wrap onto new rows as necessary. The tabbox does not handle dialog
height resizing well, so we wrap it in an instantiator that creates it
fresh, again similarly to how the thumbnail grid handles it.

M  +37   -24   kwin/windowswitchers/big_icons/contents/ui/main.qml

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/b6b88a79cbbc2e0379643023943a2592838f71c5