refactor(kitty-logging): move watcher to scripts/ and symlink it #71
Reference in New Issue
Block a user
Delete Branch "refactor-kitty-watcher-symlink"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Why: The Kitty watcher lived alone in a single-purpose
kitty/directory and was copied into the Kitty config dir, which required a whole version-staleness apparatus (version markers,-gtcomparison, "updated" vs "installed" messaging) just to keep the copy fresh. A symlink gives that for free.What:
kitty/fish-config-watcher.py→scripts/kitty-fish-config-watcher.py(renamed to carry thekittyprefix); removed the now-emptykitty/directory.kitty-logging installnow symlinks the watcher into the Kitty config dir (ln -sfn) instead of copying — it always tracks the canonical source, so the staleness comparison is gone.kitty-logging uninstallnow removes a symlink (including a dangling one) or a legacy copied file.fish-config-watcher.py, so existingkitty.confmanaged blocks keep working; installs migrate on the nextinstall.README.md,docs/fish-config.md(SSoT),docs/wiki/7-customization.md, and the script header.Note: A symlink dangles if the fish config dir is absent (e.g. a shared
kitty.confon a non-fish machine) where a copy would survive — a non-issue for this single-machine dotfiles setup.Manual Verification
kitty-logging install, then confirm~/.config/kitty/fish-config-watcher.pyis a symlink (ls -l) pointing at~/.config/fish/scripts/kitty-fish-config-watcher.py.kitty-logging statusreports the watcher installed with the correct version and shows the managed block present.kitty-logging installand confirm the regular file is replaced by the symlink.kitty-logging uninstallremoves both the managed block fromkitty.confand the watcher symlink; re-run confirms idempotent no-op.