Mart

a cute little home a cute little boy a cute little cow: mooo!

Tale of a little pixel

a cute little girl

Pretty system tray: not just about icon themes

It's good to see other parts of the OSS community looking at the current state of the X system tray and not be satisfied at all, it's good because as you can see from this blog, i think the current approach is really really limited in many ways, as it was explained several times...

This time is about look... now, the idea of having monochrome systray icons is actually quite good, but is quite a pita with the current protocol and actually a good use case for the new one.. why?

Let's say we have a black panel (as the mockup of jono's blog), so it's reasonable to expect we want white icons, but what about if we suddenly change our color scheme to a light colored one? (or plasma theme in case of KDE)
Of course the icons will become invisible, so we could need to change all of them to another theme on the fly, and this could mean also that those icons can't belong to the system wide icon theme, or we could have to change the global theme just for the systray, that's no good, right? :)

Now, the current systray protocol requires that is the application itself draws its own icon, and this theme-dependent icon color switching is kinda possible (just open the configuration of the panel... by every application) but it's really clumsy and not cross desktop at all.

The dbus based systray protocol we're working on requires instead that is the systray the one who paints all the icons, and being part of the panel of course it knows well what the color scheme is.
The icons can be sent in Dbus by data, passing all the icon bytes themselves and in this case of course we can't do much more than painting what it arrives, but the recomended way is to just pass the icon name (following the icon name freedesktop spec of course) and in this way we can decide where to pick this icon, we could have systray-specific icon themes dependent from the color scheme (falling back to the system wide one of course)

Now, I don't know if we'll actually implement a thing like that and if it's worth the effort, but it's a while we are talking about that thing and i think soon or later I'll give this idea a spin :D



Submit comment



Article: