My ideal tray implementation would be something like this.
- apps would be minimized as "hidden to tray", unless configured otherwise, to avoid cluttering the main tray area.
- any app opened from the tray would always open on the current desktop (either it would be pinned to all or moved accordingly)
- [already done] taskbar, switcher and overview are skipped.
- some apps already have tray icons and are not configured to skip the switcher or to always open on the current desktop, it would make sense to allow for the appropriate, streamlined configuration of these already existing apps from within the plugin.
- clicking outside any minimize-to-tray app window minimizes it back to the tray (optional toggle)
This is basically consistent with the idea that the tray should be a receptacle for background apps that can quickly be opened and dismissed without getting in the way of your desktop workflow.
There's also a lot that is far from than ideal about KDE default tray implementation: hover feedback is nonexistent, normal spacing is a bit too small, large is too big, tray doesn't close when you click on the panel, no way to reorder or group icons, or to prevent new ones from cluttering your up main tray area, the tray plasmoid is needlessly big and clunky with its headerbars, the hidden tray items aren't keyboard accessible - you have to click the arrow, I got some more ideas on this score but I'll stop here. All this is to say that it may make more sense to implement this stuff as part of a full blown fork of the systray. Similarly, some of your other projects may have been simpler and more robust if you just forked the Plasma panel.
Second paragraph is just me thinking outloud, and it's totally understandable if you'd rather not go down that rabbit hole. The bullet points however should be actionable within the scope of your project.
My ideal tray implementation would be something like this.
This is basically consistent with the idea that the tray should be a receptacle for background apps that can quickly be opened and dismissed without getting in the way of your desktop workflow.
There's also a lot that is far from than ideal about KDE default tray implementation: hover feedback is nonexistent, normal spacing is a bit too small, large is too big, tray doesn't close when you click on the panel, no way to reorder or group icons, or to prevent new ones from cluttering your up main tray area, the tray plasmoid is needlessly big and clunky with its headerbars, the hidden tray items aren't keyboard accessible - you have to click the arrow, I got some more ideas on this score but I'll stop here. All this is to say that it may make more sense to implement this stuff as part of a full blown fork of the systray. Similarly, some of your other projects may have been simpler and more robust if you just forked the Plasma panel.
Second paragraph is just me thinking outloud, and it's totally understandable if you'd rather not go down that rabbit hole. The bullet points however should be actionable within the scope of your project.