27

Hyprland and notifications with mako

 9 months ago
source link: https://www.lorenzobettini.it/2023/11/hyprland-and-notifications-with-mako/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Hyprland and notifications with mako

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:

$ 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”:

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:

hyprland-mako-1.png?resize=625%2C108&ssl=1

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:

notify-send "hello world\!" "This is a message"

will lead to

hyprland-mako-2.png?resize=487%2C154&ssl=1

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:

man 5 mako
       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:

killall mako
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:

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 ;)"

hyprland-mako-3.png?resize=538%2C401&ssl=1

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):

hyprland-mako-4.png?resize=504%2C202&ssl=1

That’s all! Not too difficult, isn’t it? 🙂

Stay tuned for more posts about Hyprland. 🙂

Like this:

Loading...

Related


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK