Skip to content


Subversion checkout URL

You can clone with
Download ZIP
lightweight and customizable notification daemon
C Shell Makefile

Merge pull request #237 from travisred/master

Fixed a couple of misspelled words
latest commit f60131258a
@knopwob authored
Failed to load latest commit information.
contrib remove unnecessary redirect from
docs add image that explaines some config values
test Remove trailing spaces from all other files
.clang_complete Remove trailing spaces from all other files
.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 Remove trailing spaces from all other files
README.pod Fixed a couple of misspelled words
RELEASE_NOTES.0.4.0 release version 0.4.0
RELEASE_NOTES.1.0.0 Remove trailing spaces from all other files
config.def.h Merge pull request #209 from Nauxuron/master Set dependency to '>=glib-2.36' as needed by the glib signal handler
dbus.c Fix memory leaks
dbus.h indent -linx --no-tabs
dunst.c Fix markup handling.
dunst.h config for max history length
dunstify.c remove trailing whitespaces
dunstrc Merge pull request #209 from Nauxuron/master
menu.c Fix memory leaks
menu.h License header and vim modeline
notification.c add option to run scripts for suppressed notifications - fix #212
notification.h Fix markup handling.
option_parser.c fix spelling error
option_parser.h options.{c,h} -> option_parser.{c,h} dunst.service -> org.knopwob.dunst.service
rules.c Fix markup handling.
rules.h Fix markup handling.
settings.c settings: Trivial typo fix on format option description
settings.h add option to run scripts for suppressed notifications - fix #212
utils.c Fix markup handling.
utils.h Revert "replace string_to_argv() with g_strsplit()"
x.c Merge pull request #209 from Nauxuron/master
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. Optionally set the size as a decimal number after the font name and space. Multiple font options can be separated with commas.

-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 respectively. 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.


Always run rule-defined scripts, even if the notification is suppressed with format = "".


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 respectively. 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.