StatusNotifierItem and DBusMenu
written on Thursday, December 24, 2009
One of the projects my team at Canonical is working on is a GNOME implementation of the StatusNotifierItem spec created by Plasma developers, as well as another spec named DBusMenu. The goal of DBusMenu is to make it possible for applications using the StatusNotifierItem spec to send their menus over DBus, so that the workspace can display them in a consistent way, regardless of whether the application is written using Qt, GTK or another toolkit.
As the KDE guy of the team, I have been working on implementing DBusMenu for KDE. It is still very much a work in progress, but it's starting to take shape. Here is a screencast of what it looks like so far:Download original
As you can see, it still needs a lot of work, for example support for menu titles is not there yet and Rhythmbox icons are not found (surprisingly, KDE does not ship with "gtk-quit" or "gtk-media-next" icons :)). But it's starting to be usable, and I find it nice to get a Plasma-themed menu when I right-click on the Rhythmbox icon! It's also nice to get mouse over effects on this icon as well (it's not very visible in this video, but look at the Rhythmbox icon at 0:27)
This definitely won't be part of KDE 4.4, but hopefully should be ready for 4.5. For now the KDE part of this work is hosted on KDE Subversion server, in a work branch: branches/work/~agateau/dbusmenu.
PS: The version of Rhythmbox you see in this screencast comes from the Personal Package Archive (PPA) Ted mentioned in his post.
PPS: Should you be interested in trying this, contact me because for now you need special versions of libdbusmenu and libappindicator (the libraries behind the GTK implementation) for the icon and menu to show up in KDE System Tray applet.
Update: Moved video to blip.tv because vimeo.com does not allow downloading the original if one does not have an account.