dunstrc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. [global]
  2. ### Display ###
  3. # Which monitor should the notifications be displayed on.
  4. monitor = 0
  5. # Display notification on focused monitor. Possible modes are:
  6. # mouse: follow mouse pointer
  7. # keyboard: follow window with keyboard focus
  8. # none: don't follow anything
  9. #
  10. # "keyboard" needs a window manager that exports the
  11. # _NET_ACTIVE_WINDOW property.
  12. # This should be the case for almost all modern window managers.
  13. #
  14. # If this option is set to mouse or keyboard, the monitor option
  15. # will be ignored.
  16. follow = mouse
  17. # The geometry of the window:
  18. # [{width}]x{height}[+/-{x}+/-{y}]
  19. # The geometry of the message window.
  20. # The height is measured in number of notifications everything else
  21. # in pixels. If the width is omitted but the height is given
  22. # ("-geometry x2"), the message window expands over the whole screen
  23. # (dmenu-like). If width is 0, the window expands to the longest
  24. # message displayed. A positive x is measured from the left, a
  25. # negative from the right side of the screen. Y is measured from
  26. # the top and down respectively.
  27. # The width can be negative. In this case the actual width is the
  28. # screen width minus the width defined in within the geometry option.
  29. geometry = "300x5-30+20"
  30. # Show how many messages are currently hidden (because of geometry).
  31. indicate_hidden = yes
  32. # Shrink window if it's smaller than the width. Will be ignored if
  33. # width is 0.
  34. shrink = no
  35. # The transparency of the window. Range: [0; 100].
  36. # This option will only work if a compositing window manager is
  37. # present (e.g. xcompmgr, compiz, etc.).
  38. transparency = 0
  39. # The height of the entire notification. If the height is smaller
  40. # than the font height and padding combined, it will be raised
  41. # to the font height and padding.
  42. notification_height = 0
  43. # Draw a line of "separator_height" pixel height between two
  44. # notifications.
  45. # Set to 0 to disable.
  46. separator_height = 2
  47. # Padding between text and separator.
  48. padding = 8
  49. # Horizontal padding.
  50. horizontal_padding = 8
  51. # Defines width in pixels of frame around the notification window.
  52. # Set to 0 to disable.
  53. frame_width = 3
  54. # Defines color of the frame around the notification window.
  55. frame_color = "#373b41"
  56. # Define a color for the separator.
  57. # possible values are:
  58. # * auto: dunst tries to find a color fitting to the background;
  59. # * foreground: use the same color as the foreground;
  60. # * frame: use the same color as the frame;
  61. # * anything else will be interpreted as a X color.
  62. separator_color = frame
  63. # Sort messages by urgency.
  64. sort = yes
  65. # Don't remove messages, if the user is idle (no mouse or keyboard input)
  66. # for longer than idle_threshold seconds.
  67. # Set to 0 to disable.
  68. # A client can set the 'transient' hint to bypass this. See the rules
  69. # section for how to disable this if necessary
  70. idle_threshold = 120
  71. ### Text ###
  72. # font = Monospace 9
  73. font = JetBrains Mono Medium 10
  74. # The spacing between lines. If the height is smaller than the
  75. # font height, it will get raised to the font height.
  76. line_height = 0
  77. # Possible values are:
  78. # full: Allow a small subset of html markup in notifications:
  79. # <b>bold</b>
  80. # <i>italic</i>
  81. # <s>strikethrough</s>
  82. # <u>underline</u>
  83. #
  84. # For a complete reference see
  85. # <https://developer.gnome.org/pango/stable/pango-Markup.html>.
  86. #
  87. # strip: This setting is provided for compatibility with some broken
  88. # clients that send markup even though it's not enabled on the
  89. # server. Dunst will try to strip the markup but the parsing is
  90. # simplistic so using this option outside of matching rules for
  91. # specific applications *IS GREATLY DISCOURAGED*.
  92. #
  93. # no: Disable markup parsing, incoming notifications will be treated as
  94. # plain text. Dunst will not advertise that it has the body-markup
  95. # capability if this is set as a global setting.
  96. #
  97. # It's important to note that markup inside the format option will be parsed
  98. # regardless of what this is set to.
  99. markup = full
  100. # The format of the message. Possible variables are:
  101. # %a appname
  102. # %s summary
  103. # %b body
  104. # %i iconname (including its path)
  105. # %I iconname (without its path)
  106. # %p progress value if set ([ 0%] to [100%]) or nothing
  107. # %n progress value if set without any extra characters
  108. # %% Literal %
  109. # Markup is allowed
  110. format = "<b>%s</b>\n%b"
  111. # Alignment of message text.
  112. # Possible values are "left", "center" and "right".
  113. alignment = left
  114. # Vertical alignment of message text and icon.
  115. # Possible values are "top", "center" and "bottom".
  116. vertical_alignment = center
  117. # Show age of message if message is older than show_age_threshold
  118. # seconds.
  119. # Set to -1 to disable.
  120. show_age_threshold = 60
  121. # Split notifications into multiple lines if they don't fit into
  122. # geometry.
  123. word_wrap = yes
  124. # When word_wrap is set to no, specify where to make an ellipsis in long lines.
  125. # Possible values are "start", "middle" and "end".
  126. ellipsize = middle
  127. # Ignore newlines '\n' in notifications.
  128. ignore_newline = no
  129. # Stack together notifications with the same content
  130. stack_duplicates = true
  131. # Hide the count of stacked notifications with the same content
  132. hide_duplicate_count = false
  133. # Display indicators for URLs (U) and actions (A).
  134. show_indicators = yes
  135. ### Icons ###
  136. # Align icons left/right/off
  137. icon_position = left
  138. # Scale small icons up to this size, set to 0 to disable. Helpful
  139. # for e.g. small files or high-dpi screens. In case of conflict,
  140. # max_icon_size takes precedence over this.
  141. min_icon_size = 0
  142. # Scale larger icons down to this size, set to 0 to disable
  143. max_icon_size = 32
  144. # Paths to default icons.
  145. icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
  146. ### History ###
  147. # Should a notification popped up from history be sticky or timeout
  148. # as if it would normally do.
  149. sticky_history = yes
  150. # Maximum amount of notifications kept in history
  151. history_length = 20
  152. ### Misc/Advanced ###
  153. # dmenu path.
  154. dmenu = /usr/bin/dmenu -p dunst:
  155. # Browser for opening urls in context menu.
  156. browser = /usr/bin/firefox -new-tab
  157. # Always run rule-defined scripts, even if the notification is suppressed
  158. always_run_script = true
  159. # Define the title of the windows spawned by dunst
  160. title = Dunst
  161. # Define the class of the windows spawned by dunst
  162. class = Dunst
  163. # Print a notification on startup.
  164. # This is mainly for error detection, since dbus (re-)starts dunst
  165. # automatically after a crash.
  166. startup_notification = false
  167. # Manage dunst's desire for talking
  168. # Can be one of the following values:
  169. # crit: Critical features. Dunst aborts
  170. # warn: Only non-fatal warnings
  171. # mesg: Important Messages
  172. # info: all unimportant stuff
  173. # debug: all less than unimportant stuff
  174. verbosity = mesg
  175. # Define the corner radius of the notification window
  176. # in pixel size. If the radius is 0, you have no rounded
  177. # corners.
  178. # The radius will be automatically lowered if it exceeds half of the
  179. # notification height to avoid clipping text and/or icons.
  180. corner_radius = 0
  181. # Ignore the dbus closeNotification message.
  182. # Useful to enforce the timeout set by dunst configuration. Without this
  183. # parameter, an application may close the notification sent before the
  184. # user defined timeout.
  185. ignore_dbusclose = false
  186. ### Legacy
  187. # Use the Xinerama extension instead of RandR for multi-monitor support.
  188. # This setting is provided for compatibility with older nVidia drivers that
  189. # do not support RandR and using it on systems that support RandR is highly
  190. # discouraged.
  191. #
  192. # By enabling this setting dunst will not be able to detect when a monitor
  193. # is connected or disconnected which might break follow mode if the screen
  194. # layout changes.
  195. force_xinerama = false
  196. ### mouse
  197. # Defines list of actions for each mouse event
  198. # Possible values are:
  199. # * none: Don't do anything.
  200. # * do_action: If the notification has exactly one action, or one is marked as default,
  201. # invoke it. If there are multiple and no default, open the context menu.
  202. # * close_current: Close current notification.
  203. # * close_all: Close all notifications.
  204. # These values can be strung together for each mouse event, and
  205. # will be executed in sequence.
  206. mouse_left_click = close_current
  207. mouse_middle_click = do_action, close_current
  208. mouse_right_click = close_all
  209. # Experimental features that may or may not work correctly. Do not expect them
  210. # to have a consistent behaviour across releases.
  211. [experimental]
  212. # Calculate the dpi to use on a per-monitor basis.
  213. # If this setting is enabled the Xft.dpi value will be ignored and instead
  214. # dunst will attempt to calculate an appropriate dpi value for each monitor
  215. # using the resolution and physical size. This might be useful in setups
  216. # where there are multiple screens with very different dpi values.
  217. per_monitor_dpi = false
  218. [shortcuts]
  219. # Shortcuts are specified as [modifier+][modifier+]...key
  220. # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
  221. # "mod3" and "mod4" (windows-key).
  222. # Xev might be helpful to find names for keys.
  223. # Close notification.
  224. close = ctrl+space
  225. # Close all notifications.
  226. close_all = ctrl+shift+space
  227. # Redisplay last message(s).
  228. # On the US keyboard layout "grave" is normally above TAB and left
  229. # of "1". Make sure this key actually exists on your keyboard layout,
  230. # e.g. check output of 'xmodmap -pke'
  231. history = ctrl+grave
  232. # Context menu.
  233. context = ctrl+shift+period
  234. [urgency_low]
  235. # IMPORTANT: colors have to be defined in quotation marks.
  236. # Otherwise the "#" and following would be interpreted as a comment.
  237. background = "#1d1f21"
  238. foreground = "#c5c8c6"
  239. timeout = 10
  240. # Icon for notifications with low urgency, uncomment to enable
  241. #icon = /path/to/icon
  242. [urgency_normal]
  243. background = "#1d1f21"
  244. foreground = "#c5c8c6"
  245. timeout = 10
  246. # Icon for notifications with normal urgency, uncomment to enable
  247. #icon = /path/to/icon
  248. [urgency_critical]
  249. background = "#a54242"
  250. foreground = "#c5c8c6"
  251. frame_color = "#cc6666"
  252. timeout = 0
  253. # Icon for notifications with critical urgency, uncomment to enable
  254. #icon = /path/to/icon
  255. # Every section that isn't one of the above is interpreted as a rules to
  256. # override settings for certain messages.
  257. #
  258. # Messages can be matched by
  259. # appname (discouraged, see desktop_entry)
  260. # body
  261. # category
  262. # desktop_entry
  263. # icon
  264. # match_transient
  265. # msg_urgency
  266. # stack_tag
  267. # summary
  268. #
  269. # and you can override the
  270. # background
  271. # foreground
  272. # format
  273. # frame_color
  274. # fullscreen
  275. # new_icon
  276. # set_stack_tag
  277. # set_transient
  278. # timeout
  279. # urgency
  280. #
  281. # Shell-like globbing will get expanded.
  282. #
  283. # Instead of the appname filter, it's recommended to use the desktop_entry filter.
  284. # GLib based applications export their desktop-entry name. In comparison to the appname,
  285. # the desktop-entry won't get localized.
  286. #
  287. # SCRIPTING
  288. # You can specify a script that gets run when the rule matches by
  289. # setting the "script" option.
  290. # The script will be called as follows:
  291. # script appname summary body icon urgency
  292. # where urgency can be "LOW", "NORMAL" or "CRITICAL".
  293. #
  294. # NOTE: if you don't want a notification to be displayed, set the format
  295. # to "".
  296. # NOTE: It might be helpful to run dunst -print in a terminal in order
  297. # to find fitting options for rules.
  298. # Disable the transient hint so that idle_threshold cannot be bypassed from the
  299. # client
  300. #[transient_disable]
  301. # match_transient = yes
  302. # set_transient = no
  303. #
  304. # Make the handling of transient notifications more strict by making them not
  305. # be placed in history.
  306. #[transient_history_ignore]
  307. # match_transient = yes
  308. # history_ignore = yes
  309. # fullscreen values
  310. # show: show the notifications, regardless if there is a fullscreen window opened
  311. # delay: displays the new notification, if there is no fullscreen window active
  312. # If the notification is already drawn, it won't get undrawn.
  313. # pushback: same as delay, but when switching into fullscreen, the notification will get
  314. # withdrawn from screen again and will get delayed like a new notification
  315. #[fullscreen_delay_everything]
  316. # fullscreen = delay
  317. #[fullscreen_show_critical]
  318. # msg_urgency = critical
  319. # fullscreen = show
  320. #[espeak]
  321. # summary = "*"
  322. # script = dunst_espeak.sh
  323. #[script-test]
  324. # summary = "*script*"
  325. # script = dunst_test.sh
  326. #[ignore]
  327. # # This notification will not be displayed
  328. # summary = "foobar"
  329. # format = ""
  330. #[history-ignore]
  331. # # This notification will not be saved in history
  332. # summary = "foobar"
  333. # history_ignore = yes
  334. #[skip-display]
  335. # # This notification will not be displayed, but will be included in the history
  336. # summary = "foobar"
  337. # skip_display = yes
  338. #[signed_on]
  339. # appname = Pidgin
  340. # summary = "*signed on*"
  341. # urgency = low
  342. #
  343. #[signed_off]
  344. # appname = Pidgin
  345. # summary = *signed off*
  346. # urgency = low
  347. #
  348. #[says]
  349. # appname = Pidgin
  350. # summary = *says*
  351. # urgency = critical
  352. #
  353. #[twitter]
  354. # appname = Pidgin
  355. # summary = *twitter.com*
  356. # urgency = normal
  357. #
  358. [stack-volumes]
  359. appname = "some_volume_notifiers"
  360. set_stack_tag = "volume"
  361. #
  362. # vim: ft=cfg