Here’s another post on how to get started with Hyprland.
This time, we’ll see how to configure notifications with mako, a lightweight notification daemon for Wayland, which also works with Hyprland. (you might also want to consider and experiment with an alternative: dunst).
If you followed my previous tutorials, you have no notification daemon installed. You can verify that by running the following command (to issue a notification manually) and by looking at the resulting errors:
1 2 |
$ notify-send "hello" GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files |
Let’s install “mako”:
1 |
sudo pacman -S mako |
The nice thing about mako is that you don’t need to start it as a service manually: the first time a notification is emitted, mako will run automatically.
Let’s try to run the above notification command above, and this time, we see the pop-up, by default, on the right top corner of the screen:
You have to click the pop-up to make it disappear.
Each time a program emits a notification, mako will show it. For example, Thunderbird, Firefox, and Chrome will emit notifications that mako will display.
Let’s do some further experiments by manually emitting notifications:
1 |
notify-send "hello world\!" "This is a message" |
will lead to
You can see that the first argument is the title and formatted in boldface.
You can have a look at mako’s manual (5) about its configuration file and where it is searched for:
1 2 3 4 5 6 7 8 9 10 11 12 |
man 5 mako NAME mako - configuration file DESCRIPTION The config file is located at <strong>~/.config/mako/config</strong> or at $XDG_CON‐ FIG_HOME/mako/config. Option lines can be specified to configure mako like so: key=value Empty lines and lines that begin with # are ignored. |
An example configuration, usable as a starting point, can be found here: https://github.com/emersion/mako/wiki/Example-configuration.
Each time you modify the configuration, you must reload mako by using one of the following commands:
1 |
killall mako |
or
1 |
makoctl reload |
With that example configuration, we can emit a few notifications with different “urgencies”, and see the different colors and positions of the boxes:
1 2 3 4 5 6 7 |
notify-send -u low "hello world\!" "This is a low urgency message" notify-send -u normal "hello world\!" "This is a normal message" notify-send -u critical \ "This is a critical message\!" \ "OK, that was just a demo ;)" |
If you use EndeavourOS, you will get notifications about new updates and when a reboot is required after a system update (the latter is a “critical” notification):
That’s all! Not too difficult, isn’t it? 🙂
Stay tuned for more posts about Hyprland. 🙂
thank you, exactly what I was looking for