Skip to content

dunst

Dunst is a lightweight replacement for the notification daemons provided by most desktop environments. It’s very customizable, isn’t dependent on any toolkits, and therefore fits into those window manager centric setups we all love to customize to perfection.

Installation

sudo apt-get install dunst

Test it's working with:

notify-send "Notification Title" "Notification Messages"

If your distro version is too old that doesn't have dunstctl or dunstify, you can install it manually:

git clone https://github.com/dunst-project/dunst.git
cd dunst

# Install dependencies
sudo apt install libdbus-1-dev libx11-dev libxinerama-dev libxrandr-dev libxss-dev libglib2.0-dev \
    libpango1.0-dev libgtk-3-dev libxdg-basedir-dev libgdk-pixbuf-2.0-dev

# Build the program and install
make WAYLAND=0
sudo make WAYLAND=0 install

If it didn't create the systemd service you can create it yourself with this service file

[Unit]
Description=Dunst notification daemon
Documentation=man:dunst(1)
PartOf=graphical-session.target

[Service]
Type=dbus
BusName=org.freedesktop.Notifications
ExecStart=/usr/local/bin/dunst
Slice=session.slice
Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


[Install]
WantedBy=default.target

You may need to add more paths to PATH.

To see the logs of the service use journalctl --user -u dunst.service -f --since "15 minutes ago"

Configuration

Read and tweak the ~/.dunst/dunstrc file to your liking. You have the default one here

You'll also need to configure the actions in your window manager. In my case i3wm:

bindsym $mod+b exec dunstctl close-all
bindsym $mod+v exec dunstctl context

Usage

Configure each application notification

You can look at rosoau config for inspiration

References