From fe32352c14fc838e803bd224d43f251b9fa215da Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 21 Oct 2026 19:12:23 +0200 Subject: 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 --- install.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'install.sh') 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 -- cgit v1.2.3