Mon, 06 Apr 2009
Indicator support for Empathy
As well as the new notification bubbles, jaunty now has something called the "indicator-applet", or various other names. If you are running Jaunty you may have seen it as an envelope in your panel. Not much is taking advantage of it yet, with only Evolution and Pidgin having the necessary support until recently.
The purpose of this applet is to give you access to messages that are waiting for you, regardless of the source. You can see some of Ted's early sketches on the idea, or the early draft of the spec for some information. Having this place gives you one place to look to respond to a message you received, and is part of the strategy to solve the issues caused by having notifications without actions. It also allows you to launch the main windows of the applications so you don't need to have an icon for each in the notification area.
As I don't use pidgin the only thing taking advantage of the menu was evolution, so I went to find which of the other apps I use had support. I first grabbed a more recent version of gwibber which had support, and sent a quick merge request to improve the support. There was little else I could do there though, as Ryan had done a great job already, and all I had to do was hook up a callback so that gwibber would open when you clicked on a message you received from someone.
I then moved on to Empathy, and found a bug requesting support be added. I decided to relax this weekend by working on something completely different and trying to add this support.
I found the libindicate API easy to work with, though it is un-documented currently there is not too much too it, and it has quite some similarity with libnotify. After finding my way around the empathy internals, learning more about gtk+ and encountering a bug in libindicate that I spent some time investigating I had something mostly working. It's not ready to merge yet, but it is most of the way there, and covers the most common cases.
You can see a quick video of the interaction, which shows the concept behind the menu as well. (Yes, I am talking to myself in that video, as Ted said, working on IM apps can be quite lonely as you continually send yourself messages).
Posted by Jacob Peddicord at Mon Apr 6 01:06:27 2009
such changes."
... and why should anyone bother with the upstream then if they have this attitude?
Posted by Vadim P. at Mon Apr 6 01:43:29 2009
It's funny since I've seen the same person who made that comment complain about how the notify-osd work "should be done upstream," ect...
Anyways...
Cool stuff James. Where is the libindicated gwibber from? Is it a seperate branch? I'm just using the jaunty version. Is it in the PPA for Gwibber Team, or do you need to run the daily builds?
Posted by andrewsomething at Mon Apr 6 02:19:56 2009
The support is in gwibber trunk, but not in the Jaunty packages last I checked. The daily PPA should have it, or you can run from a branch to try it out.
As for Empathy, I pushed my patch to my PPA, so you can install it from here if you are on Jaunty:
https://edge.launchpad.net/~james-w/+archive/ppa
Posted by James Westby at Mon Apr 6 16:53:41 2009
I just wish there was more time and this could be included in Jaunty
Posted by Sami Haahtinen at Tue Apr 7 08:12:10 2009
Empathy just became 81% less annoying. I mean, a perpetual icon that BLINKS for your attention? Please no.
Thanks James!
Posted by topyli at Wed Apr 8 08:41:11 2009
Posted by menek at Fri Apr 10 10:42:22 2009
I have applied your PPA, and checked for updates ... nothing, so I guess I need to install some additional package to get the support for indicator-applet?
Posted by Yunsehn at Fri Jun 19 10:25:47 2009