dotfiles/.config/dunst/dunstrc
Sarthak b5a252c480 control centre, notification overhaul, and cleanup
One centred rofi panel (super+x, or the gear in the bar) now drives network,
bluetooth, audio, WireGuard, display, notifications, clipboard, emoji,
screenshots, wallpaper, the particle layer, the bar and power. The separate
per-function menus are gone.

dunst: icons and images were disabled outright (icon_position=off,
max_icon_size=0). Now icons resolve through Papirus, images render, progress
bars are styled, notifications gap and stack, and fullscreen windows are not
covered unless the message is critical. Volume up/down never notified at all;
they now show a stacking OSD with a progress bar.

Removed things that were broken or belonged to whoever this rice came from:
- vpn-launcher.sh (mullvad/openvpn) and dc-multivpn
- audio/bluetooth/network/power rofi menus, folded into the control centre
- untar-all, unzip-all, resetxdgportal (unreferenced)
- a sxhkd binding hardcoded to /home/sarthak/projects/scribe
- clipboard-manager.sh keyed off XDG_SESSION_TYPE, which is 'tty' here, so it
  only ever printed a Russian error; rewritten on greenclip
- toggle-bar.sh was bound to super+b but did not exist; written

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 00:48:26 +05:30

111 lines
2.7 KiB
Text
Executable file

# Sakura Line - dunst
# Palette sampled from ~/.config/bspwm/wallpaper/wallpaper.jpg
[global]
monitor = 0
follow = mouse
# sits just under the polybar (bar is 28px tall at a 0.5% y-offset)
origin = top-right
offset = 14x46
width = (300, 420)
height = (0, 320)
notification_limit = 6
gap_size = 8
progress_bar = true
progress_bar_height = 8
progress_bar_frame_width = 0
progress_bar_min_width = 160
progress_bar_max_width = 400
progress_bar_corner_radius = 4
indicate_hidden = yes
padding = 14
horizontal_padding = 16
text_icon_padding = 14
frame_width = 2
corner_radius = 14
separator_height = 8
separator_color = auto
sort = urgency_descending
idle_threshold = 120
font = JetBrainsMono Nerd Font 10
line_height = 4
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
ellipsize = middle
word_wrap = yes
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = no
# icons: app icons resolve through the icon theme, and images sent with
# the notification (album art, screenshots) are shown as-is
enable_recursive_icon_lookup = true
icon_theme = "Papirus-Dark, Adwaita, hicolor"
icon_position = left
min_icon_size = 32
max_icon_size = 64
sticky_history = yes
history_length = 30
title = Dunst
class = Dunst
mouse_left_click = do_action, close_current
mouse_middle_click = close_all
mouse_right_click = close_current
[urgency_low]
background = "#0f0d17e6"
foreground = "#a9a2bd"
frame_color = "#2e2842"
highlight = "#7f7796"
timeout = 4
[urgency_normal]
background = "#0f0d17e6"
foreground = "#e9eefb"
frame_color = "#3d3752"
highlight = "#92b9ea"
default_icon = dialog-information
timeout = 6
[urgency_critical]
background = "#1a0f18e6"
foreground = "#ffe9ee"
frame_color = "#cf6a80"
highlight = "#cf6a80"
default_icon = dialog-error
timeout = 0
# Don't cover a fullscreen game; critical still gets through.
[fullscreen_delay]
fullscreen = delay
[fullscreen_critical]
msg_urgency = critical
fullscreen = show
# Transient OSDs (volume, brightness) replace each other and need no icon frame
[osd]
appname = "osd"
format = "<b>%s</b>"
icon_position = off
frame_color = "#92b9ea"
highlight = "#92b9ea"
timeout = 2
history_ignore = yes
[flameshot_noise]
body = "grim's screenshot component is implemented based on wlroots, it may not be used in GNOME or similar desktop environments"
skip_display = true
history_ignore = yes