dunst
Display desktop notifications
TLDR
Start dunst
Display a notification on startup
Print incoming notifications to stdout
Use the specified configuration file (default: $XDG_CONFIG_HOME/dunst/dunstrc)
SYNOPSIS
dunst [-c FILE] [-confdir DIR] [-h] [-L LEVEL] [-P FILE] [-q] [-reload] [-v] ...
PARAMETERS
-c FILE, --config FILE
Path to configuration file
-confdir DIR
Directory for config files (default: ~/.config/dunst)
-h, --help
Show help and exit
-L LEVEL, --loglevel LEVEL
Log level: 1=debug, 2=info, 3=warn, 4=error
-list-monitors
List available monitors
-P FILE, --pidfile FILE
Write PID to file
-print-history
Print notification history and exit
-q, --quiet
Suppress stdout notification prints
-reload
Reload configuration file
-v, -V, --version
Print version info
-a
Direct mode: notification action invoked
-t TIMEOUT
Direct mode: timeout in ms (0=never)
-u URGENCY
Direct mode: low/normal/critical
-i ICON
Direct mode: icon path
-h HEIGHT
Direct mode: notification height
DESCRIPTION
Dunst is a highly configurable notification daemon for Linux X11 desktops, implementing the FreeDesktop Notifications Specification. Popular in tiling window managers like i3 and bspwm, it provides stacked notifications with thumbnails, mouse interactions, and history browsing.
Key features include per-urgency styling (low, normal, critical), customizable timeouts, icons, categories, and scripting hooks. Notifications are sent via D-Bus using tools like notify-send(1). Dunst supports frame decorations, separators, padding, and monitor-specific geometry.
The daemon runs in the background, reloading config on signal. Configuration via ~/.config/dunst/dunstrc allows theme-like rules based on app, urgency, or regex. Lightweight with minimal dependencies (Pango, libX11, dbus), it's ideal for minimal setups. Use dunstctl for runtime control like closing notifications or toggling pause.
Direct invocation displays single notifications for testing.
CAVEATS
Primarily for X11; Wayland via XWayland only (experimental). Requires running WM. No native multi-monitor icon scaling in older versions.
CONFIGURATION
Edit ~/.config/dunst/dunstrc: [global], [urgency_low/normal/critical], [frame], rules= for app/script matching.
SIGNALS
SIGHUP: reload config; SIGUSR2: show history; SIGTERM: quit.
DUNSTCTL
Companion tool: dunstctl close [id], history, info, reload, toggle-pause.
HISTORY
Developed by Knopwob starting 2013 as dwm/i3-focused rewrite of xfce4-notifyd. Forked from early notify-osd ports. Actively maintained on GitHub (devdd/dunst), v1.10+ adds Wayland tweaks, JSON history export.
SEE ALSO
notify-send(1), dunstctl(1), pango(1), dbus(1)


