notify-osd 0.9.15 is out

I just made a tarball-release of notify-osd 0.9.15 available here. I’m doing a PPA for karmic as you are reading this, which will be available here. Rest assured that it also works on jaunty and other non-ubuntu distributions. But be warned that the experience is likely to be degrated a bit as not many distributions share the ayatana-team’s view on the way notifications should look and behave (read: this mainly means integration-patches for applications).

The major thing in this release is the surface- and blur-cache allowing for in-bubble blur when the mouse hovers over it, achieving a kind of defocus effect to allow the user to better focus on what’s below the notification-bubble. This works on compiz and metacity+compositor. Yes, it also works on systems as low-spec as a Mini 9.

Work on this is not fully done yet, further optimizations are pending and there is a regression at the moment for over- and undershoot-effects. But I did not want to sit forever on this *g*

For the more curious reader, here’s an excerpt from the ChangeLog:

  • fixed wrong default values for bubble-width, margin- and icon-size
  • fixed regressions introduced by the move to the surface- and blur-cache
  • improved drawing of gauge/indicator
  • tweaked rendering of layout-grid, added display of layout-grid to debug-mode of notify-osd
  • refactored rendering code for bubble
  • migrated rendering of drop-shadow, background, icon, title, body and gauge to surface/blur-cache
  • added surface- and blur-cache
  • added debug-output for font-size, screen-dpi, pixels/EM and bubble-width in pixels
  • fixed rounding errors in pixel-per-em calculation, changed default bubble width to 24 EMs, fixed title- and body-text height, fixes LP: #336110 and LP: #391190

And what would a blog-post as this be without a screencast:

