How to replace MATE's notification daemon (and customize it!)

themes

#1

#Introduction
It might seem silly at first; Why replace the notification daemon when MATE’s daemon is good enough? Because it isn’t good enough. It’ll never be good enough. Know why? Because you can mod notify-osd, which is something you can’t do with the supplied themes mate-notification-daemon installs.

If you’re alright with the default daemon, then by all means ignore this guide. But if you want to have one you can customize and control til’ your heart’s content, then follow along and you’ll have a notification display you can have a fair degree of control over. You can even make it match the colour of your desktop, just like on vanilla Ubuntu.

#Pre-emptive patching
You can install notify-osd as it stands right now. But that won’t do, because there’s a patched version which exists that allows you to modify how it looks. Instead of installing it straight away, perform these following commands;

sudo add-apt-repository ppa:leolik/leolik
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install notify-osd notifyosdconfig #Not just notify-osd, but also the customization software

Alternatively, you can also use this if you didn’t want to use the webupd8 main repo;
sudo add-apt-repository 'deb http://ppa.launchpad.net/amandeepgrewal/notifyosdconfig/ubuntu utopic main'
#Superseding the daemon
After, you’ll need to make notify-osd the daemon in use instead of mate-notification-daemon. To do this, perform this command;
sudo pluma /usr/share/dbus-1/services/org.freedesktop.mate.Notifications.service

This is where I would normally say Save the old version as something else, but because of how little is involved, you can just comment out the old exec line and instead use this;
Exec=/usr/lib/x86_64-linux-gnu/notify-osd

You could instead replace the exec line completely, save it as something else, rename the old file and make a link but that’s quite fussy for a single line of text. Either way, when you are done making your changes sign out, then sign back in. When you do notify-send 'text1' 'text2' you should see that your notifications look different. That’s the result we wanted. Now, we can have some fun with them;

#Customizing notifications
Leolik’s patched notify-osd can be edited with notifyosdconf if you installed the notifyosdconfig package. It is also accessible from the Applications menu as NotifyOSD Configuration in Accessories.

notifyosdconf lets you change a lot of things. Here’s a quick reference for each tab;
Behaviour
Position reference, location on screen, timeout, close on click, fade on hover

Bubble
Vertical and horizontal position fine-tuning (“gap”), colour, use of desktop colour, opacity of colour, icon size, gauge size (sliders and such), notificaton width, notification radius

Text
Title text margin (really notification margin), title size, title font weight, title colour, title opacity, body size, body font weight, body colour, bodyopacity, body shadow (applies to title also)

#Caveats and differences
For some reason notify-osd gauges are not in effect, ergo the gauge size value is rendered irrelevant. Everything else works, and there should be no problem for any software relying on libnotify4. Main differences from mate-notification-daemon are the lack of displayed timers, and maybe a lack of buttons in notifications.

notifyosdconf was previously headed and maintained by Amandeep Grewal, it’s now maintained by Alin Andrei.

#Information sources


https://forums.linuxmint.com/viewtopic.php?t=126670

#Corrections
lah7 provided some important information about notifyosdconf and location of notify-osd for the exec line. Since everything worked, I assumed everything was fine; I was very wrong.


I broke my notifications — how to revert them back to default?
Rhythmbox notification HTML not resolved
Tips, Tutorials and Guides Index
#2

Many thanks for the guide. :slight_smile:

I had a bit of a fiddle in a VM first, and it worked well. There is a typo for the add-apt-repository command. I also needed ppa:amandeepgrewal/notifyosdconfig which was missed from the instructions. (It didn’t seem to import that PPA properly though…?)

I did things a bit differently:

It’s like pre-Unity Ubuntu again! :confetti_ball:


#3

You are correct about the filepath and I will make an edit to this guide shortly. You are wrong about using amandeep’s repo, if you imply it is the only source; webupd8 (ppa:nilarimogard/webupd8) also has a copy of this software. I falsely implied that leolik’s PPA had it, I will also correct this.

That’s what I get for editing this on a late night. I make many mistakes when I should be in bed.


#4

Thank you for te guide, worked perfectly