KDE Application Indicators In GNOME

Something we have been spending some time working on in this cycle has been fixing the mess that is the system tray. This is based upon an awesome specification submitted to Freedesktop by KDE. The spec has been implemented by KDE, we have written an implementation for the GNOME panel and it shipped in Ubuntu 10.04 Lucid Lynx Alpha 2.

This work has a range of benefits:

  • Better usability: no more confusing mix of left and right click menu options.
  • Multiple indicators can be scrubbed: click once and move your mouse between them instead of having to click multiple times.
  • Icons are properly spaced.
  • Separate panel icons can be specified which helps improve theming.
  • Better KDE and GNOME integration.

I have blogged about this work before, but I had not yet seen the last bullet in action. Here, my friends, is the KDE application Kopete running in GNOME having it’s indicator rendered using GTK menus and respecting GTK icons where appropriate:

Of course, the equivilent happens running GNOME/GTK+ applications in KDE. Rocking!

We have also started adding application indicator support to many of the applications we ship in Ubuntu, and of course these patches are going upstream as they are written. Over the next week or so patches for Brasero, gnome-bluetooth, gnome-control-center, Vino, gnome-disk-utility, and gnome-power-manager will be sent upstream, and we have already sent Nautilus and Rhythmbox patches upstream. We have also seen the community create application indicator patches for Transmission, LottaNZB, Lernid and more.

