Aurélien Gâteau

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.

This post was tagged dbusmenu, gnome, kde and statusnotifieritem

Comments

  • sheytan - Thu Dec 24 2009, 19:46 - link

    Does it mean that all apps will have plasma themed menus? If yes, can they look like a popup applet?

    • Aurélien - Thu Dec 24 2009, 20:03 - link

      The Plasma look should probably be discussed with KDE artists. As I said it's a work in progress, it may go back to classic menu look. Right now I am using a patch from Fredrik Höglund (thanks a lot by the way!) to get Plasma-themed menu, but this does not exist yet in Plasma.

    • CoolGoose - Thu Dec 24 2009, 19:47 - link

      This is very cool, i really do hope that DBusMenu takes off

      • Keith - Thu Dec 24 2009, 19:50 - link

        The download link isn't working.

        • Aurélien - Thu Dec 24 2009, 20:00 - link

          Argh! Vimeo requires you to get an account to download original videos. Time to look for another video host...

          • Aurélien - Thu Dec 24 2009, 21:15 - link

            I moved the video to blip.tv, download link should work now.

          • mutlu - Thu Dec 24 2009, 20:08 - link

            This is a wonderful contribution!

            • anon - Thu Dec 24 2009, 21:17 - link

              Great! I wonder if such an approach could be exapted to provide a cross-desktop Global Menu (ala OS X)?

              • ethana2 - Wed Feb 03 2010, 5:11 - link

                It will be cool to be able to use KDE apps with gnome-globalmenu, I think it's on the roadmap..

                • furanku - Sat May 01 2010, 4:51 - link

                  Mark Shuttleworth recently blogged exactly about that, suggesting such a unified global menubar as default for the 10.10 netbook release:

                  http://www.markshuttleworth...

              • dylan-m - Thu Dec 24 2009, 22:17 - link

                It's really cool to see this happening. Hopefully two years from now we won't have to worry about applications abusing the system tray again! :)

                (The need for a menu should provide the differentiation this type of thing needs from minimizing windows).

                • thorGT - Thu Dec 24 2009, 22:18 - link

                  Perfect! The new systray spec is what will eventually lead us to a Dock, which is actually one of the most requested features for KDE (and I think AWN or any other dock implementation out there does not solve the actual problem). Now to finalize this and synthesize it with the task manager thing, killing the latter. Win7 task manager FTW..... (really awesome thing, after you use it for some time, but this seems OT)

                  • Markus - Sat Dec 26 2009, 1:11 - link

                    What's with those missing icons?

                    • Aurélien - Sun Dec 27 2009, 2:20 - link

                      You mean in Rhythmbox menu? As I said, it's one of the problems to fix: right now there is no code (that I know of) in kdelibs able to load "gtk-quit" or "gtk-media-next".

                      • martinsandsmark - Mon Dec 28 2009, 0:54 - link

                        What's the point of a shared icon spec, if they start prefixing stuff with "gtk-"...? :-P

                        • Markus - Sat Jan 09 2010, 0:35 - link

                          No. KAlarm.

                      • BIg Chief - Wed Feb 03 2010, 4:24 - link

                        15 years after Win95 and we've only just managed to emulate what they did with their status icons? Oh dear.

                        • mpt - Thu Feb 04 2010, 3:50 - link

                          No, what Windows 95 did was emulated by Gnome a decade ago.

                          What we’re changing to now is much more obvious and consistent than the mess Windows has: http://blogs.msdn.com/oldne...

                          It would take Microsoft a long time to emulate in Windows what we’re doing here, because Windows caters for so much legacy proprietary software.

                        (Comments are closed)