libnotify in GNOME Applets

I’ve been playing this weekend with libnotify, and, before taking the task of changing the Evolution’s alarm daemon to use it, I’ve made some applets in GNOME Applets use it for some nice notifications.

First, the weather applet, which displays a notification whenever it gets an update from the weather forecast service:

Then, the trash applet, which does the same when there are files deleted/added from/to the trash.

These notifications expire a few seconds after they are shown, so they should not disturb the user at all.

Tour 2005 podium picks

Following John Fleck, here are my picks for this year’s Tour:

  1. Alexandre Vinokourov
  2. Lance Armstrong
  3. Roberto Heras

I really think Lance Armstrong is going to win his 7th Tour, given his demonstration of power yesterday in the time trial, but I had to be original in my vote :)

And yeah, I don’t see Jan Ullrich being in the podium. But watch Roberto Heras, with only one time trial left (time trials are his main handicap), he can have a lot of things to say in the mountain.

GNOME Session desktop services

In the last couple of weeks I have been working on completing the work started by the Red Hat guys on libgnomeservice. This is a system for system wide services installation and startup, so that admins can add services to be started for all users. It is also used to start the standard GNOME desktop services, like Nautilus, the panel, etc.

To test it, you need to get libgnomeservice from CVS, compile and install it, and apply all the *.patch patches to the corresponding CVS module. Then, to install additional services, you just need to put a *.service file in $datadir/dbus-1/services and a .desktop-service file in $datadir/gnome/desktop-services. There are two ways to install services. First one, the easiest one, is to use the gnome-service-launch program, which starts another process, wrapping the libgnomeservice API for that process. The second one, not yet used on any CVS module, is to use libgnomeservice API in the service. This is, of course, the best solution long term, since it would allow services, like Nautilus, to provide extra methods, and thus allow other applications to call those methods on the desktop service.

There are a couple of things missing, which I’m looking at at the moment. First is the D-BUS patch, which hasn’t been accepted upstream yet because of the test program failing, while for gnome-session, things are working pretty well. The second one, is a crash on gnome-session when you close the session, which needs to be fixed before anything of this goes to CVS.

Let’s hope this can be included for 2.12, so please, send your comments/suggestions/patches/etc