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.
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
Awesome release! some really great work done here. I will really enjoy having the new notification plugin, and that slide animation sounds very nice!
gif of the animation!!
On Arch Linux we can install xfce4-notifyd from here
http://goodies.xfce.org/projects/applications/xfce4-notifyd
will this be updated ?
https://aur.archlinux.org/packages/xfce4-notifyd-git/
I should delete the page on goodies.xfce, the more up to date docs are here: http://docs.xfce.org/apps/notifyd/start
(Hope this answers your question.)
This is looking awesome! Thank you for your work!
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).
Thanks Olivier!
How is the icon in the panel always disabled? Could you explain – not sure I get it…
always nice to see new features in xfce! just download and install
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!
Does this version work with XFCE 4.12?
If not, is there a possibility to backport it?
Yes, it does work with Xfce 4.12.
Great .. ༼☯﹏☯༽
Is there a Xfce Patreon?
Unfortunately not yet, only bountysource so far. Maybe we should consider setting one up.
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.
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.
either way, open a patreon page, for the xfce desktop in general
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.
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.
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…
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?)
ad 4) I’ve added a hidden option now (log-icon-size) if you really have to set a bigger size.
https://git.xfce.org/apps/xfce4-notifyd/commit/?id=92dec3fe91cdb1d76241b4fef05f3ce72bc67a56
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.
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. 😀
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.
1) This started with commit 4c5b89fb77cc02e99baf3a379bf761cfb9f5d5a9 (Fix deprecation warnings)
Hi…
What is that theme and icon set on screan shot? I liked it a lot and wanna give it a try..Thanks
That’s Greybird.