[HOW TO] Get the new Notifications on Intrepid

[HOW TO] Get the new Notifications on Intrepid

Update: fixed a minor glitch in the how-to

Hi, Alex Rybicki posted a tutorial about how to get the new Jaunty notifications on Ubuntu Intrepid.

Since the tutorial got some minor detail wrong, I am going post a better version here and take the chance to comment a little bit the new notification system.

Will this mess the system ?

No way, what you’re going to do will just download the source code and start it in place of the existing notification system. Interrupting the program with Ctrl+C, kill, or system restart will bring your beloved old notification system back.

How to install it ?

cd ~
sudo apt-get install bzr gnome-common automake
bzr branch lp:notify-osd
cd notify-osd
./autogen.sh
make

Now you can start it:

killall notification-daemon ;  /home/[username]/notify-osd/src/notify-osd

..where [username] is your username.

You can interrupt the new notifications system by hitting ctrl+C. That will automatically bring back the old ones.

[the full credit of this tutorial goes to Alex]

If anyone of you figures out a tutorial to make them working on non-debian distributions, let me know, I’ll publish it or link it from here happily.

How to test it ?

A test script is included, which will show a bunch of fake notifications. To test it, open a new terminal window and type:

/home/[username]/notify-osd/src/send-test-notification.sh

Now a the test notifications should show. On the right upper corner of the window.

How to make it default ?

A simple way may be:

gedit ~/.new-notifications.sh

Then paste there this:

#!/bin/bash
killall notification-daemon ;  /home/[username]/notify-osd/src/notify-osd

Then save, exit from gedit and..

chmod +x ~/.new-notifications.sh

Then go in System->Preferences->Sessions and add a new item with /home/[username]/.new-notifications.sh as the launching command.

My test and thoughts:

I tried the new notifications using a little python script I developed time ago, which uses libnotify to notify the user about available text snippets to replace what he’s currently typing.

It worked without any change, and quite nicely, I say:

Before:

Old style

After:

New notifications

The result is pretty nice. One difference you hardly notice in this pictures, is the position of the dialog box. While my script asks libnotify do display the notification in the right bottom corner of the screen, the new notifications completely ignore that setting.

The second test I did is try changing sound volume, but Gnome kept using the usual way to notify me of the change.

The third test I did is activating the notifications on Banshee.

banshee-notifications

The results leave much to be desidered. The new notifications don’t support action buttons in the bubbles by choice. That’s not bad, but instead of suppressing the buttons they just fallback to normal dialogs.

Plainly said, this sucks. In such cases you’ll get a foreground message box while you’re typing:

screenshot11

Further more, if you don’t close manually all those dialogs, they won’t time out as the old libnotify bubbles:

Multiple annoyances here

Needless to say, I find this choice quite obnoxious. They should have falled back to old notifications, or find some kind of trick (right button or something else) to manage the action bubbles.

This is just going to put pressure on upstreams for nothing, and make ubuntu packages more patchy than ever.

I won’t discuss the choice of not supporting user interaction on the bubbles, but the workaround is sucky at the least.

Conclusions

Is this gonna change radically the way users interact with the desktop ? No. It’s just a small step, and surely not the most needed right now. Just a testing the ground one, as in “Hello upstreams, I’m Canonical, you don’t mind if I mess with your stuff, right ?“. A clever move, from a certain point of view, I say.

As for me, I am going to leave the new notifications as default, since I don’t really use any software that implements the action bubbles and/or doesn’t allow disabling. But if I find any, that will wipe out the new style bubbles in a second.

Need some more desktop eye candy ?

.. or maybe Ear Candy ?