If you would like to add this rocking support for your app, take a look at this guide and feel free to hang out in #ayatana on Freenode.

  • http://www.nhaines.com/ Nathan Haines

    Beautiful! I’m always encouraged by seeing strong standards being adopted and implemented. One of the things I hear KDE users complain about is that the application indicators just don’t work when they’ve been programmed with GNOME in mind.

    To have a standard that improves the user interface so significantly and automatically enables equal support in both KDE and GNOME is one of those things that makes me excited to use Free Software. This is what makes open standards so powerful.

  • http://hauberg.org Søren Hauberg

    In general, this is great!

    However, I must say that the icon alignment looks soooo out of place. Everywhere else in GNOME, the icons are placed such that the text is aligned. Try clicking on the “Places” menu in the panel, and see how the text is aligned, and then compare that to your screen shot. That is just inconsistent, and it’s not pretty either :-(

  • Rahul Sundaram

    Has there been discussions within the GNOME community about these apart from Ubuntu? It seems patching all those applications on your own is a very inefficient way to do things

    Wouldn’t it be better to propose such changes (notification system and applet for example) to GNOME directly and work with upstream

  • xurfa

    how is this different to the “notificaton area” already implemented in both gnome and kde?

  • jono

    Yep, this is an open spec and has been discussed on the FreeDesktop XDG list and the GNOME desktop-devel list.

    Also, we are not patching all apps, but are patching apps that are shipped in Ubuntu and contributing those patches upstream. All apps are welcome to the use the framework – see https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators for details. :-)

  • alex

    I like the progress very much. One little comment: I think there should be icons on every entry in menu. There is missing icon for “Minimize”, so text get aligned to the right.

    The other think I think it could be better is icons in “Set Status” menu. Now I have to read the text, to know which option I should change. If there are more colors like red color for Busy it would be easier to see the option I want to choose from.

    I also think there are way too much icons in status bar. I use only top bar (I have removed bottom bar years ago) and so now is so little space for active applications.

  • Rahul Sundaram

    Has these modules ever been proposed to GNOME? Don’t think so

  • Pacho

    Nice!

    But, how will systray applets like these behave with gnome-shell? As, if I don’t misremember, gnome-panel won’t be developed more after 2.30…

    Thanks for the info :-)

  • http://pvanhoof.be/blog Philip Van Hoof

    Awesome, making GNOME and KDE work together is great. Thanks for the work!

  • mike

    You seriously think this is not happening?

    There is no reason against this, when it is a FreeDesktop spec…

  • val-gaav

    It’s nice any progress is made on this, but will I ever live the day when Gtk+ apps will -use OK/Cancel scheme on KDE (That’s really the most annoying thing in gtk+ apps for me) -use kdewallet -use kde dialogs for print and open/save files -some better theming integration between Qt and GTK would also be nice

    … AFAIK Qt can mimic gtk+ for themes/file dialogs and Cancel/OK scheme already (maybe not everything is perfect but at least it can) so it would be nice if it also worked the other way around and GTK+ had any KDE integration features.

    Of course tray is nice, but it’s just tip of the iceberg. Users should be unable to notice that kde app is an kde when running it in gnome and vice versa.

  • Bruno Girin

    There’s no visual difference and that’s the point. However, there is now a standard API for it so that any developer can code against the new API and the app will be able to provide indicators irrespective of whether it runs in KDE or Gnome. Up to now, you would have had to code something specific for KDE and something specific for Gnome.

  • http://danw.mysterion.org/ Dan

    well, there’d be a reason if it was a BAD fdo spec…

    In particular, the “have the tray draw the menus instead of having the icons do it themselves” part, which is the part everyone actually likes, is not even part of the KDE/proposed-fdo spec.

  • http://www.pictureframesexpress.co.uk/blog/across-the-web/tukaiz-launches-captivating-pixyme-iphone-application/ Tukaiz Launches Captivating “PixyMe” iPhone Application | Picture Frames Express

    [...] KDE Application Indicators In GNOME | jonobacon@home [...]

  • anonymous

    Last I checked, the GNOME platform doesn’t accept new modules until GNOME programs actually start using them, right?

    So incorporating them into programs before proposing it as a new module seems the appropriate course of action.

  • twilightomni

    I would love it if the icons in the menu would align with the menu-icon itself – like the previous poster said.

    It would also be nice if the spec supported the new “icon-less” menus in upstream GNOME. (Unless they already do).

    Personally, I’ve grown accustomed to menus that don’t have icons all over them, and it would be nice if these didn’t look out of place when you run your menus in iconless mode.

  • jorge

    That’s a bug, see the design page for what they are supposed to look like: https://wiki.ubuntu.com/CustomStatusMenuDesignGuidelines

  • jorge

    When the external dependency window for GNOME opens up we will propose it at that time.

  • seb

    Hi all, reading about all these patches going upstream I wonder how it will affect the next “Ubuntu is not giving back” discussion…?

    I love adopting standards and pulling together into the same direction – it frees time and mind for other challenges.

    Thanks to all who did work on this!

  • Simon

    @twighlightomni – icon-less menus isn’t relevant to this specification. It’s an implementation detail – the Gnome applet should respect the Gnome settings, the KDE version should follow KDE settings. It’s not something that belongs in the spec.

  • twilightomni

    Right. I just meant that the applet should take care of that. [I think Ubuntu is upstream for the applet].

  • Luke Symes

    Actually, the spec says this: “Ubuntu status menus save space by using an indentation style different from traditional GTK menus: the leading (e.g. left) edge of the icon, in items with icons, is lined up with the leading edge of the text in items without icons.”

    Apparently, in the picture above with Kopete’s application indicator, the Quit item shouldn’t have an icon. The submenu is correct according to the guidelines…

    Still doesn’t look too good. I prefer the text being aligned.

  • http://boycottnovell.com/2010/02/11/myst-online-set-free/ Links 11/2/2010: LinuxQuestions.org Awards, Myst Online Set Free | Boycott Novell

    [...] KDE Application Indicators In GNOME Something we have been spending some time working on in this cycle has been fixing the mess that is the system tray. This is based upon an awesome specification submitted to Freedesktop by KDE. The spec has been implemented by KDE, we have written an implementation for the GNOME panel and it shipped in Ubuntu 10.04 Lucid Lynx Alpha 2. [...]

  • http://travotez.com/Article/432/ Indicateurs application KDE dans GNOME

    [...] Quelque chose que nous avons passé quelque temps à travailler sur ce cycle a été Réparer le désordre qui est la barre d'état système. Ceci est basé sur un cahier des charges soumis à awesome Freedesktop par KDE. Le SPEC a été mis en œuvre par KDE, nous avons écrit une implémentation pour le panneau GNOME et elle a expédié dans Ubuntu [. . . ] URL article original: http://www.jonobacon.org/2010/02/10/kde-application-indicators-in-gnome/ [...]

  • http://www.goblinx.com.br/en/?p=1314 GoblinX Project » GoblinX Newsletter, Issue 237 (02/14/2010)

    [...] KDE Application Indicators In GNOME [...]

  • http://agateau.wordpress.com/2010/02/16/a-week-in-portland-oregon/ A week in Portland, Oregon « Aurélien’s room

    [...] Sprint for Ubuntu Lucid. We got some good work done on the DBusMenu front. You can read about it on Jono and Jorge blog [...]