diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-21 19:12:23 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-21 19:12:23 +0200 |
| commit | fe32352c14fc838e803bd224d43f251b9fa215da (patch) | |
| tree | 87273171f9f753c326cab3bba942397b980b22da | |
| parent | ecf59d1c7c74fe817ee4f9e392e319ad9a8b541a (diff) | |
| download | unified-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>
| -rw-r--r-- | AGENTS.md | 6 | ||||
| -rwxr-xr-x | install.sh | 13 |
2 files changed, 12 insertions, 7 deletions
@@ -385,7 +385,9 @@ them by exit code: rofi exits non-zero for ordinary reasons such as Escape. - **conky**: change colours in the `conky.config` block only. `conky.text` is laid out with absolute `${goto}` pixel offsets tuned to label widths, so editing text means re-tuning every goto on that line. See - `~/.config/conky/CLAUDE.md`. Conky does not hot-reload. + `~/.config/conky/CLAUDE.md`. Conky reloads `conky.conf` and `dashboard.lua` + when either is written in place (inotify on the inode); an editor or tool + that saves by rename ends the watch, and then only a restart picks it up. - **Committed files carry no home paths.** A gitleaks hook blocks them, and it has been right every time. Where a live config mixes theme keys with personal data (`qt6ct.conf` has an `ignored_applications` list), track only the @@ -417,7 +419,7 @@ The table is what it does, and what to run if you change a config by hand. | hyprlock | nothing; it reads its config per lock, so the next lock picks it up | | kitty | `pkill -USR1 -x kitty` | | Sublime Text | nothing; it watches `Packages/User` and reloads both the scheme and the theme | -| conky | restart it; no hot-reload | +| conky | nothing; it reloads `conky.conf` on an in-place write. Restart it after a widget edit, or a save by rename | | neovim | `:colorscheme udt`, or restart it | | Qt / GTK apps | restart the app | | btop, Joplin | restart the app | @@ -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 |
