feat: XDG Base Directory compliance, --uninstall flag, and xclip advisory #13

Merged
rootiest merged 4 commits from feat/xdg-compliance-and-uninstall into main 2026-05-09 05:02:16 +00:00

4 Commits

Author SHA1 Message Date
rootiest 1a27dbde4e fix(tests): redirect stdin from /dev/null in uninstall test to prevent hang
Test PR / test (pull_request) Successful in 6s
Auto Label PRs / label (pull_request) Successful in 3s
Release on Merge / release (pull_request) Successful in 7s
--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.
2026-05-09 01:00:31 -04:00
rootiest ad7a1f15b3 fix(deps): dynamic clipboard label and yellow check for xclip-only in --check-deps
Test PR / test (pull_request) Successful in 6s
Auto Label PRs / label (pull_request) Successful in 2s
Show only the binary(s) actually present in the clipboard row label,
and use a yellow ✔ (instead of green) when only xclip is found so the
degraded state stands out from a fully-satisfied check.
2026-05-09 00:57:42 -04:00
rootiest 06dd84d3a3 refactor: apply tilde_path to all user-facing path output
Test PR / test (pull_request) Successful in 7s
Auto Label PRs / label (pull_request) Successful in 3s
All paths printed to the user in --help, --install, and --uninstall
now display as ~/... when the path falls under $HOME, and as a full
absolute path otherwise. Actual file operations continue to use the
original absolute paths unchanged.
2026-05-08 23:43:58 -04:00
rootiest 075bb10265 feat: XDG Base Directory compliance, --uninstall flag, and xclip advisory
- 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
2026-05-08 23:43:58 -04:00