fix(theme): hot-reload btop and opencode on theme switch

Phase B verdict on two unused? scripts — both inline comments
claimed they were "used by the Nomarchy theme switching", but the
switcher (themes/engine/scripts/nomarchy-theme-set) only restarted
walker, waybar, and the wallpaper service. So btop and opencode
stayed on the old palette after `nomarchy-theme-set <foo>` until
the user closed and reopened them by hand.

Wires both into nomarchy-theme-set, alongside the existing walker /
waybar restart calls. The check-then-call (`command -v ... &&`)
matches the surrounding style — a missing helper is a no-op, not a
fatal.

SCRIPTS.md regenerated: unused? 36 → 34, kept 163 → 165.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-04-25 22:13:52 +01:00
parent cc93491232
commit d2b508485a
2 changed files with 8 additions and 2 deletions

View File

@@ -58,6 +58,12 @@ nomarchy-theme-set-templates
command -v nomarchy-restart-walker >/dev/null 2>&1 && nomarchy-restart-walker || true
command -v nomarchy-restart-waybar >/dev/null 2>&1 && nomarchy-restart-waybar || true
# Hot-reload long-running TUIs / agents that read their colors from
# the active-theme symlink and would otherwise stay on the old palette
# until the user restarts them by hand.
command -v nomarchy-restart-btop >/dev/null 2>&1 && nomarchy-restart-btop || true
command -v nomarchy-restart-opencode >/dev/null 2>&1 && nomarchy-restart-opencode || true
# Reload the wallpaper — its ExecStart path is stable (~/.config/nomarchy/current/background)
# so sd-switch does not detect a unit change when only the symlink target moves.
systemctl --user restart nomarchy-wallpaper.service 2>/dev/null || true