From e520610f5bb3512a4243f2f14f016cdd02badbcd Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 16 Sep 2026 08:27:27 +0200 Subject: refactor(dunst): drop dunst as a consumer, quickshell presents now dunst no longer runs on this desktop. notifyd owns org.freedesktop.Notifications and the quickshell notifications shell draws the balloons, reading the palette from ~/.cache/wal/udt-palette.qml like every other quickshell component. So the whole dunst path was generating a config nothing read. It was also actively wrong. pywal rendered ~/.cache/wal/dunstrc from the installed template, then wal.sh restarted dunst on it while @ACCENT@ was still an unsubstituted placeholder, and udt-accent restarted it a second time after substituting. Two restarts per wallpaper change, the first on a broken config, for a daemon that could not claim the bus name anyway. Removes gen_dunst and its TARGETS entry, write_dunst and DUNSTRC, the install block, templates/dunstrc.in and the gitignore entry. The reload table now lists quickshell, which needs no signal: it watches the generated palette and re-reads it in place. The [state] roles stay. They were never dunst-only; waybar module states and conky warnings use the same four. Co-Authored-By: Claude Opus 5 --- install.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'install.sh') diff --git a/install.sh b/install.sh index 3371bba..e5e583d 100755 --- a/install.sh +++ b/install.sh @@ -135,7 +135,7 @@ if command -v scp >/dev/null 2>&1; then fi # Reload what is running. Writing the configs is not enough: waybar, kitty and -# Hyprland reread on a signal, dunst and conky only on a restart, and rofi +# Hyprland reread on a signal, conky only on a restart, and rofi # reads its theme per launch so it needs nothing. Each is guarded, because none # of them is necessarily running, and a missing one is not an error. reloaded="" @@ -143,20 +143,11 @@ pgrep -x waybar >/dev/null 2>&1 && killall -SIGUSR2 waybar 2>/dev/null && reload pgrep -x kitty >/dev/null 2>&1 && pkill -USR1 -x kitty 2>/dev/null && reloaded="$reloaded kitty" command -v hyprctl >/dev/null 2>&1 && hyprctl reload >/dev/null 2>&1 && reloaded="$reloaded hyprland" -# dunst reads ~/.cache/wal/dunstrc, which pywal renders from its own template -# dir. Install the generated config into both: the template so a later `wal` -# run keeps it, and the cache file so this install reaches dunst now. Both -# still carry @ACCENT@, which udt-accent substitutes just below. -if [ -f templates/dunstrc ]; then - mkdir -p "$HOME/.config/wal/templates" - cp templates/dunstrc "$HOME/.config/wal/templates/dunstrc" - cp templates/dunstrc "$HOME/.cache/wal/dunstrc" -fi - -# udt-accent regenerates the accent and restarts dunst itself. It needs a -# wallpaper to read; without one the accent keeps its current value. +# udt-accent regenerates the accent. It needs a wallpaper to read; without one +# the accent keeps its current value. Quickshell watches the palette it writes, +# so notifications and the rest of the shell follow without a restart. if command -v udt-accent >/dev/null 2>&1 && [ -e "$HOME/.cache/wal/wpaper" ]; then - udt-accent "$HOME/.cache/wal/wpaper" >/dev/null 2>&1 && reloaded="$reloaded accent+dunst" + udt-accent "$HOME/.cache/wal/wpaper" >/dev/null 2>&1 && reloaded="$reloaded accent" fi # conky has no hot-reload and nothing respawns it, so it is restarted only if -- cgit v1.2.3