aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-16 08:27:27 +0200
committerDanilo M. <danix@danix.xyz>2026-09-16 08:27:27 +0200
commite520610f5bb3512a4243f2f14f016cdd02badbcd (patch)
treef35eeb1279d6bcf5a928c1215bdee985e7a3640f /install.sh
parenta183b4a054d96f310d867b79d7b9fb7a6b875bb8 (diff)
downloadunified-desktop-theme-e520610f5bb3512a4243f2f14f016cdd02badbcd.tar.gz
unified-desktop-theme-e520610f5bb3512a4243f2f14f016cdd02badbcd.zip
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 <noreply@anthropic.com>
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh19
1 files changed, 5 insertions, 14 deletions
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