aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-21 19:12:23 +0200
committerDanilo M. <danix@danix.xyz>2026-10-21 19:12:23 +0200
commitfe32352c14fc838e803bd224d43f251b9fa215da (patch)
tree87273171f9f753c326cab3bba942397b980b22da /install.sh
parentecf59d1c7c74fe817ee4f9e392e319ad9a8b541a (diff)
downloadunified-desktop-theme-fe32352c14fc838e803bd224d43f251b9fa215da.tar.gz
unified-desktop-theme-fe32352c14fc838e803bd224d43f251b9fa215da.zip
docs(conky): conky reloads its config on an in-place write
conky holds an inotify watch (IN_MODIFY) on the inodes of conky.conf and dashboard.lua and reloads when either is written in place: changing a colour line made the live dashboard recolour within one update, with the same PID. AGENTS.md and install.sh said it never rereads its config. The restart in install.sh stays: a first install, a config replaced by rename (which ends the watch) and a cached widget module still need it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh13
1 files changed, 8 insertions, 5 deletions
diff --git a/install.sh b/install.sh
index 1c202d7..e25e4ec 100755
--- a/install.sh
+++ b/install.sh
@@ -254,8 +254,9 @@ fi
# already listed there. Skipped silently when neither app is installed.
"$repo/bin/udt-appthemes" || true
-# conky reads one config at startup and never rereads it, so the generated file
-# has to be in place before the restart below.
+# conky rereads its config when it is written in place, but the links below
+# have to exist for it to find the file at all, and the restart further down
+# covers a first install and a config replaced by rename.
#
# The Lua dashboard lives in its own repo; udt-palette renders its colours into
# conky.conf there. Both the config and the Lua it loads are linked, since
@@ -283,7 +284,7 @@ if [ -d "$hypr_repo" ]; then
fi
# Reload what is running. Writing the configs is not enough: kitty and
-# Hyprland reread on a signal, conky only on a restart, and rofi
+# Hyprland reread on a signal, conky on an in-place write, 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=""
@@ -297,8 +298,10 @@ if command -v udt-accent >/dev/null 2>&1 && [ -e "$HOME/.cache/udt/wpaper" ]; th
udt-accent "$HOME/.cache/udt/wpaper" >/dev/null 2>&1 && reloaded="$reloaded accent"
fi
-# conky has no hot-reload and nothing respawns it, so it is restarted only if
-# it was already running.
+# conky reloads an in-place write on its own, but its inotify watch is on the
+# inode, so a first install or a config replaced by rename goes unseen, and a
+# widget module stays cached until a restart. Nothing respawns it, so it is
+# restarted only if it was already running.
if pgrep -x conky >/dev/null 2>&1; then
pkill -x conky 2>/dev/null
sleep 0.5