VDG suggestions and wishes about the system tray

Marco Martin notmart at gmail.com
Mon Sep 1 08:33:29 UTC 2014


On Saturday 30 August 2014, Eike Hein wrote:
> On 30.08.2014 14:31, Thomas Pfeiffer wrote:
> > I just looked up the draft specification (since there is no final one
> > yet) from our side [1] and looky what I found:
> > 
> > "Passive: The item doesn't convey important information to the user, it
> > can be considered an "idle" status and is likely that visualizations
> > will chose to hide it."
> > 
> > Yes, that doesn't say that Plasma will definitely hide passive SNIs, but
> > according to this specification, developers should actually _expect_
> > visualizations to hide passive SNIs. So,  according to this
> > specification, applications that rely on passive SNIs _not_ to be hidden
> > are clearly doing it wrong, and we could hit them over the head with the
> > spec if they complain.
> 
> I disagree with this premise. The spec is simply vague. "Hiding"
> can mean "remove from field of view". Something hidden generally
> still exists, and can be reached somehow. This is in fact the
> meaning of "hidden" in our current UI (not just in the tray, btw.
> - think of panel auto-hide). It's worth pointing out that the
> designers of that UI contributed to the spec you're talking about.

a bit of explanation of why the spec was done this way.
Its premise is exactly to say as less as possible on how the thing should 
*look*, it's merely a description of a model with at most some suggestion on 
the implementation.

exactly for the reason that some day, we would have wanted to make it look 
slightly different, like, now.

now the problem, rather than just of what visual representation, is more 
functional: if the item is completely hidden, I lose completely the 
possibility to get back to its window.
This is a problem explicitly of applications that use the systray as a mini 
taskbar, that's kinda evil but's that's how it is.. but wait
this is just a subset, and we have data for that, the items do say if they are 
"application", "system" "network control"

what I suggest is the following heuristic, done expressely to work in the 
maximum amount of use cases
* hide passive statusnotifiers when are *not* of type "application" (so like 
ktorrent, konversation, kmail would stay there regardless, some "system" 
utility would hide)
* for plasmoids, add a new state, so permits to do a more fine grained 
control, and would be responsibility of the plasmoid to actually show and hide 
itself, because only plasmoids are controlled enough to be "trustable" enough 
to do the right thing.

-- 
Marco Martin


More information about the Plasma-devel mailing list