Skip to content


Subversion checkout URL

You can clone with
Download ZIP
dmenu-ish notification-daemon
C Shell Perl

This branch is 26 commits behind knopwob:master

Failed to load latest commit information.
contrib remove unnecessary redirect from
docs add image that explaines some config values
test echp what test is currently run
.clang_complete add cairo CFLAGS to .clang_complete
.gitignore add dunstify to gitignore
AUTHORS release version 0.4.0
CHANGELOG add changelog for v1.0.0
INSTALL note about compile errors with outdated config.h
LICENSE update copyright year
Makefile Abort build if config.h needs to be updated
README.pod Set wm class and name with -name
RELEASE_NOTES.0.4.0 release version 0.4.0
RELEASE_NOTES.1.0.0 prepare release notes for next release
config.def.h config for max history length use --std=gnu99 to get rid of compiler warnings
dbus.c dbus: Fix iterator memory leak
dbus.h indent -linx --no-tabs
dunst.c config for max history length
dunst.h config for max history length
dunstify.c remove trailing whitespaces
dunstrc add new history_length option to example dunstrc
menu.c remove trailing whitespaces
menu.h License header and vim modeline
notification.c remove whitespace
notification.h config for max history length
option_parser.c don't segfault when no dunstrc is found
option_parser.h options.{c,h} -> option_parser.{c,h} dunst.service -> org.knopwob.dunst.service
rules.c allow rule matching against category
rules.h allow rule matching against category
settings.c config for max history length
settings.h config for max history length
utils.c fix memory leak in string_to_argv
utils.h Revert "replace string_to_argv() with g_strsplit()"
x.c allow file:// protocol for icons
x.h x.c define functions as static where possible



dunst - A customizable and lightweight notification-daemon


dunst [-geometry geom] [-shrink shrink] [-fn font] [-nf/nb/lf/lb/cf/cb color] [-to/nto/lto/cto secs] [-format fmt] [-key key] [-mod mod] [-mon n] [-t/title title] [-c/class class] [-v]


Dunst is a highly configurable and lightweight notification daemon.



display help message.

-fn font

defines the font or font set used.

-lb/nb/cb color

defines the background color of low/normal/critical messages.

-lf/nf/cf color

defines the foreground color of low/normal/critical messages.

-to secs

defines the default timeout. Can be (partially) overridden by the following options.

-lto/nto/cto secs

timeouts for low/normal/critical messages.

-key key

remove notification by pressing key.

-all_key key

remove all notifications by pressing key.

-history_key key

redisplay last notification by pressing key.

-format fmt

defines the format of the message. See FORMAT.

-mon n

show the notification on monitor n.

-follow mode

display notifications on focused monitor. Possible options are "mouse" to follow the mouse cursor, "keyboard" to follow the window with the keyboard focus and "none" to disable focus following. "mouse" and "keyboard" overwrite the -mon option.


sort messages by urgency.


don't sort messages by urgency.

-geometry [{width}]x{height}][+/-{x}+/-{y}]

The geometry of the message window. The height is measured in lines everything else in pixels. If the width is omitted but the height is given ("-geometry x2"), the message window expands over the whole screen (dmenu-like). If width is 0, the window expands to the longest message displayed. A positive x is measured from the left, a negative from the right side of the screen. Y is measured from the top and down respectevly. see also EXAMPLES show the notification on monitor n.

-t/-title title

Define the title of notification windows spawned by dunst.

-t/-class class

Define the class of notification windows spawned by dunst.


Shrink window if it's smaller than the width. Will be ignored if width is 0.

-lh/-line_height height

The height of a single line in pixel. If the height is smaller than the font height, it will get raised to the font height.


Print notifications to stdout. This might be useful for logging, setting up rules or using the output in other scripts.


print version information.

-config file

use alternative config file.


fmt is a string containing placeholders. The placeholders will be replaced with the corresponding text, or if the text is not present, nothing. Possible placeholders are:

%a appname
%s summary
%b body
%i iconname (including its path)
%I iconname (without its path)
%p progress value ([ 0%] to [100%])


Every option that needs a color as argument accepts #RGB, #RRGGBB and X color names.


dunst is able to get different colors for a message via notify-send. In order to do that you have to add a hint via the -h option. The progress value can be set with a hint, too.

notify-send -h string:fgcolor:#ff4444
notify-send -h string:bgcolor:#4444ff -h string:fgcolor:#ff4444
notify-send -h int:value:42 "Working ..."


Dunst can be paused by sending a notification with a summary of "DUNST_COMMAND_PAUSE" and resumed with a summary of "DUNST_COMMAND_RESUME". Alternatively you can send SIGUSR1 and SIGUSR2 to pause and unpause respectivly. For Example:

killall -SIGUSR1 dunst # pause
killall -SIGUSR2 dunst # resume

When paused dunst will not display any notifications but keep all notifications in a queue. This can for example be wrapped around a screen locker (i3lock, slock) to prevent flickering of notifications through the lock and to read all missed notifications after returning to the computer.


An example configuration file is included (usually /usr/share/dunst/dunstrc). To change the configuration, copy this file to ~/.config/dunst/dunstrc and edit it accordingly.


written by Sascha Kruse <>


copyright 2013 Sascha Kruse and contributors (see LICENSE for licensing information)

If you feel that copyrights are violated, please send me an email.


dwm(1), dmenu(1), twmn(1), notify-send(1)

Something went wrong with that request. Please try again.