We’re going to modify, in a first time, DEFAULT_GRAVITY. It can take three values:
GRAVITY_NONE: the behaviour in Jaunty. A notification will always go into the top right corner
GRAVITY_EAST: the behaviour NotifyOsd has been having for about a week in Karmic’s development cycle, with the notifications centered vertically on the screen
GRAVITY_NORTH_EAST: the Karmic behaviour. Works like GRAVITY_NONE but does not put asynchronous notifications on top of the screen, even if there is no synchronous notification being displayed.

Once this is done, we can change the colours of our notification bubbles by changing the following keys:

Colours have to be of the form #rgb or #rrggbb. Of course, you can also modify the boldness of the text, the opacity of the bubbles, their sizes, and even the default text size and font size. Values are pretty self-explicit, and this is not meant to be a tutorial for beginners, so I’m not going to get into details.

Let’s instead directly switch to the compiling and testing part. You’ll need some packages, including gtk-doc, and the gtk and cairo development packages. Don’t forget to kill your notification daemon before you start notify-osd. Here, I assume you’re already using this one.

$ ./configure
$ make
$ killall notify-osd && ./src/notify-osd

Once you’re satisfied with what you’re done, you can just install notify-osd. If you’re on a Debian (this includes Xubuntu) system, you can use /usr as a prefix, as it’s the one used on these distributions:

$ ./configure --prefix=/usr
$ sudo make install

Update

Debian users can use debuild instead of make install. Hint courtesy of andrewsomething.

Note that you’ll need to download the source again and use make uninstall if you want to remove the files, so you can use checkinstall if you want to make it possible for your package manager to remove the files. I’m linking you to the checkinstall website because I have never tested it and do not know how it works.

That’s all for today. If you’re disappointed NotifyOsd does not allow full customisation via GConf keys, well, you’re not alone. I am too, and I also am disappointed that my patch allowing such customisation (and use of Xfconf as an alternative backend) has still not been reviewed by the NotifyOsd developers. If you’re interested into having such a patch (and a working package, possibly hosted on a repository) for NotifyOsd, please leave a comment and I’ll consider updating the patch and building the package when I have some time.

Also, if you’re wondering what I’ve been doing the last 2 months, well, I’ll just answer with a word: Synema. The name of a new application whose first alpha I hope to publicly release soon. There will be another post about it once I’m done with the exams. Stay tuned!