Dunst
Dunst is my notification daemon. This means it is responsible for actually displaying the notifications that other apps want to send. You can send your own notifications using notify-send
.
The configuration below is mostly for visuals. You can find all configuration options here.
# See the default config file for more options/details
# See dunst(5) for all configuration options
[global]
### Display ###
# Default monitor for notifications
monitor = 0
# display notifications on monitor with keyboard focus
follow = keyboard
### Geometry ###
# constant notification width
width = 300
# a dynamic width between say 0 and 300 would also be possible with
# width = (0, 300)
# The maximum height of a single notification, excluding the frame.
height = (50,200)
# Position of notifications
origin = top-right
# Offset from the origin
offset = (20,20)
# Scale factor autodetected
scale = 0
### Appearance ###
# further options for notifications of different urgency are set later
## Text ##
font = Ubuntu Nerd Font 10
line_height = 0 # The spacing between lines.
# If smaller than the font height, it will get raised to the font height.
## Markup ##
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%a - %s</b> %p\n%b"
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Display indicators for URLs (U) and actions (A).
show_indicators = false
## Icons ##
enable_recursive_icon_lookup = true
icon_theme = "breeze-dark, Flat-Remix-Violet-Dark" # leftmost is used first
icon_position = left
min_icon_size = 32
max_icon_size = 48
## Padding ##
padding = 15
horizontal_padding = 8
text_icon_padding = 10 # between text and icon
## Alignment ##
alignment = left
vertical_alignment = center
## Frame ##
frame_width = 2
frame_color = "#ffffffd0" # overwritten later
separator_color = frame
corner_radius = 10
# gaps between notifications
gap_size = 5
### Handling Multiple Notifications ###
# Maximum number of notification (0 means no limit)
notification_limit = 10
# Show how many messages are currently hidden (because of notification_limit).
indicate_hidden = yes
# Sort type. Possible values are:
# * id: sort by id
# * urgency_ascending: sort by urgency (low then normal then critical)
# * urgency_descending: sort by urgency (critical then normal then low)
# * update: sort by update (most recent always at the top)
sort = urgency_descending
# Show age of message if message is older than show_age_threshold seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds. Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### 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 ###
# Browser for opening urls in context menu.
browser = /usr/bin/firefox
# 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
### Mouse ###
# Defines list of actions for each mouse event
# Possible values are:
# * 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.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
#### Themeing per Urgency ####
[urgency_low]
background = "#00000080"
foreground = "#ffffff"
frame_color = "#000000c0"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_normal]
background = "#00000080"
foreground = "#ffffff"
frame_color = "#eeeeeed0"
timeout = 10
override_pause_level = 30
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
background = "#80000080"
foreground = "#ffffff"
frame_color = "#cc0000"
timeout = 0
override_pause_level = 60
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon