Currently, when the panel height is increased, at some point, the system tray becomes two-rowed. Observation 1: This saves space and the icons keep their original size Observation 2: The icons of most user-added plasmoids increase in size which looks kind of disproportionate. Suggestion: It would be nice if the icons of user-added plasmoids keep their original size but arrange differently, see screenshots which shows as mockup the printer plasmoid, quick share plasmoid and the show desktop plasmoid: https://forum.kde.org/viewtopic.php?f=285&t=124799&start=15#p349458 (first screenshot: current state, second screenshot: proposed state) See also https://bugs.kde.org/show_bug.cgi?id=356604
It will be awesome. A thumb from me.
To achieve what's in the mockup, one just needs to add the printer and share icon as applets in the system tray instead of applets in the panel. Making all the applets the size of the system tray is something you *really* don't want - it would make the clock smaller, the taskbar smaller, and the K icon smaller. That wouldn't make any sense. Which leaves you in a problem of "what's an icon and what isn't" how do you tell, which ones do you resize if any. What about when it's on a panel with no system tray? What about an icon placed next to the K (assuming a default layout) should that be smaller? If someone has an actual answer for that, brilliant. But we can't do much with a mockup that aribtrarily moves two icons but doesn't explain how it moved those two. and if the answer is the user chooses if they act like something in the system tray or not, then you've just designed what we currently have.
> To achieve what's in the mockup, one just needs to add the printer and share icon as applets in the system tray instead of applets in the panel. This seems to be a solution. I - in my role as user - just tried with Plasma 5.8.2 to do this. But I could not find out how to do it. Or is it a matter of adding those into the list of choosable applets in the System Tray Settings? (1) > Making all the applets the size of the system tray is something you *really* don't want - it would make the clock smaller, the taskbar smaller, and the K icon smaller. That wouldn't make any sense. You are right. I see three types of applets: 1) The ones with "content": clock (show time and date), taskbar (show running programs) and system tray (give access to background apps and services) 2) The ones with an icon only: Printers, Quickshare 3) The ones with special locations (and icon only): K menu on the left-most side and Show Desktop on the right-most side. As you can see on the mock-up, I also squeezed the Show Desktop applet to the width of a tray icon but the height fills the panel. (2) It depends on the actual applet which resize policy is a good one. I think, the Show Desktop squeeze behaviour could fixed in the applet's code without changing anything else. > If someone has an actual answer for that, brilliant. One generic idea I see is the following (assuming that the method in (1) is not working): There could be a new container applet that can be placed by the user anywhere on the panel. To this container applet the user can add other applets which will be (auto-)arranged in the described way. Then it would be up to the user how the icons next to the K menu would size. To make things less complex (for the user), there could some default empty applet containers be placed on strategic locations (between K menu and taskbar, between taskbar and system tray; between system tray and clock). When adding a new applet, the user could decide to drop inside a container (applets become smaller) or next to it (applets take full space). However, I can see that actually implementing this properly and intuitive is not an easy task and probably too much when compared to what is gained. Another idea: the applets themselves could know which of the three types they are. When more than one icon-only applet are placed next to each other the auto-arrange functionality would kick in when the panel size increases. > But we can't do much with a mockup that aribtrarily moves two icons but doesn't explain how it moved those two. Yes. Please note - see (2) - that the mockup also squeezes a third icon (the Show Desktop). > and if the answer is the user chooses if they act like something in the system tray or not, then you've just designed what we currently have. See (1).
>Or is it a matter of adding those into the list of choosable applets in the System Tray Settings? (1) Yes. I can maybe support maybe support D&D from widget explorer?
Git commit bd0eb992d8d999636119d6db97e50cd0ced1d010 by David Edmundson. Committed on 02/11/2016 at 11:15. Pushed by davidedmundson into branch 'master'. Support drags from Widget Explorer onto System Tray Summary: Some users complain that applets do not behave like applets in the system tray, this is because they're not adding them in the system tray. This makes it a bit more intuitive to add applets to the system tray by allowing drag and drop of applets with NotificationArea=true into the system tray. Test Plan: Dragged digital clock over system tray system tray moved and the clock was added to the side Dragged kate sessions over system tray on drop, kate sessions applet was added to the tray Reviewers: #plasma Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D3212 M +42 -0 applets/systemtray/package/contents/ui/main.qml M +5 -0 applets/systemtray/systemtray.cpp M +2 -0 applets/systemtray/systemtray.h http://commits.kde.org/plasma-workspace/bd0eb992d8d999636119d6db97e50cd0ced1d010
Gregori, is there anything else concrete that I can implement to help with this?
Hello David, sorry for taking so long with a reply. Thank you for the implementation. Your test cases work for me, too. I think, the next steps would be to add NotificationArea=true (for reference I found this: https://community.kde.org/Plasma/DeveloperGuide#Notification_Area_.28Systemtray.29) to more applets. I have identified the following applets where the Notification area property could be set: - Dictionary - Calculator - Calendar - Quick Share - KDevelop Sessions - Konsole Profiles - Search