# _ _ # __| |_ _ _ __ ___| |_ # / _` | | | | '_ \/ __| __| # | (_| | |_| | | | \__ \ |_ # \__,_|\__,_|_| |_|___/\__| # # # by Stephan Raabe (2023) # ----------------------------------------------------- [urgency_low] background = "#171717" foreground = "#888888" timeout = 6 [urgency_normal] background = "#171717" foreground = "#ffffff" timeout = 6 [urgency_critical] background = "#171717" foreground = "#ffffff" frame_color = "#ffffff" timeout = 6 [global] # monitor = 0 # force_xwayland = true layer = top follow = keyboard width = 320 height = (0,300) origin = bottom-right offset = 15x15 transparency = 0 corner_radius = 10 scale = 1 notification_limit = 20 progress_bar = true progress_bar_height = 100 progress_bar_frame_width = 1 progress_bar_min_width = 150 progress_bar_max_width = 300 progress_bar_corner_radius = 10 icon_corner_radius = 1 indicate_hidden = yes separator_height = 2 padding = 18 horizontal_padding = 16 text_icon_padding = 0 frame_width = 0 frame_color = "#ffffff" gap_size = 0 separator_color = frame sort = yes font = "Cascadia Code" 12 line_height = 1 markup = full format = "%s\n%b" alignment = left vertical_alignment = top # Show age of message if message is older than show_age_threshold # seconds. # Set to -1 to disable. show_age_threshold = 60 # Specify where to make an ellipsis in long lines. # Possible values are "start", "middle" and "end". ellipsize = middle # Ignore newlines '\n' in notifications. ignore_newline = no # Stack together notifications with the same content stack_duplicates = true # Hide the count of stacked notifications with the same content hide_duplicate_count = false # Display indicators for URLs (U) and actions (A). show_indicators = yes ### Icons ### # Recursive icon lookup. You can set a single theme, instead of having to # define all lookup paths. enable_recursive_icon_lookup = true # Set icon theme (only used for recursive icon lookup) icon_theme = "Adwaita" # You can also set multiple icon themes, with the leftmost one being used first. # icon_theme = "Adwaita, breeze" # Align icons left/right/top/off icon_position = left # Scale small icons up to this size, set to 0 to disable. Helpful # for e.g. small files or high-dpi screens. In case of conflict, # max_icon_size takes precedence over this. min_icon_size = 32 # Scale larger icons down to this size, set to 0 to disable max_icon_size = 128 # Paths to default icons (only neccesary when not using recursive icon lookup) icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ ### History ### # Should a notification popped up from history be sticky or timeout # as if it would normally do. sticky_history = yes # Maximum amount of notifications kept in history history_length = 20 ### Misc/Advanced ### # dmenu path. dmenu = /usr/bin/dmenu -p dunst: # Browser for opening urls in context menu. browser = /usr/bin/xdg-open # Always run rule-defined scripts, even if the notification is suppressed always_run_script = true # Define the title of the windows spawned by dunst title = Dunst # Define the class of the windows spawned by dunst class = Dunst # Define the corner radius of the notification window # in pixel size. If the radius is 0, you have no rounded # corners. # The radius will be automatically lowered if it exceeds half of the # notification height to avoid clipping text and/or icons. ignore_dbusclose = false force_xinerama = false mouse_left_click = close_current mouse_middle_click = do_action, close_current mouse_right_click = close_all # Experimental features that may or may not work correctly. Do not expect them # to have a consistent behaviour across releases. [experimental] # Calculate the dpi to use on a per-monitor basis. # If this setting is enabled the Xft.dpi value will be ignored and instead # dunst will attempt to calculate an appropriate dpi value for each monitor # using the resolution and physical size. This might be useful in setups # where there are multiple screens with very different dpi values. per_monitor_dpi = false # Every section that isn't one of the above is interpreted as a rules to # override settings for certain messages. # # Messages can be matched by # appname (discouraged, see desktop_entry) # body # category # desktop_entry # icon # match_transient # msg_urgency # stack_tag # summary # # and you can override the # background # foreground # format # frame_color # fullscreen # new_icon # set_stack_tag # set_transient # set_category # timeout # urgency # icon_position # skip_display # history_ignore # action_name # word_wrap # ellipsize # alignment # hide_text # # Shell-like globbing will get expanded. # # Instead of the appname filter, it's recommended to use the desktop_entry filter. # GLib based applications export their desktop-entry name. In comparison to the appname, # the desktop-entry won't get localized. # # SCRIPTING # You can specify a script that gets run when the rule matches by # setting the "script" option. # The script will be called as follows: # script appname summary body icon urgency # where urgency can be "LOW", "NORMAL" or "CRITICAL". # # NOTE: It might be helpful to run dunst -print in a terminal in order # to find fitting options for rules. # Disable the transient hint so that idle_threshold cannot be bypassed from the # client #[transient_disable] # match_transient = yes # set_transient = no # # Make the handling of transient notifications more strict by making them not # be placed in history. #[transient_history_ignore] # match_transient = yes # history_ignore = yes # fullscreen values # show: show the notifications, regardless if there is a fullscreen window opened # delay: displays the new notification, if there is no fullscreen window active # If the notification is already drawn, it won't get undrawn. # pushback: same as delay, but when switching into fullscreen, the notification will get # withdrawn from screen again and will get delayed like a new notification #[fullscreen_delay_everything] # fullscreen = delay #[fullscreen_show_critical] # msg_urgency = critical # fullscreen = show #[espeak] # summary = "*" # script = dunst_espeak.sh #[script-test] # summary = "*script*" # script = dunst_test.sh #[ignore] # # This notification will not be displayed # summary = "foobar" # skip_display = true #[history-ignore] # # This notification will not be saved in history # summary = "foobar" # history_ignore = yes #[skip-display] # # This notification will not be displayed, but will be included in the history # summary = "foobar" # skip_display = yes #[signed_on] # appname = Pidgin # summary = "*signed on*" # urgency = low # #[signed_off] # appname = Pidgin # summary = *signed off* # urgency = low # #[says] # appname = Pidgin # summary = *says* # urgency = critical # #[twitter] # appname = Pidgin # summary = *twitter.com* # urgency = normal # #[stack-volumes] # appname = "some_volume_notifiers" # set_stack_tag = "volume" # # vim: ft=cfg