New hotness: xfce4-notifyd 0.4.0

After quite some development time I have decided to push out xfce4-notifyd 0.4.0 today. This is not just a bugfix, but a feature-packed release.

Panel plugin

Among the biggest changes there is a panel plugin which displays the most recent notifications as well as allowing for quick access to the do-not-disturb mode. It also serves as a status indicator for the do-not-disturb mode, so you can easily see whether notifications are shown or hidden overall.

The new panel plugin

Improved logging

I’ve also spent some time on improving the notification image handling in the log. While handling icon-names is easy (just save them as string) handling the pixbufs was a little more challenging. I decided to do it the Git way and deduplicate these pixbufs based on their (unique) hashes, so that each picture would only be saved once. All of those pictures end up in a sub-directory of the log (which by default is ~/.cache/xfce4/notifyd/icons). Currently there is no monitoring of how much space these images consume and no button to clear them away, maybe I’ll add that later if people feel it would be useful/necessary. After using this feature for several months I have accumulated less than 7MB.
The log also received some more love in terms of markup support and character escaping. Multi-line notifications should now be correctly logged.

New animation: slide-out

Just for the fun of it I also worked out a new animation optional addon to the standard fade-out. I called it slide-out and it’s a fairly wide-spread animation mix of fade-out and sliding the bubble (depending on its location on the screen of course) off-screen.

New logo

As this turned out to be a bigger release I went for a bigger version jump and also included the new logo I had been working on for a while. I evaluated several “notification” metaphors and went for the ‘ol bell (notification bubbles felt a little odd and not easy to depict, as they look usually very diverse).

Bugfixes

Some people may be happy to know that I dropped the feature that let xfce4-notifyd exit after 10 minutes of inactivity. I can only guess but I presume this was implemented to save resources. Nowadays it feels more annoying if a daemon has to be restarted and the first notification that’s that split-second longer to appear.

A few more tweaks have been done to the geometry of the notification bubble windows to not take more space than needed and distribute things evenly (no more strange margins) and the configuration dialog now shows a warning if xfce4-notifyd is not detected as running.

Download

As always, you can download and build/install the tarball or wait for your favorite distribution to package and ship it to you.

https://git.xfce.org/apps/xfce4-notifyd/snapshot/xfce4-notifyd-0.4.0.tar.bz2

Simon Steinbeiß

Author: Simon Steinbeiß

Xfce, Artwork and UI.

30 thoughts on “New hotness: xfce4-notifyd 0.4.0”

  1. This update is awesome. I use it on FreeBSD and Fedora. I love the new animation!

    The only negative point is icon on panel. It is always disabled (configuration is not easy to enable it).

  2. very nice!!

    It’s already running on Arch Linux! Nice features!!

    Great Job!!

    Keep posting news here, there are people that think xfce is dead!

      1. I didn’t know bounty source. That’s an interesting project but it focus of paying for features.

        Maybe I’m wrong but in Patreon you’re not asking for feature but simply nice report progress with image and everything (what you are doing with your blog).

        Basically paying for seeing a project moving on like its creators want it to be.

        1. Yeah, I agree and Patreon is a great way to finance developers!
          In Bountysource you also have the option to donate to the team instead of only to a concrete feature/bug, but it’s not a stable thing Patreon, only a one-time donation.

  3. I would be thankful if there will be some setting to disable icons cache and so on. You see, each and every dev on the planet thinks its fine to store few files here and there, few megs only, etc. Eventually, this ends up being Windows-style OS full of crap, taking gigz of HDD space, doing hell knows what and why, etc. I like XFCE because it fast and light and relatively minimalistic on system-level cruft. Unfortunately it seems notifyd isn’t like this anymore :(. Say, XFCE icon thumbnailing and so on are pretty optional and speaking for myself I never install thumbnailers. I really hate polluted caches which never cleaned up. Sorry if this does not sounds great.

    1. Hey, you’re not forced to use the log at all, so I don’t see why you’re so upset.
      Also, I will maybe make the image cache optional, but I felt the log was a little broken without it.

  4. Hey, great news! Thanks for your work!

    There are some issues, though. (And some things on my wish list…)

    1. This constantly logs: “gdk_window_get_origin: assertion ‘GDK_IS_WINDOW (window)’ failed”. Please fix this…
    2. The applet icon does not size itself, so it does not match the panel size
    3. Adding the applet I see an icon that indicates “do not disturb” mode, although notifications are enabled. Switching to “do not disturb” mode and back fixes this. I think that is what olivier speaks about.
    4. Icons in history (drop down from panel icon) are too small.
    5. This is a bit tricky… And I hope I got it right. Let’s say there is an application that uses just one notification. This notification is updated and shown over and over again. The first time the notification is initialized with a pixmap. Subsequent updates with a pixmap are ok. Subsequent updates removing the pixmap (notify_notification_set_image_from_pixbuf(notification, NULL)) have a glitch: xfce4-notifyd shows the very first pixmap.

    I will give it some more testing…

    1. Thanks for testing! Would be great if you could submit some bugreports about those issues 🙂

      1) Hmright, wonder if that was present in previous releases.
      2) It should resize in the same steps that all new panel plugins resize, so that should be fine.
      3) That’s odd, I specifically remember fixing that and I don’t have this problem locally. I wonder if more people have this problem and I’ll also try in a clean environment. If you could post the steps to reproduce, that’d be great!
      4) That’s a matter of taste. The current size helps to see more messages, if you want bigger icons they are shown in the log browser currently.
      5) Aha, I’ve never encountered that before. If you have a reproducer that would be helpful! (I guess this is also a pre-existing issue and not something that is new in 0.4.0?)

      1. 1) I did not notice any warnings or errors before. I just popped up in syslog after the update.
        2) It does not…
        3) This happens in a clean environment that has not seen the notification plugin before. It keeps that way even after logout/login, until the “do not disturb” mode is used first.
        4) Well, the messages are spread over two lines anyway, no? So there is enough room for bigger icons without reducing the number of messages. I will have a look at the new option.
        5) No, this is new with version 0.4.0 I think. I do see this with my music notifications (https://github.com/eworm-de/mpd-notification) where the cover artwork is extracted from media file and passed as a pixmap. Pause and stop should show without pixmap but with stock icon. I could provide a minimal reprocuder… Stay tuned.

        1. 5) Ok, grab my reproducing code (https://www.eworm.de/download/linux/xfce4-notifyd-icon-issue.c) and try it. This should show two notifications with icons from pixmap, one notification with generic icon. This works with xfce4-notifyd 0.3.6, with version 0.4.0 it behaves different for mpd-notification and my reproducing code: the latter does not change the icon at all but always shows the first icon. No idea what causes this… Looks like moon phase is involved. 😀

          1. Thanks for the reproducer, I now understand the problem a little bit better. Just to mess with your mind a little, put this in front of your first test:

            notify_notification_update(notification, “Test”, “Reproduce xfce-notifyd issue – notification number zero”, “audio-x-generic”);
            notify_notification_set_image_from_pixbuf(notification, NULL);
            notify_notification_show(notification, &error);
            sleep(5);

            This will make everything behave as it should. I guess the problem is that the pixbuf is not cleared properly for notification updates so the image-data part of the notification is retained when you update the content (image-data always takes precedent over anything else, e.g. icon-name, according to the spec). I’ll have to investigate where and why the pixbuf is retained.

Comments are closed.