New systemtray: beginnings and how to do

Marco Martin notmart at gmail.com
Sun Feb 15 15:47:26 CET 2009


Hi all,
i've began to implement some pieces of the new systemtray spec (i'm trying to 
recall what we discussed and decided, so maybe still not perfect),
for now i have

a kded that watches all the apps that want a systray entry (to make it work 
across different plasma sessions)
this is in playground under plasma and is called SystemTrayDaemon and 
exposes a dbus object called SystemTrayWatcher with the 
org.kde.SystemTrayDaemon interface (wonder if it's the best name for it, maybe 
everything SystemTrayWatcher or else?)

a protocol in the systemtray that for now just registers/unregisters icons 
that won't do nothing based on what SystemTrayDaemon does
it's composed by 
a DBusSystemTrayTask subclasses Task and rapresents the icon

DBusSystemTrayProtocol subclasses Protocol and listens to 
SystemTrayDaemon to know what icon create/destroy

this thing is still uncommitted unfortunately

this basic thing works fairly well by now, what is totally missing of course 
is the big part, the comunication infrastructure with the app (don't even 
remember the details of the whiteboard right now) but i would be really happy 
already if i could manage to get in a reliable way the add/remove of icons, 
since is not a thing that is harmful for the rest (all the rest of the systray 
is unchanged, layouting of generic Plasma::Icon seems flawless luckily :)

so what would need to go in workspace would be the daemon and the protocol 
(biggest issue perhaps having good names) not too confident making a branch 
would work (did never work until now, for things like the systray refactor and 
the taskbar refactor...)

Cheers,
Marco Martin



More information about the Plasma-devel mailing list