28 responses to “[HOW TO] Get the new Notifications on Intrepid”

  1. Vadim P.

    I think you veered off the goal of providing instructions a bit.

  2. Stefano Forenza

    What you mean ?

  3. alex

    hey stefan, great guide. you were even more straightforward then i was :)
    im glad you got everything working, and i like your script to make it default.
    also, dugg ;)
    -alex

  4. Vadim P.

    A howto doesn’t critisize the technology or offer personal opinion. It’s instructions on how to install something, and that’s it ;)

  5. jorge

    The banshee annoying-popus is a known bug and is being worked on.

  6. Stefano Forenza

    @Vadim P.: Good point. I shall have choosen another title maybe. Beside that, I am kinda flooding the planet these days, so making two separate posts wouldn’t have been a good solution.

    @jorge: I know that. One of the cons I am pointing on, is the need to patch software to make the new thing to work smoothly. Seems like the ‘easy path’ to me. I really would rather have looked for some better workaround inside the new noticing system, but that’s just me.

  7. Filo

    i get this error:

    Running autoconf…
    configure.in:45: error: possibly undefined macro: AM_PATH_GTK_2_0
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.

    do you know the fix ??
    I tried to upgrade automake to 1.10 (with jaunty package) whithout success.

    Thanks

  8. Stefano Forenza

    @Filo: as I am not on Jaunty, I can’t reproduce the issue. But grrr.. you’re reminding me about something I wanted to write in the post and simply forgot. As it is a development repository, some revisions may be broken.

    To see if that’s the case, delete the branch, then branch it back with:

    bzr branch lp:notify-osd -r193

    That will pull from launchpad the revision no. 193, which is the one I used for the test.

    That *may* solve.

  9. Filo

    I just solved by installing this packages:

    libdbus-glib-1-dev libgconf2-dev libgtk2.0-dev

    but if i try to run make it doesn’t compile -_-

  10. Stefano Forenza

    I guess you lack further dependencies then. That probably mean you’re on kde, am I wrong ? If so, the road could be still long and steep :-)

  11. Tim

    Hey. Awesome guide, I just an issue. I think

    tim@tim-desktop:~$ killall notification-daemon && /home/tim/notify-osd/src/notify-osd
    notification-daemon: no process killed
    tim@tim-desktop:~$

  12. Stefano Forenza

    Tim: true ! && should be just a ;

    Updating the post.

  13. Tim

    It works. Thanks.

    One more thing, in the compile steps, you forgot “make” at the end.

  14. Eric Wendelin

    Almost there! When running ./send-test-notification.sh:
    ./send-test-notification.sh: 3: notify-send: not found

    Any ideas?

  15. Stefano Forenza

    Look better, it’s there ! (*blinks*)

    Thanks !

  16. Stefano Forenza

    @Eric: try installing libnotify-bin. (sudo apt-get libnotify-bin)
    Seems weird to me, but it may be required. Please let me know if it works !

    (chances are it’s strictly required only by the test script)

  17. Eric Wendelin

    @Stefano: Yes! That seems to help. I’m now seeing the notifications, but I’m getting this while running ./send-test-notifcation.sh now:
    ** (notify-osd:30064): CRITICAL **: load_icon: assertion `info’ failed

    Either way. Most excellent, thanks!

  18. Elgin Mones

    I get the same error as Eric.

  19. Jean-Francois

    Here is what I get:

    jean-francois@jean-francois-desktop:~$ killall notification-daemon ; /home/jean-francois/notify-osd/src/notify-osd
    notification-daemon: no process killed
    bash: /home/jean-francois/notify-osd/src/notify-osd: No such file or directory
    jean-francois@jean-francois-desktop:~$

    and if I go into: /home/jean-francois/notify-osd/src/notify-osd there is only a notify-osd.xml file is that it?

    Thanks in advance!
    Cheers!

  20. Stefano Forenza

    If you refer to the file not found error: sudo apt-get libnotify-bin
    If you refer to the CRITICAL assertion then just don’t mind. That’s a notice that will be eventually resolved by the developers, and won’t influence the working of the program at all.

  21. Stefano Forenza

    @Jean-Francois:
    “notification-daemon: no process killed”: that’s normal. don’t mind that.
    The rest is worrysome, I’d suggest you to delete everything and start again from scratch.

  22. Vadim P.

    Looks like a lot of people are having trouble with this guide.

    If you want it easier, just follow the updates: http://macslow.thepimp.net/?p=175 to get them… no compiling.

  23. Sarah

    It won’t let me do the ‘make’ command. Everytime I run ‘./autogen’ I read:

    Running aclocal-1.10…
    configure.in:45: warning: macro ‘AM_PATH_GTK_2.0′ not foun in library
    autoconf…
    configure.in:45: possibly undefined macro: AM_PATH_GTK_2_0
    If this token and others are legitimate, please use m4 pattern allow. See the Autoconf documentation.

    Can anyone help a noob out?

  24. 2null » NotifyOSD unter Intrepid

    [...] Get the new Notifications on Intrepid Written by nullnull in: Ubuntu | Schlagworte: Ubuntu [...]

  25. Matthew Bauer

    The command for running the notification could be:
    killall notification-daemon ; ~/notify-osd/src/notify-osd
    That way you don’t have to specify your username.

  26. David

    I think a more complete command for step #2 would be:
    sudo apt-get -y install bzr gnome-common automake libgtk2.0-dev libgconf2-dev \
    libnotify-dev libdbus-glib-1-dev

    I’m not certain that this is the complete list of packages which are needed to compile this, but it’s more complete than before. Since having people try to install packages which they already have is harmless, this expanded list is preferrable.

  27. Vlad

    I followed all your instructions but when I try to start the new notifications I get an error:

    bash: /home/vlad/notify-osd/src/notify-osd: No such file or directory

    What happened?

  28. keith

    after trudging through the dependencies, i finally got it to work…

    $ sudo apt-get install bzr gnome-common automake libdbus-glib-1-dev libgtk2.0-0 libgtk2.0-dev libgtk2.0-common libgconf2-dev libx11-dev libnotify-dev libnotify1 libnotify-bin

    $ cd ~/notify-osd
    $ ./autogen.sh
    $ make
    $ killall notification-daemon ; ~/notify-osd/src/notify-osd

    only thing i see so far that bothers me is that the notifications default to my second monitor instead of the one in front of me. it doesn’t seem to work “all the time”, yet, either…

Leave a Reply

[1] Contact me

Email: tacone - gmail.com
Irc: tacone on freenode.net
I'm on Launchpad !!

[4] Then speak smart

[5] Don't mind this

[6] But this !