#+TITLE: Dunst (Notification Manager) #+SETUPFILE: ./setup/org-setup-file.org #+PROPERTY: header-args :comments both :mkdirp yes #+PROPERTY: header-args+ :tangle ~/.config/dunst/dunstrc * Global #+begin_src conf [global] #+end_src ** Display #+begin_src conf # Which monitor should the notifications be displayed on. monitor = 0 # Display notification on focused monitor. Possible modes are: # mouse: follow mouse pointer # keyboard: follow window with keyboard focus # none: don't follow anything # # "keyboard" needs a windowmanager that exports the # _NET_ACTIVE_WINDOW property. # This should be the case for almost all modern windowmanagers. # # If this option is set to mouse or keyboard, the monitor option # will be ignored. follow = keyboard # The geometry of the window: # [{width}]x{height}[+/-{x}+/-{y}] # The geometry of the message window. # The height is measured in number of notifications 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 respectevly. # The width can be negative. In this case the actual width is the # screen width minus the width defined in within the geometry option. geometry = "250x50-10+37" # Show how many messages are currently hidden (because of geometry). indicate_hidden = yes # Shrink window if it's smaller than the width. Will be ignored if # width is 0. shrink = no # The transparency of the window. Range: [0; 100]. # This option will only work if a compositing windowmanager is # present (e.g. xcompmgr, compiz, etc.). transparency = 0 # The height of the entire notification. If the height is smaller # than the font height and padding combined, it will be raised # to the font height and padding. notification_height = 0 # Draw a line of "separator_height" pixel height between two # notifications. # Set to 0 to disable. separator_height = 4 # Padding between text and separator. padding = 16 # Horizontal padding. horizontal_padding = 16 # Defines width in pixels of frame around the notification window. # Set to 0 to disable. frame_width = 2 # Defines color of the frame around the notification window. frame_color = "#32302f" # Define a color for the separator. # possible values are: # * auto: dunst tries to find a color fitting to the background; # * foreground: use the same color as the foreground; # * frame: use the same color as the frame; # * anything else will be interpreted as a X color. separator_color = frame # 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. # default 120 idle_threshold = 120 # Sort messages by urgency. sort = yes #+end_src ** Text #+begin_src conf font = Hack Nerd Font 10 # The height of a single line. If the height is smaller than the # font height, it will get raised to the font height. # This adds empty space above and under the text. line_height = 4 # Possible values are: # full: Allow a small subset of html markup in notifications: # bold # italic # strikethrough # underline # # For a complete reference see # . # # 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*. # # no: Disable markup parsing, incoming notifications will be treated as # plain text. Dunst will not advertise that it has the body-markup # capability if this is set as a global setting. # # It's important to note that markup inside the format option will be parsed # regardless of what this is set to. 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 # Markup is allowed format = "%s\n%b" # Alignment of message text. # Possible values are "left", "center" and "right". alignment = left # Show age of message if message is older than show_age_threshold # seconds. # Set to -1 to disable. show_age_threshold = 300 # Split notifications into multiple lines if they don't fit into # geometry. word_wrap = yes # Ignore newlines '\n' in notifications. ignore_newline = no # Merge multiple notifications with the same content stack_duplicates = false # Hide the count of merged notifications with the same content hide_duplicate_count = false # Display indicators for URLs (U) and actions (A). show_indicators = yes #+end_src ** Icons #+begin_src conf # Align icons left/right/off icon_position = off # Limit icons size. max_icon_size=32 # Paths to default icons. icon_path = /usr/share/icons/Arc/16x16/status/:/usr/share/icons/Arc/16x16/devices/ #+end_src ** History #+begin_src conf # 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 #+end_src ** Misc/Advanced #+BEGIN_SRC conf # dmenu path. dmenu = /usr/bin/dmenu -p dunst: # Browser for opening urls in context menu. browser = $BROWSER # 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 # Print a notification on startup. # This is mainly for error detection, since dbus (re-)starts dunst # automatically after a crash. startup_notification = false #+end_src * Shortcuts #+BEGIN_SRC conf [shortcuts] # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", # "mod3" and "mod4" (windows-key). close = mod1+space history = mod1+Escape #+end_src * Urgency #+BEGIN_SRC conf [urgency_low] background = "#32302f" foreground = "#ebdbb2" timeout = 4 [urgency_normal] background = "#32302f" foreground = "#ebdbb2" timeout = 6 [urgency_critical] background = "#32302f" foreground = "#cc241d" timeout = 0 #+END_SRC