--uninstall prompts for config removal when stdin is a TTY. Running the
test from an interactive terminal caused it to block on read. Feeding
/dev/null forces the non-interactive path without changing behaviour.
- Resolve all paths via $XDG_CONFIG_HOME, $XDG_DATA_HOME, and
$XDG_RUNTIME_DIR with conventional fallbacks (~/.config,
~/.local/share, /tmp); BIN_DIR stays ~/.local/bin (no XDG standard)
- Add --uninstall: removes symlink, desktop entry, and data dir with
colored per-step output; prompts to remove config when interactive,
skips silently when not; post-run verification reports any failures
- Warn in --check-deps and --install when only xclip is present —
xclip operates through XWayland and can be unreliable on Wayland
- Normalize dependency messages to package names (wl-clipboard, xclip)
- Update README: XDG paths in install steps, --uninstall in usage,
xclip advisory in prerequisites
- Fix test sandbox: export XDG_CONFIG_HOME and XDG_DATA_HOME so the
overridden HOME is respected; add install (test 15) and uninstall
(test 16) coverage; add cp and ln to mocked tool set
- Implement tests/run_tests.sh with mocked environment
- Cover color conversion, multi-format output, and config loading
- Verify clipboard and notification integrations via mocks
- Document testing procedure in README.md