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