Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
dunst(5)			Dunst Reference			      dunst(5)

NAME
       dunstrc - dunst configuration file

DESCRIPTION
       The configuration is divided into sections in an	ini-like format. Every
       section starts with the section's name in square	brackets. After	that
       is a list of key-value pairs that specify the settings. Whitespace is
       purely cosmetic and doesn't change the result.

       The "global" section contains the general settings applying to all of
       dunst. The rest of the settings can be specified	via rules and can be
       located in any section. These rules can change a	notification based on
       its properties. There are filtering rules and modifying rules.
       Filtering rules specify what notifications the rule applies to.
       Modifying rules specify changes to the matching notifications. Some
       special sections	have implied filters that cannot be changed. For
       example,	the "global" section has no filters: it	applies	to all
       notifications.

       See RULES for more details.

       All experimental	settings are marked with Experimental.

   Global section
       monitor (default: 0)
	   Specifies  on  which	 monitor the notifications should be displayed
	   in, either by name or by number, starting from 0.  See  the	follow
	   setting.

       follow (values: [none/mouse/keyboard] default: none)
	   Defines where the notifications should be placed in a multi-monitor
	   setup. All values except none override the monitor setting.

	   On Wayland there is no difference between mouse and keyboard	focus.
	   When	 either	of them	is used, the compositor	will choose an output.
	   This	will generally be the output last interacted with.

	   none
	       The notifications will be placed	on the	monitor	 specified  by
	       the monitor setting.

	   mouse
	       The  notifications will be placed on the	monitor	that the mouse
	       is currently in.

	   keyboard
	       The notifications will be placed	on the monitor	that  contains
	       the window with keyboard	focus.

       enable_posix_regex (default: false)
	   When	  set  to  true	 (recommended),	 you  can  use	POSIX  regular
	   expressions for filtering rules. It uses the	POSIX Extended Regular
	   Expression						       syntax:
	   https://en.m.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions.

	   If  this  is	 set  to  false	 (not  recommended),  dunst  will  use
	   fnmatch(3) for matching strings. Dunst doesn't pass	any  flags  to
	   fnmatch, so you cannot make use of extended patterns.

	   The	POSIX  syntax  is more powerful	and will eventually become the
	   default. The	main differences between POSIX and fnmatch(3) is  that
	   POSIX  uses	".*" for wildcards instead of "*" and POSIX allows for
	   partial matches without needing wildcards.	This  means  that  the
	   pattern  "abc"  will	 match	all  strings  that contain "abc", like
	   "abcdef".

       geometry	DEPRECATED
	   This	setting	is deprecated and removed. It's	split up  into	width,
	   height,   origin,   notification_limit  and	offset.	  For  quickly
	   transitioning to the	new syntax, you	can take the numbers from your
	   old geometry	config as follows:
		   geometry = <width>x<height>+<offset>

	   In the new config you can then set the  following  variables	 (make
	   sure	to remove any negative signs)

	       width = <width>
	       height =	<height>
	       offset =	<offset>
	       origin =	top-right # or top-left, or any	other direction	you prefer

       width
	   The	width  of  the	notification  window  in pixels. This can be a
	   single number to specify a constant width or	two  numbers  for  the
	   minimum  and	 maximum  width. The notification will expand from the
	   minimum width as neccesary.

	   Examples:

	       width = 300	# constant width of 300
	       width = (0, 300)	# width	between	0 and 300

	   When	setting	a width	bigger than the	screen,	dunst will  clamp  the
	   width  to  the  screen  width.  So  if  you want the	notifcation to
	   stretch the entire screen dynamically, you may set the width	 to  a
	   high	enough number, which none of your screens exceed (e.g. 10000).

       height
	   The	height	of  each  notification in pixels. This can be a	single
	   number to specify a constant	height or two numbers for the  minimum
	   and	maximum	 width.	 The notification will expand from the minimum
	   height as neccesary.

	   Examples:

	       height =	300	 # constant height of 300
	       height =	(0, 300) # height between 0 and	300

	   Note	that unlike width, different notifications can	have  diffrent
	   height values.

	   Dunst  v1.11	 and  older do not support a dynamic height and	height
	   accepts a single value whose	behaviour is equivalent	to (0, value).

       notification_limit (default: 20)
	   The number of notifications that can	appear at one time. When  this
	   limit  is  reached  any additional notifications will be queued and
	   displayed when the currently	displayed ones either time out or  are
	   manually  dismissed.	The value 0 means no limit. If indicate_hidden
	   is true, then the specified limit is	reduced	 by  1	and  the  last
	   notification	 is  a message informing how many hidden notifications
	   are waiting to be displayed.	See the	indicate_hidden	entry for more
	   information.

       origin (default:	top-right)
	   The origin of the notification window on the	screen.	It can then be
	   moved with offset.  Origin can be one of:

	       top-left
	       top-center
	       top-right
	       bottom-left
	       bottom-center
	       bottom-right
	       left-center
	       center
	       right-center

       offset format: (horizontal, vertical)
	   Respectively	the horizontal and vertical offset in pixels from  the
	   corner  of  the  screen specified by	origin.	A negative offset will
	   lead	to the notification being off screen.

	   Examples:

	       origin =	top-right
	       offset =	(10, 300) # a margin of	10 pixels from the right and 300 pixels	from the top

	   Dunst v1.11 and older use the syntax	NxN  instead  (X  offset  x  Y
	   offset).  For backwards compatibility this syntax is	also accepted.

	       offset =	10x300

       scale (default: 0, X11 only)
	   Specifies  a	 scale factor for dimensions to	adapt notifications to
	   HiDPI screens. This	scales	the  notification  geometry  and  it's
	   contents. It	is not recommended to use a fractional scaling factor,
	   as  this  may  result  in  things being one pixel off. Try to use a
	   whole number	scaling	factor and adjust  the	font  size  and	 other
	   sizes  as  needed.  If  0  is  specified, the scale factor is auto-
	   detected.

       progress_bar (values: [true/false], default: true)
	   When	an integer value is passed to dunst as	a  hint	 (see  NOTIFY-
	   SEND),  a  progress	bar  will  be  drawn  at  the  bottom  of  the
	   notification. This behavior can  be	turned	off  by	 setting  this
	   setting to false.

       progress_bar_horizontal_alignment (values: [left/center/right],
       default:	center)
	   Horizontal  alignment  of  the  progress bar. The progress bar will
	   always keep a distance of horizontal_padding	from the edge  of  the
	   notification.

       progress_bar_height (default: 10)
	   The	height	of the progress	bar in pixel. This includes the	frame.
	   Make	sure this value	is bigger than twice the frame width.

       progress_bar_min_width (default:	150)
	   The minimum width of	the progress bar in pixels.  The  notification
	   is rescaled to fit the bar.

       progress_bar_max_width (default:	300)
	   The	maximum	 width of the progress bar in pixels. The notification
	   is resized to fit the progress bar.

       progress_bar_frame_width	(default: 1)
	   The frame width of the progress bar in pixels. This value should be
	   smaller than	half of	the progress bar height.

       progress_bar_corner_radius (default: 0)
	   The corner radius of	the progress bar in pixels. Gives the progress
	   bar rounded corners.	Set to 0 to disable.

	   This	setting	will be	ignored	 if  progress_bar_corners  is  set  to
	   none.

       progress_bar_corners (default: all)
	   Define  which  corners  to  round when drawing the progress bar. If
	   progress_bar_corner_radius is set to	0 this option will be ignored.

	   See the corners setting for the value format.

       icon_corner_radius (default: 0)
	   The corner radius of	the icon  image	 in  pixels.  Gives  the  icon
	   rounded corners. Set	to 0 to	disable.

	   This	setting	will be	ignored	if icon_corners	is set to none.

       icon_corners (default: all)
	   Define  which  corners  to  round  when  drawing the	icon image. If
	   icon_corner_radius is set to	0 this option will be ignored.

	   See the corners setting for the value format.

       indicate_hidden (values:	[true/false], default: true)
	   If this  is	set  to	 true,	a  notification	 indicating  how  many
	   notifications are not being displayed due to	the notification limit
	   (see	 notification_limit)  will  be	shown  in  place  of  the last
	   notification	slot.

	   Meaning that	if this	is enabled the number of visible notifications
	   will	be 1 less than what is specified  by  notification_limit,  the
	   last	slot will be taken by the hidden count.

       transparency (default: 0) (X11 only)
	   A 0-100 range on how	transparent the	notification window should be,
	   with	0 being	fully opaque and 100 invisible.

	   This	 will  affect the whole	window.	To make	only parts of a	window
	   transparent set the alpha channel in	a color, see COLORS.

	   To make windows transparent on wayland, set the transparent part of
	   a color, see	COLORS.

	   This	setting	will only work if a compositor is running.

       separator_height	(default: 2)
	   The height in pixels	of the separator between notifications,	if set
	   to 0	there will be no separating line between  notifications.  This
	   setting will	be ignored if gap_size is greater than 0.

       padding (default: 8)
	   The	distance in pixels from	the content to the separator/border of
	   the window in the vertical axis.

       horizontal_padding (default: 8)
	   The distance	in pixels from the content to the border of the	window
	   in the horizontal axis.

       text_icon_padding (default: 0)
	   The distance	in pixels from the text	to the icon (or	vice versa) in
	   the horizontal axis.

	   Setting this	to  a  non-zero	 value	overwrites  any	 padding  that
	   horizontal_padding  was  adding  between  the notification text and
	   icon.

	   So for example setting

	       text_icon_padding=10
	       horizontal_padding=10

	   is equivalent to

	       text_icon_padding=0
	       horizontal_padding=10

       frame_width (default: 3)
	   Defines width in pixels of frame around  the	 notification  window.
	   Set to 0 to disable.

       gap_size	(default: 0)
	   Size	of gap to display between notifications.

	   If  value is	greater	than 0,	separator_height will be ignored and a
	   border of size frame_width will be drawn around  each  notification
	   instead.

	   This	 setting  requires a compositor	and any	applications displayed
	   between the gaps are	not currently clickable.

       separator_color (values:	[auto/foreground/frame/#RRGGBB]	default:
       frame)
	   Sets	the color of the separator line	between	two notifications.

	   auto
	       Dunst tries  to	find  a	 color	that  fits  the	 rest  of  the
	       notification color scheme automatically.

	   foreground
	       The  color  will	 be set	to the same as the foreground color of
	       the topmost notification	that's being separated.

	   frame
	       The color will be set to	the frame color	 of  the  notification
	       with  the  highest urgency between the 2	notifications that are
	       being separated.

	   anything else
	       Any other value is interpreted as a color, see COLORS.

       sort (values:
       [true/false/id/urgency_ascending/urgency_descending/update], default:
       true)
	   If set to true or urgency_descending,  display  notifications  with
	   higher urgency above	the others.  critical first, then normal, then
	   low.

	   If set to false or id, sort notifications by	id.

	   If  set  to urgency_ascending, notifications	are sorted by urgency,
	   low first, then normal, then	critical.

	   If set to update, notifications are sorted  by  their  update_time.
	   So the most recent is always	at the top. This means that if you set
	   sort	 to  update,  and stack_duplicates to true, the	duplicate will
	   always be at	the top.

	   When	the notification window	is at the bottom of the	 screen,  this
	   order is automatically reversed.

       idle_threshold (default:	0)
	   Don't  timeout notifications	if user	is idle	longer than this time.
	   See TIME FORMAT for valid times.

	   Set to 0 to disable.

	   A client can	mark  a	 notification  as  transient  to  bypass  this
	   setting and timeout anyway. Use a rule with 'set_transient =	no' to
	   disable this	behavior.

	   Note: this doesn't work on xwayland.

       layer (values: [bottom/top/overlay], default: overlay) (Wayland only)
	   Place dunst notifications on	the selected layer. Using overlay will
	   cause  notifications	 to  be	 displayed  above  fullscreen windows,
	   though this may also	occur at top depending on your compositor.

	   The bottom layer is below all windows and above the background.

       force_xwayland (values: [true/false], default: false) (Wayland only)
	   Force the use of X11	output,	even on	 a  wayland  compositor.  This
	   setting has no effect when not using	a Wayland compositor.

	   This	 setting  will	be  ignored  if	dunst was compiled without X11
	   support.

       font (default: "Monospace 8")
	   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.

	   This	 options  is  parsed  as  a  Pango  font   description.	  More
	   information	  on   the   string   format   can   be	  found	  here
	   https://docs.gtk.org/Pango/type_func.FontDescription.from_string.html.

       line_height (default: 0)
	   The amount of extra spacing between text lines in pixels. Set to  0
	   to disable.

       format (default:	"<b>%s</b>\n%b")
	   Specifies  how the various attributes of the	notification should be
	   formatted on	the notification window.

	   Regardless of the status of the markup  setting,  any  markup  tags
	   that	are present in the format will be parsed. Note that because of
	   that,  if  a	literal	ampersand (&) is needed	it needs to be escaped
	   as '&amp;'

	   If '\n' is present anywhere in the format, it will be replaced with
	   a literal newline.

	   If any of the following strings are present,	they will be  replaced
	   with	the equivalent notification attribute.

	   For	      a	      complete	     markup	  reference,	   see
	   <https://docs.gtk.org/Pango/pango_markup.html>.

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

	   If any of these exists in the format	but hasn't been	 specified  in
	   the notification (e.g. no icon has been set), the placeholders will
	   simply be removed from the format.

       vertical_alignment (values: [top/center/bottom],	default: center)
	   Defines  how	 the text and icon should be aligned vertically	within
	   the notification.

       show_age_threshold (default: 60)
	   Show	age of message if message is older than	this time.   See  TIME
	   FORMAT for valid times.

	   Set to -1 to	disable.

       ignore_newline (values: [true/false], default: false)
	   If  set  to	true, replace newline characters in notifications with
	   whitespace.

       stack_duplicates	(values: [true/false], default:	true)
	   If set to true, duplicate notifications will	 be  stacked  together
	   instead of being displayed separately.

	   Two	notifications  are  considered	duplicate  if  the name	of the
	   program that	sent it, summary,  body,  icon	and  urgency  are  all
	   identical.

       hide_duplicate_count (values: [true/false], default: false)
	   Hide	the count of stacked duplicate notifications.

       show_indicators (values:	[true/false], default: true)
	   Show	 an  indicator if a notification contains actions and/or open-
	   able	URLs. See ACTIONS below	for further details.

       icon_path (default:
       "/usr/local/share/icons/gnome/16x16/status/:/usr/local/share/icons/gnome/16x16/devices/")
	   Can be set to a colon-separated list	of paths to search  for	 icons
	   to use with notifications.

	   Dunst  doens't  search outside of these direcories. For a recursive
	   icon	lookup	system,	 see  enable_recursive_icon_lookup.  This  new
	   system will eventually replace icon_path search.

       icon_theme (default: "Adwaita", example:	"Adwaita, breeze")
	   Comma-separated  list  of names of the themes to use	for looking up
	   icons. This has to be the name of the directory in which the	 theme
	   is  located,	 not  the  human-friendly  name	 of  the theme.	So for
	   example,    the    theme    Breeze	 Dark	 is	located	    in
	   /usr/local/share/icons/breeze-dark.	In  this  case you have	to set
	   the theme to	breeze-dark.

	   The first theme in the list is the most important. Only if the icon
	   cannot be found in that theme, the next theme will be tried.

	   Dunst  will	look  for  the	themes	in   XDG_DATA_HOME/icons   and
	   $XDG_DATA_DIRS/icons	 as specified in the icon theme	specification:
	   https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html.

	   If the theme	inherits from other themes, they will  be  used	 as  a
	   backup.

	   This	 setting  is  experimental  and	 not  enabled  by default. See
	   enable_recursive_icon_lookup	for how	to enable it.

       enable_recursive_icon_lookup (default: false)
	   This	setting	enables	the new	icon lookup method.  This  new	system
	   will	eventually be the old icon lookup.

	   Currently icons are looked up in the	icon_path. Since the icon_path
	   wasn't recursive, one had to	add a ton of paths to this list.  This
	   has	been  drastically simplified by	the new	lookup method. Now you
	   only	have to	set icon_theme to the name of the theme	you  want.  To
	   enable this new behaviour, set enable_recursive_icon_lookup to true
	   in  the  [global]  section.	See  the  respective settings for more
	   details.

       sticky_history (values: [true/false], default: true)
	   If set to true, notifications that have been	recalled from  history
	   will	not time out automatically.

       history_length (default:	20)
	   Maximum number of notifications that	will be	kept in	history. After
	   that	 limit	is reached, older notifications	will be	deleted	once a
	   new one arrives. See	HISTORY.

       dmenu (default: "/usr/local/bin/dmenu -p	dunst")
	   The command that will be run	when opening the context menu.	Should
	   be either a dmenu command or	a dmenu-compatible menu.

       browser (default: "/usr/local/bin/xdg-open")
	   The	command	 that  will  be	 run when opening a URL. The URL to be
	   opened will be appended to the end of the value of this setting.

       always_run_script (values: [true/false] default:	true]
	   Always run  rule-defined  scripts,  even  if	 the  notification  is
	   suppressed with "format = """. See SCRIPTING.

       title (default: "Dunst")	(X11 only)
	   Defines  the	 title (_NET_WM_NAME property) of notification windows
	   spawned by dunst.

	   There should	be no need to modify this setting for regular use.

       class (default: "Dunst")	(X11 only)
	   Defines the class (WM_CLASS first  part)  of	 notification  windows
	   spawned by dunst.

	   There should	be no need to modify this setting for regular use.

       force_xinerama (values: [true/false], default: false) (X11 only)
	   Use	the  Xinerama  extension  instead  of  RandR for multi-monitor
	   support. This setting is  provided  for  compatibility  with	 older
	   nVidia  drivers  that  do not support RandR and using it on systems
	   that	support	RandR is highly	discouraged.

	   By enabling this setting dunst will not be able to  detect  when  a
	   monitor  is connected or disconnected which might break follow mode
	   if the screen layout	changes.

       corner_radius (default: 0)
	   Define the corner radius in pixels.	A  corner  radius  of  0  will
	   result in rectangular shaped	notifications.

	   By  enabling	 this  setting	the outer border and the frame will be
	   shaped.  If you have	multiple notifications,	the  whole  window  is
	   shaped,  not	 every single notification, unless if gaps are enabled
	   (see	gaps_size).

	   To avoid the	corners	clipping the icon or text  the	corner	radius
	   will	be automatically lowered to half of the	notification height if
	   it exceeds it.

	   This	setting	will be	ignored	if corners is set to none.

       corners (values:
       [none/all/bottom-right/bottom-left/top-right/top-left/top/bottom/left/right],
       default:	all)
	   Comma-separated  list  of  the  corners  to	round when drawing the
	   window.

	   If the corner radius	is set to 0 this option	will be	ignored.

       mouse_[left/middle/right]_click (values:
       [none/do_action/close_current/close_all/context/context_all])
	   Defines action of mouse click. A touch input	in Wayland acts	 as  a
	   mouse  left	click.	A  list	of values, separated by	commas,	can be
	   specified for multiple actions to be	executed in sequence.

	   Defaults:

	   	   "mouse_left_click=close_current"

	   	   "mouse_middle_click=do_action, close_current"

	   	   "mouse_right_click=close_all"

	   none
	       Don't do	anything.

	   do_action
	       Invoke the action determined by the action_name rule. If	 there
	       is no such action, open the context menu.

	   open_url
	       If  the notification has	exactly	one url, open it. If there are
	       multiple	ones, open the context menu.

	   close_current
	       Close current notification.

	   close_all
	       Close all notifications.

	   context
	       Open context menu for the notification.

	   context_all
	       Open context menu for all notifications.

       ignore_dbusclose	(default: false)
	   Ignore the  dbus  CloseNotification	message.  This	is  useful  to
	   enforce  the	 timeout  set  by  dunst  configuration.  Without this
	   parameter, an application may close the  notification  sent	before
	   the user defined timeout.

       override_pause_level (values: [0-100], default: 0)
	   A	 notification	  will	  appear    whenever	notification's
	   override_pause_level	is greater than	 the  paused  level.   Setting
	   this	 to  values  other  than  0 allows you to create partial pause
	   modes, where	more urgent notifications get through, but less	urgent
	   stay	paused.

	   For	example,  when	you  can  set  a  low  battery	 noficiation's
	   override_pause_level	 to 60 and then	set dunst's pause level	to 60.
	   This	will cause dunst to only show battery level notification  (and
	   other   notifications   with	 override_pause_level  >=  60),	 while
	   suspending others.

   Keyboard shortcuts (X11 only)
       Keyboard	shortcuts are defined in the following format:	"Modifier+key"
       where  the  modifier  is	one of ctrl,mod1,mod2,mod3,mod4	and key	is any
       keyboard	key.

       Note that the keyboard shortcuts	have been moved	to the global  section
       of the config for consistency with other	settings.

       Alternatively  you can also define shortcuts inside your	window manager
       and bind	them to	dunstctl(1) commands.

       Wayland does not	 allow	applications  to  listen  to  global  keyboard
       events, so this feature can be implemented only for X.

       close
	   Specifies the keyboard shortcut for closing a notification.

       close_all
	   Specifies the keyboard shortcut for closing all currently displayed
	   notifications.

       history
	   Specifies the keyboard shortcut for recalling a single notification
	   from	history.

       context
	   Specifies the keyboard shortcut that	opens the context menu.

   Urgency sections
       The  urgency sections work in a similar way to rules and	can be used to
       specify attributes for the different urgency  levels  of	 notifications
       (low,  normal,  critical).  Currently  only the background, foreground,
       hightlight, timeout, frame_color	and icon attributes can	be modified.

       The urgency sections are	urgency_low, urgency_normal,  urgency_critical
       for low,	normal and critical urgency respectively.

       See the example configuration file for examples.

       Old version of dunst allowed changing the colors	of different urgencies
       through	command	 line options. This has	been long removed in favour of
       RULES, see issue	#328.

DUNSTCTL
       Dunst now contains a command line control command that can be  used  to
       interact	 with  it.  It supports	all functions previously done only via
       keyboard	shortcuts but also has a lot of	extra functionality. For  more
       information, see	dunstctl(1).

HISTORY
       Dunst  saves a number of	notifications (specified by history_length) in
       memory.	These notifications can	 be  recalled  (i.e.  redisplayed)  by
       calling dunstctl	history	(see dunstctl(1)). Whether these notifications
       will  time out like if they have	been just send depends on the value of
       the  sticky_history  setting.  Actions	are   invalidated   once   the
       notification  is	 closed,  so  you  cannot execute that action when you
       bring back a notification from history.

       Past  notifications  are	 redisplayed  in  a  first-in-last-out	order,
       meaning	that  pressing	the  history  key  once	will bring up the most
       recent notification that	had been closed/timed out.

WAYLAND
       Dunst has Wayland support since	version	 1.6.0.	 Because  the  Wayland
       protocol	 is more focused on security, some things that are possible in
       X11 are not possible in Wayland.	Those differences are reflected	in the
       configuration.  The main	things that change are that dunst  on  Wayland
       cannot use global hotkeys, use dunstctl instead.

       Some  dunst features on Wayland might need your compositor to support a
       certain protocol. Dunst will warn you  if  an  optional	feature	 isn't
       supported and will disable the corresponding functionality.

       Fullscreen  detection  works  on	 wayland  with	some  limitations (see
       fullscreen).  If	you  want  notifications  to  appear  over  fullscreen
       windows,	set layer = overlay in the global options.

       Note that the same limitations exist when using XWayland.

       If  something  doesn't quite work in Wayland, please file a bug report.
       In the mean time, you can try if	the X11	output does work  on  wayland.
       Use force_xwayland = true for that.

       If  you	have your dunst	notifications on the same side of your display
       as your status bar, you might notice that your notifications  appear  a
       bit  higher  or	lower  than  on	 X11. This is because the notification
       cannot be placed	on top of  your	 status	 bar.  The  notifications  are
       placed  relative	to your	status bar, making them	appear higher or lower
       by the height of	your status bar. We  cannot  do	 anything  about  that
       behavior.

       Note  that  dunst  creates  a  "desktop	layer"	using  the layer shell
       protocol	and not	a regular Wayland window. This	has  some  limitations
       like stated above.  For example you can't set a window title/class.

RULES
       Rules  allow the	conditional modification of notifications. They	can be
       located in a section with any name,  even  the  special	sections.  The
       special	sections  do  not  allow  filters to be	added, since they have
       implied filters by default.

       'global'
	   No filters, matches all notifications.

       'urgency_low', 'urgency_normal' and 'urgency_critical'
	   Matches low,	normal or critical urgency respectively.

       There are 2 parts in configuring	a  rule:  Defining  the	 filters  that
       controls	 when  a rule should apply and then the	actions	that should be
       taken when the rule is matched. It's also possible to not  specify  any
       filters,	in which case the rule will match all notifications.

       Rules  are applied in order of appearance. Beware: if a notification is
       changed by a rule, it may affect	if it's	being matched by a later rule.

       filtering
	   With	filtering rules	you can	match notifications to apply rules  to
	   only	a subset of notifications.

	   For	filtering  rules  that	filter	based  on  strings you can use
	   regular expressions.	It's recommended to set	enable_posix_regex  to
	   true.  You  can  then  use  the  POSIX  Extended Regular Expression
	   syntax:
	   https://en.m.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions.

	   A matching rule is made by assigning	 a  filter  attribute  to  the
	   value  you  want  to	 match.	 Shell-like globbing is	supported when
	   matching values.

	   If multiple filter expressions are present, all  of	them  have  to
	   match for the rule to be applied (logical AND).

	   An  example	of rule	that only operates on messages sent by notify-
	   send	is:

	       appname="notify-send"

	   The allowed attributes are listed below.

	   "appname" (discouraged, see desktop_entry)
	       The name	of the application as reported by the client. Be aware
	       that the	name can often differ depending	on the locale used.

	       It's recommended	to use the "desktop_entry" filter instead.

	   "body"
	       The body	of the notification

	   "category"
	       The category of the notification	as defined by the notification
	       spec.							   See
	       https://specifications.freedesktop.org/notification-spec/latest/categories.html.

	   "desktop_entry"
	       GLib  based  applications  export  their	desktop-entry name. In
	       comparison  to  the  appname,  the  desktop-entry   won't   get
	       localized.

	   "icon"
	       The icon	of the notification in the form	of a file path.	Can be
	       empty  if  no  icon is available	or a raw icon is used instead.
	       This setting is not to be confused with the icon	setting	in the
	       urgency section.

	   "match_transient"
	       Match if	the notification has been declared as transient	by the
	       client or by some other rule.

	       See "set_transient" for more details about this attribute.

	   "match_dbus_timeout"
	       Matches the dbus	timeout	of the	notification  as  set  by  the
	       client or by some other rule.

	       See   "override_dbus_timeout"   for  more  details  about  this
	       attribute.

	   "msg_urgency"
	       Matches the urgency of the notification as set by the client or
	       by some other rule.

	       It is named so to  not  conflict	 with  trying  to  modify  the
	       urgency.

	   "stack_tag"
	       Matches	the stack tag of the notification as set by the	client
	       or by some other	rule.

	       See set_stack_tag for more information about stack tags.

	   "summary"
	       Matches the summary, 'title', of	the notification.

       modifying
	   A modifying	rule,  similarly  to  a	 filtering  one,  is  made  by
	   assigning   a  value	 to  a	notification  attribute	 in  the  rule
	   definition.

	   The following attributes can	be overridden:

	   "background"
	       The background  color  of  the  notification.  See  COLORS  for
	       possible	values.

	   "foreground"
	       The  foreground	color  of  the	notification.  See  COLORS for
	       possible	values.

	   "highlight"
	       The highlight color of the notification.	This color is used for
	       coloring	the progress bar. See COLORS for possible values.

	       You can also set	additional color values	(as a  comma-separated
	       list)  to  define  a linear gradient spanning all the length of
	       the progress bar.

	   "format"
	       Equivalent to the "format" setting.

	   "frame_color"
	       The frame color color  of  the  notification.  See  COLORS  for
	       possible	values.

	   "fullscreen"	(values: [delay/show/pushback],	default: show)
	       This  attribute	specifies  how	notifications are handled if a
	       fullscreen window is focused. By	default	it's set  to  show  so
	       notifications are being shown.

	       Other  possible	values	are delay: Already shown notifications
	       are continued to	be displayed until they	are dismissed or  time
	       out  but	new notifications will be held back and	displayed when
	       the focus to the	fullscreen window is lost.

	       Or pushback which is equivalent to delay	 with  the  difference
	       that already existing notifications are paused and hidden until
	       the focus to the	fullscreen window is lost.

	       On  Wayland,  if	follow is set to mouse or keyboard, the	output
	       where the notification is  located  cannot  be  determined.  So
	       dunst  will  delay  or  pushback	 if  any  of  the  outputs  is
	       fullscreen. Since the fullscreen	protocol is  fairly  new,  you
	       will need a recent version of a compositor that supports	it. At
	       the  time  of  writing,	you will need the git version of sway.
	       See  also  layer	 to  change  if	 notifications	appear	 above
	       fullscreen windows in Wayland.

	   "min_icon_size" (default: 32)
	       Defines	the minimum size in pixels for the icons.  If the icon
	       is larger than or equal to the  specified  value	 it  won't  be
	       affected.   If  it's  smaller then it will be scaled up so that
	       the smaller axis	is equivalent to the specified size.

	       When	 using	    recursive	   icon	     lookup	  (see
	       enable_recursive_icon_lookup),  all  icons from a theme will be
	       this size.

	       If icon_position	is set to off, this setting is ignored.

	   "max_icon_size" (default: 128)
	       Defines the maximum size	in pixels for the icons.  If the  icon
	       is  smaller  than  or  equal to the specified value it won't be
	       affected.  If it's larger then it will be scaled	down  so  that
	       the larger axis is equivalent to	the specified size.

	       Set to 0	to disable icon	downscaling.

	       If both min_icon_size and max_icon_size are enabled, the	latter
	       gets the	last say.

	       If icon_position	is set to off, this setting is ignored.

	   "new_icon"
	       Updates	the icon of the	notification, it should	be a path or a
	       name for	a valid	image. This overrides the icon that  was  sent
	       with  dunstify  or  another notification	tool. Expansion	of the
	       argument	 is  carried  out  using   wordexp(3)	with   command
	       substitution disabled.

	   "icon_position" (values: [left/right/top/off], default: left)
	       Defines	the  position  of the icon in the notification window.
	       Setting it to off disables icons.

	   "default_icon"
	       Sets the	default	icon of	the notification, it should be a  path
	       or  a  name  for	a valid	image. This does not override the icon
	       that was	sent  with  dunstify  or  another  notification	 tool.
	       Expansion  of the argument is carried out using wordexp(3) with
	       command substitution disabled.

	   "set_stack_tag"
	       Sets the	stack tag for the notification,	notifications with the
	       same (non-empty)	stack tag and  the  same  appid	 will  replace
	       each-other  so  only  the  newest  one  is visible. This	can be
	       useful for example in volume or brightness notifications	 where
	       you only	want one of the	same type visible.

	       The  stack tag can be set by the	client with the	'synchronous',
	       'private-synchronous' 'x-canonical-private-synchronous' or  the
	       'x-dunst-stack-tag' hints.

	   "set_transient"
	       Sets   whether	the   notification  is	considered  transient.
	       Transient notifications will bypass the idle_threshold setting.

	       By default notifications	are  _not_  considered	transient  but
	       clients can set the value of this by specifying the 'transient'
	       hint when sending notifications.

	   "set_category"
	       Sets  the category of the notification.	For a list of standard
	       categories						   see
	       https://specifications.freedesktop.org/notification-spec/latest/categories.html.

	   "timeout"
	       Equivalent to the "timeout" setting in the urgency sections.

	   "override_dbus_timeout"
	       Overrides the timeout specified in dbus.	 This takes precedence
	       over "timeout".

	   "urgency"
	       This sets the notification urgency.

	       IMPORTANT NOTE: This currently DOES NOT re-apply	the attributes
	       from  the  urgency_* sections. The changed urgency will only be
	       visible in rules	defined	later. Use "msg_urgency" to match it.

	   "skip_display"
	       Setting this to true will prevent the notification  from	 being
	       displayed  initially  but  will	be  saved in history for later
	       viewing.

	   "history_ignore"
	       Setting this to true will display the  notification  initially,
	       but stop	it from	being recalled via the history.

	   "action_name" (default: "default")
	       Sets  the name of the action to be invoked on do_action.	If not
	       specified, the  action  set  as	default	 action	 or  the  only
	       available action	will be	invoked.

	   "word_wrap" (values:	[true/false], default: true)
	       Specifies whether to wrap the text if the lines get longer than
	       the maximum notification	width. If it's set to true, long lines
	       will  be	 broken	into multiple lines expanding the notification
	       window height as	necessary for them to fit. If the text doesn't
	       fit in the window, it will be ellipsize according to ellipsize.

	   "ellipsize" (values:	[start/middle/end], default: middle)
	       Specifies where truncated lines should be ellipsized.

	   "alignment" (values:	[left/center/right], default: left)
	       Defines how the text should be aligned within the notification.

	   "hide_text" (values:	[true/false], default: false)
	       Setting this to true will skip displaying any text  related  to
	       the  notification.  The notification icon and progress bar will
	       still be	displayed. This	option may be useful for notifications
	       where an	icon or	progress bar may be sufficient information for
	       the notification, such as audio volume or brightness level.

	   "markup" (values: [full/strip/no], default: no)
	       Defines how markup in notifications is handled.

	       It's important to note that markup in the format	option will be
	       parsed regardless of what this is set to.

	       Possible	values:

	       full
		   Allow a small subset	of html	markup in notifications

		       <b>bold</b>
		       <i>italic</i>
		       <s>strikethrough</s>
		       <u>underline</u>

		   For	      a		complete	 reference	   see
		   https://docs.gtk.org/Pango/pango_markup.html.

	       strip
		   This	setting	is provided for	compatibility with some	broken
		   clients  that  send	markup even though it's	not enabled on
		   the server.

		   Dunst will try to strip  the	 markup	 but  the  parsing  is
		   simplistic  so  using this option outside of	matching rules
		   for specific	applications IS	GREATLY	DISCOURAGED.

		   See RULES for matching specific broken clients.

	       no  Disable markup  parsing,  incoming  notifications  will  be
		   treated as plain text. Dunst	will not advertise that	it can
		   parse markup	if this	is set as a global setting.

   SCRIPTING
       Within  rules you can specify a script to be run	every time the rule is
       matched by assigning the	'script' option	to the name of the  script  to
       be run.

       When the	script is called details of the	notification that triggered it
       will  be	 passed	via environment	variables. The following variables are
       available: DUNST_APP_NAME, DUNST_SUMMARY, DUNST_BODY,  DUNST_ICON_PATH,
       DUNST_URGENCY,	   DUNST_ID,	  DUNST_PROGRESS,      DUNST_CATEGORY,
       DUNST_STACK_TAG,	   DUNST_URLS,	   DUNST_TIMEOUT,     DUNST_TIMESTAMP,
       DUNST_DESKTOP_ENTRY, and	DUNST_STACK_TAG.

       Another,	less recommended way to	get notifcations details from a	script
       is  via	command	line parameters. These are passed to the script	in the
       following order:	appname, summary, body,	icon_path, urgency.

       Where DUNST_ICON_PATH or	icon_path is the absolute  path	 to  the  icon
       file  if	 there	is  one.  DUNST_URGENCY	 or  urgency  is one of	"LOW",
       "NORMAL"	or "CRITICAL". DUNST_URLS is a newline-separated list of  urls
       associated with the notification.

       Note that some variables	may be empty.

       If  the	notification  is suppressed, the script	will not be run	unless
       always_run_script is set	to true.

       The script parameter is expanded	according to wordexp(3)	 with  command
       substitution  disabled.	If the expanded	value is not an	absolute path,
       the directories in the PATH variable will be searched for an executable
       of the same name.

COLORS
       Colors are values with the format #RGB or #RRGGBB.

       You may also specify a transparency component by	using the format #RGBA
       or #RRGGBBAA.

       NOTE: '#' is interpreted	as a comment, to use it	the entire value needs
       to be quoted.  For example:

	       separator_color="#123456"

NOTIFY-SEND HINTS
       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.

       Note: Dunstify is compatible with notify-send and all of	these settings
       work the	same way.

       All the accepted	hints are listed below.

       See RULES for more detailed explanations	for some options.

       fgcolor
	   Foreground color.

       bgcolor
	   Background color.

       frcolor
	   Frame color.

       hlcolor
	   Highlight color.

       value
	   Progress value.

       image-path
	   Icon	name. This may be a path or just the icon name.

       image-data
	   A stream of raw image data.

       category
	   The category.

       desktop-entry
	   The desktop entry.

       transient
	   The transient value.

       Some examples:

	       notify-send -h string:fgcolor:#ff4444

	       notify-send -h string:bgcolor:#4444ff -h	string:fgcolor:#ff4444 -h string:frcolor:#44ff44

	       notify-send -h int:value:42 "Working ..."

ACTIONS
       Dunst allows notifiers (i.e.: programs that send	the notifications)  to
       specify	actions.  Dunst	has support for	both displaying	indicators for
       these, and interacting with these actions.

       If "show_indicators" is true and	a notification has an action, an "(A)"
       will be prepended to the	notification format.  Likewise,	 an  "(U)"  is
       prepended  to  notifications with URLs. It is possible to interact with
       notifications that have actions regardless of this setting,  though  it
       may not be obvious which	notifications HAVE actions.

       The  "context"  keybinding  is  used to interact	with these actions, by
       showing a menu of possible actions. This	feature	requires "dmenu" or  a
       dmenu drop-in replacement present.

       Alternatively,  you  can	 invoke	 an  action with a middle click	on the
       notification.  If there is exactly one associated  action,  or  one  is
       marked  as  default,  that  one	is invoked. If there are multiple, the
       context menu is shown. The same applies	to  URLs  when	there  are  no
       actions.

TIME FORMAT
       A  time	can be any decimal integer value suffixed with a time unit. If
       no unit given, seconds ("s") is taken as	default.

       Time units understood by	dunst are "ms",	"s", "m", "h" and "d".

       Example time: "1000ms", "10m".

AUTHORS
       Written by Sascha Kruse <knopwob@googlemail.com>.

REPORTING BUGS
       Bugs   and   suggestions	  should   be	reported    on	  GitHub    at
       https://github.com/dunst-project/dunst/issues.

COPYRIGHT
       Copyright 2013 Sascha Kruse and contributors (see LICENSE for licensing
       information).

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

SEE ALSO
       dunst(1), dunstctl(1), dmenu(1),	notify-send(1),	dunstify(1)

1.12.2 (2025-03-05)		  2025-04-12			      dunst(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dunst&sektion=5&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help