# ===========================================================================
#  dunst — Catppuccin Macchiato
#  Font: Inconsolata Nerd Font
#  Docs: man 5 dunst
# ===========================================================================

[global]
    monitor = 0
    follow = mouse

    # --- geometry ---------------------------------------------------------
    width = (280, 440)
    height = (0, 300)
    origin = top-right
    offset = (12, 42)          # 42 clears the 30pt polybar
    scale = 0
    notification_limit = 6

    progress_bar = true
    progress_bar_height = 8
    progress_bar_frame_width = 0
    progress_bar_min_width = 150
    progress_bar_max_width = 400
    progress_bar_corner_radius = 4

    indicate_hidden = yes
    transparency = 5
    separator_height = 4
    padding = 12
    horizontal_padding = 14
    text_icon_padding = 10
    frame_width = 2
    frame_color = "#c6a0f6"
    gap_size = 6
    separator_color = frame
    sort = yes
    corner_radius = 10

    # --- text -------------------------------------------------------------
    font = Inconsolata Nerd Font 11
    line_height = 0
    markup = full
    format = "<b>%s</b>\n%b"
    alignment = left
    vertical_alignment = center
    show_age_threshold = 60
    ellipsize = middle
    ignore_newline = no
    stack_duplicates = true
    hide_duplicate_count = false
    show_indicators = yes

    # --- icons ------------------------------------------------------------
    enable_recursive_icon_lookup = true
    icon_theme = "Papirus-Dark, Adwaita"
    icon_position = left
    min_icon_size = 32
    max_icon_size = 64

    # --- history ----------------------------------------------------------
    sticky_history = yes
    history_length = 25

    # --- misc -------------------------------------------------------------
    dmenu = /usr/bin/rofi -dmenu -p dunst
    browser = /usr/bin/xdg-open
    always_run_script = true
    title = Dunst
    class = Dunst
    ignore_dbusclose = false

    # --- wayland (unused under i3, harmless) -------------------------------
    force_xwayland = false

    # --- mouse ------------------------------------------------------------
    mouse_left_click = do_action, close_current
    mouse_middle_click = close_all
    mouse_right_click = close_current

[experimental]
    per_monitor_dpi = false

# ---------------------------------------------------------------------------
#  Urgency styling
# ---------------------------------------------------------------------------
[urgency_low]
    background = "#24273a"
    foreground = "#a5adcb"
    frame_color = "#8bd5ca"
    highlight = "#8bd5ca"
    timeout = 5

[urgency_normal]
    background = "#24273a"
    foreground = "#cad3f5"
    frame_color = "#c6a0f6"
    highlight = "#c6a0f6"
    timeout = 8

[urgency_critical]
    background = "#24273a"
    foreground = "#cad3f5"
    frame_color = "#ed8796"
    highlight = "#ed8796"
    timeout = 0

# ---------------------------------------------------------------------------
#  Rules
# ---------------------------------------------------------------------------
# Volume / brightness OSD: replace in place instead of stacking up.
[osd]
    appname = "osd"
    format = "<b>%s</b>\n%b"
    timeout = 2
    history_ignore = yes
    urgency = low

# Screenshot notifications get a longer read and a click-to-open action.
[screenshot]
    appname = "screenshot"
    timeout = 6
    urgency = normal

# Battery warnings should never disappear on their own.
[battery-critical]
    appname = "battery"
    urgency = critical
