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
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.
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;
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;
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;
Position reference, location on screen, timeout, close on click, fade on hover
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
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.
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.