28 Responses to “notify-osd 0.9.15 is out”

  1. Uri Says:

    thanks alot! it doesn’t seem to upgrade, though.. but i guess i’ll simply wait..

    BTW, you’re using the same cursor set (ComixCursors) as mine! same color too! :)

  2. Jeffrey Says:

    Why isn’t this part of GNOME? Is Canonical intending to do that?

  3. urrutia Says:

    make[3]: Entering directory `/tmp/notify-osd-0.9.15/src’
    gcc -DHAVE_CONFIG_H -I. -I.. -I. -I. -DDATADIR=\”"/usr/local/share”\” -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -DORBIT2=1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -DORBIT2=1 -pthread -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DWNCK_I_KNOW_THIS_IS_UNSTABLE -D_REENTRANT -I/usr/include/libwnck-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/startup-notification-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -g -O2 -lm -Wall -Werror -std=c99 -MT notify_osd-raico-blur.o -MD -MP -MF .deps/notify_osd-raico-blur.Tpo -c -o notify_osd-raico-blur.o `test -f ‘raico-blur.c’ || echo ‘./’`raico-blur.c
    raico-blur.c:29:30: error: exponential-blur.h: No such file or directory
    raico-blur.c:30:24: error: stack-blur.h: No such file or directory
    make[3]: *** [notify_osd-raico-blur.o] Error 1
    make[3]: Leaving directory `/tmp/notify-osd-0.9.15/src’
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/tmp/notify-osd-0.9.15/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/tmp/notify-osd-0.9.15′
    make: *** [all] Error 2

  4. Brett Says:

    That’s pretty neat, but I don’t understand the advantage of that over the Jaunty code. Is it for some sort of usability feature or just because you can?

  5. Dylan Says:

    You. Sir. ROCK!

  6. Vadim P. Says:

    That’s a very nice touch on it.

  7. Martin Says:

    It rocks! Keep up the good work :)

  8. JPF Says:

    as noted above
    exponential-blur.h
    and
    stack-blur.h

    are missing. jut wanted to say that with those files copied from bzr building works fine.

  9. Florent Thoumie Says:

    Having the same issue as urrutia, those two files have to be added to notify_osd_sources in src/Makefile.am.

  10. MacSlow Says:

    @ Jeffrey: There are different views on how a project such as “notify-osd” should be moved into GNOME. Some say it’s GNOME’s decision to make projects part of its platform, some say it’s the projects responsibility to make GNOME aware of it. Right now my pile of work so huge I cant pursue this issue really. Of course it would be great if GNOME wants to adopt notify-osd.

    @ Brett: Dear god, it’s certainly not a “because I can”-feature… I’ve too much to do to waste time on such things *g* If you have a look at https://wiki.ubuntu.com/NotifyOSD#Interaction you’ll see it’s a requirement in the specification. Like I stated in the initial blog-post, this is meant to give the effect of defocusing the bubble and helping the users eyes focus on the windows/widgets/icons beneath the notification-bubble. It’s meant to support the click-through capability of notify-osd.

    @ urrutia, JPF: Yeah, forgot to add these two (and exponential-blur.c, stack-blur.c) to src/Makefile.am. That’s mainly due to the blur-implementations in those files not being finished yet, thus they are not really used. But I wanted to get that stuff into trunk and not let it rot in a branch. They are actually part of the pending optimization work I still need to do.

    @ Florent: Indeed, I’m currently trying to fix this among other things.

  11. JPF Says:

    Btw is there a list of available patches somewhere?

  12. MacSlow Says:

    @ JPF: You mean application-patches to make them work better together with notify-osd?! Sort of. Off the top of my head I can tell you that you’d be interested in the patches to gnome-settings-daemon, gnome-power-manager, NetworkManager, banshee and there are plugins for evolution, pidgin, gwibber. Then there are also plugins, patches or adaptations done by people from the community for other applications and utilities. There’s probably more, but that’s all I can recall now.

  13. JPF Says:

    Thanks, that’s exactly what I’ve meant.

  14. Yann Dìnendal Says:

    “Rest assured that it also works on jaunty and other non-ubuntu distributions.”
    Unfortunately, there is a dependency problem:
    notify-osd: Dépend: libgtk2.0-0 (>= 2.17.0) mais 2.16.1-0ubuntu2 est installé.

  15. Filippo Santovito Says:

    I really can’t understand why a notification should fade out on mouse over? I always look where the pointer is and I always move the pointer where I look. When mouse pointer is over a notification it should stay there until I move the pointer over another object. I should also be able to drag ‘n drop it where I like more and do default operation thought it (eg: reply if an IM notification etc..)
    I really don’t like and understand it.

  16. Tack Says:

    I don’t understand why the notification bubble fades out when the mouse moves closer? This seems like a jarring and unintuitive UI behaviour.

    My best guess is so that you can see what’s underneath the notification bubble, but that only makes sense IMHO if any clicks get passed through underneath it.

  17. francis Says:

    There is something wrong: if multiple notification appear and I move the mouse onto one, all notifiations must fade out, as it doesn’t make any sense to fade only one notification when another one still hides the screen below.

  18. Strash Says:

    I still don’t understand the Ubuntu choice to make non-interactive notifications. The only notifications I see that doesn’t need an interaction are hardware-related such as “wifi connexion lost” (or “screen brightness change” or “sound level change” but those are not really usefull as it is an action decided by the use most of the time).

    All other notifications that are on my mind need (or could have) an interaction : chat (actions : open the chat dialog/ignore the message), download finished (action : open the file), moving/deleting file (actions : pause/undo), new email (action : read it !) even “wifi connexion lost” could have an action to open up the wifi hotspot list.

    In fact KDE new notification system is really better in my sense, but I prefer Gnome and use Ubuntu, and I don’t want (gnome) application developers restric their app to this nonsense non-interactive notifications ! When I receive a message from my friend I want to clic on this message to read it ! I don’t need to be a usability expert to know that this is a behavior that everybody expect.

  19. Rick Spencer Says:

    sweet!

  20. Colin Guthrie Says:

    Hi,

    Excellent work as always MacSlow :)

    I still don’t like the bastardisation of the notifications specification, but that’s not a critisism of this work specifically which continues to be awesome!

    I really hope someone forks this project or makes an acceptable patch to enable action support. I totally agree with Strash when he says that in many cases notifications *should* be visible and interactive.

    I wrote about it quite a while back on Marks blog and on my own site: http://colin.guthr.ie/2009/02/desktop-notifications-and-user-interaction/ which I think sums up the general problem I have with it. Growl on OSX seems to have it right IMO.

    I hope ultimately that there is a nice way in which the actions can be supported if the user so wishes (and the patches to applications to check if actions are supported or not are still valid although I disagree with using build in GUIs if actions are not supported - this just leads to variation on UI design which is bad generally).

    Do you have *any* concept at all as to how actions could be supported in a visually appealing way while still retaining the fady goodness? e.g. only fad when not over the “action bar” part of the popup etc?

    Anyways, thanks again for the update :D

  21. Bognár András (bognarandras) 's status on Tuesday, 21-Jul-09 21:09:55 UTC - Identi.ca Says:

    [...] http://macslow.net/?p=366 [...]

  22. Bognár András (bognarandras) 's status on Tuesday, 21-Jul-09 21:11:22 UTC - Identi.ca Says:

    [...] http://macslow.net/?p=366 [...]

  23. Bognár András (bognarandras) 's status on Tuesday, 21-Jul-09 21:12:13 UTC - Identi.ca Says:

    [...] http://macslow.net/?p=366 [...]

  24. Amr Hassan Says:

    Great work. But the new default font size is really much smaller than 0.9.13, is it gonna stay this way forever? https://bugs.launchpad.net/notify-osd/+bug/335383/comments/23

  25. blackhawq Says:

    As a humble Gnome user, I couldn’t agree more with the comment of Colin Guthrie and Strash. The lack of actions is a serious deficiency in notify-osd.
    While notify-osd looks great, and is perfect for notifications which don’t prompt any user action, such as volume control changes, network connected etc, I seriously miss the ability to click on “Open File” when “Download Completed” pops up, or to click on “Reply” when someone sends an instant message.
    The recommended “Alert box” fall-back really misses the point. Notifications shouldn’t be very obtrusive, and should time out.

    One problem with notifications can be if it times out too soon, before you are finished reading or selecting and action. Perhaps this could be remedied with a “Notifications history” menu. An example of this is the notifications menu in facebook.

    Macslow, I love the work you do to for the gnome desktop, and I hope these issues will be addressed.

  26. JPF Says:

    Just throwing in ideas:
    How about making a keyboard combination to make a popup ‘non-clickthrough’ (and non fading).
    For example: Press+Hold CTRL; click on an actions link in the bubble.

    Or you could use special mouse gestures (though i never used them and don’t think I ever will)

    I also think the font size is to small now. It just doesn’t look right here(1280×800pixel 15″ tft)
    But that’s all just minor details. All in all notify-osd is awesome!

  27. JPF Says:

    @blackhawq
    regarding a ‘history menu’: I think that’s more or less https://wiki.ubuntu.com/MessagingMenu/ and https://launchpad.net/indicator-applet

    But it’s still a little different from a real ‘notification history’.

  28. Hells_Dark Says:

    Good work

    I’m waiting for a real bubble stack (instead of one (except special) bubble at the same time)…
    (Try two notify-send…)
    And a way to choose the corner where the notification appears.

Leave a Reply