-
released this
2026-05-09 05:02:23 +00:00 | 0 commits to main since this releaseSummary
🚀 New Features
- XDG Base Directory compliance — all install/config/runtime paths now resolve via
$XDG_CONFIG_HOME,$XDG_DATA_HOME, and$XDG_RUNTIME_DIRwith the conventional defaults (~/.config,~/.local/share,/tmp) as fallbacks.BIN_DIRstays~/.local/binsince no XDG standard covers user binaries. --uninstallflag — removes the binary symlink,.desktopentry, and data directory with colored per-step output and a post-run verification pass. Prompts to remove the config directory when stdin is a TTY; skips the prompt (keeps config) in non-interactive mode.
✨ Enhancements
- xclip advisory —
--check-depsand--installnow emit a yellow warning whenwl-clipboardis absent butxclipis found, explaining that xclip routes through XWayland and may be unreliable on Wayland. - Dependency message cleanup — normalized all clipboard messages to use package names (
wl-clipboard,xclip) consistently. - Readable path output — added
tilde_pathhelper that replaces the$HOMEprefix with~/in any user-facing path string. Applied throughout--help,--install, and--uninstalloutput. Paths outside$HOME(e.g. custom XDG roots) are shown as full absolute paths. All actual file operations continue to use the original absolute paths.
📝 Documentation
- README — updated install steps, usage block, and configuration section to reference XDG variables; added xclip advisory to prerequisites; documented
--uninstall.
Tests
- Improve Legibility — export
XDG_CONFIG_HOME/XDG_DATA_HOMEin the sandbox so the overriddenHOMEis respected (fixes a pre-existing test regression). - Mock Tools — add
cpandlnto mocked tools. - New Test — add test 15 (install verifies XDG file placement).
- New Test — add test 16 (uninstall verifies cleanup with config kept).
Changelog
- docs: link script directly in manual install guide (979c0b7436)
- feat: XDG Base Directory compliance, --uninstall flag, and xclip advisory (075bb10265)
- refactor: apply tilde_path to all user-facing path output (06dd84d3a3)
- fix(deps): dynamic clipboard label and yellow check for xclip-only in --check-deps (ad7a1f15b3)
- fix(tests): redirect stdin from /dev/null in uninstall test to prevent hang (1a27dbde4e)
Downloads
- XDG Base Directory compliance — all install/config/runtime paths now resolve via
-
released this
2026-05-05 01:46:34 +00:00 | 6 commits to main since this releaseSummary
This minor release introduces a comprehensive dependency checking system and refactors the script's global state for better maintainability.
Note
This is a maintenance release focused on internal stability and installation reliability. If your current setup is working perfectly, there are no new user-facing features, but updating is recommended for better dependency reporting and future-proofing.
Key Changes:
- Dependency Check: Added
--check-depsflag to produce a colorized report of all required and optional dependencies. - Truecolor Detection: Improved terminal swatch reliability by checking for 24-bit color support.
- Global Refactoring: Refactored brand color logic and path management for improved maintainability.
- Installation Improvements: Refactored
--installlogic into an idempotent directory loop with enhanced PATH status warnings. - Documentation: Updated
README.mdwith a clearer breakdown of core vs. optional prerequisites.
Tests
Verified with the existing test suite (14/14 PASS).
Changelog
- feat: add dependency check and refactor global state (def2127ed6)
Downloads
- Dependency Check: Added
-
released this
2026-05-03 18:58:09 +00:00 | 8 commits to main since this releaseSummary
This release adds support for notification color swatches and implements installation dependency warnings.
🚀 Features
Notification Swatch Support
- Added ImageMagick detection logic (
magickorconvert). - Configured the script to generate a 64x64 color swatch image and attach it to the
notify-sendpayload ifswatch_modeis enabled. - Ensured ImageMagick usage is non-fatal; if generation fails, it falls back to a standard notification gracefully.
Configuration
- Make
swatch = truedefault in the stock[desktop]configuration and internal defaults. - Implement a robust whitespace adjustment logic in the configuration updater to keep comments aligned when editing config.
Dependency Verification (
check_dependencies)- Implemented a post-installation dependency checker that validates both optional and required dependencies.
- It detects the presence of
magick/convert(ImageMagick),wl-copy/xclip(Clipboard utilities),jqandcurl, andpython3andPyQt6(essential for KDE Wayland Color Picker functionality). - The script checks the desktop environment directly for
WAYLAND_DISPLAYandXDG_CURRENT_DESKTOP=KDE. - During
--install, users receive clear, color-coded warnings if optional tools are missing, describing precisely what functionality will be limited.
🩺 Fixes
- Update the
--swatchdescription in--helpto indicate swatch support in the notifications.
🚧 Tests
Test Suite Enhancements
- Added a mock test environment inside
tests/run_tests.shdesigned to test the--installcommand with a missing toolset. - Verified that the script correctly throws all expected missing dependency warnings without failing the installation.
Changelog
- docs: update README with swatch and dependency checks (867b8ccf26)
- feat: implement notification color swatch and dependency verification (7c882bb26c)
- fix(help): clarify --swatch applies to terminal and notifications (8333d249d9)
- feat(config): enable swatch by default for desktop mode (8d94bc4006)
- fix(help): clarify --swatch applies to terminal and notifications (8333d249d9)
- feat(config): maintain comment alignment in set_config (e0967a8388)
Downloads
- Added ImageMagick detection logic (
-
Release: Config Management Stable
released this
2026-05-03 03:33:50 +00:00 | 20 commits to main since this releaseSummary
🚀 New Features
Create new flags for interacting with the config:
- Add
--get-configto print the current configuration. - Add
--set-configto update specific configuration keys in the TOML file. - Add
--reset-configto restore the default configuration. - Refactor
do_installto use the newwrite_default_configfunction. - Update
--helptext to document the new configuration management flags.
See the configuration documentation for more detail and examples for using these new commands.
🚧 Tests
Implement additional tests to verify configuration interaction functionality:
- Add 6 new tests to verify proper functionality:
- Configuration Management
- JSON Output
- Swatch Output
- Color Name Fetching
- Invalid Color Input
- Invalid Format Input
📖 Documentation
Update README to document new functionality:
- Add config flags to
Usagedocumentation. - Add descriptions and examples of new flags to the
Configurationdocumentation.
Changelog
- feat: implement config management flags (456071f2da)
- ci/test: add gitea workflow and comprehensive test coverage (9ab65a6b1f)
- docs, test: add config management documentation and tests (616aa6f2f1)
Downloads
- Add
-
released this
2026-04-29 02:18:34 +00:00 | 30 commits to main since this releaseSummary
This PR adds system notifications and improved CLI feedback when the user attempts to copy a color but no clipboard utility (like wl-copy or xclip) is installed.
Changes
- Added
notify_errorfunction for high-visibility warning notifications. - Updated
process_colorto capture clipboard failures and trigger notifications when--notifyis active. - Refined the warning message for missing utilities to be more informative.
Verification
Verified using a restricted
PATHenvironment wherewl-copyandxclipwere removed, confirming thatnotify-sendis correctly invoked with a warning payload.Changelog
- fix: notify when clipboard utility is missing (5f659b90e3)
Downloads
- Added
-
Release: Modern color-tool Stable
released this
2026-04-28 03:23:13 +00:00 | 33 commits to main since this releaseSummary
This PR modernizes
color-toolwith a suite of new features, improved architecture, and automated release workflows.🚀 Key Features
- Multiple Format Support: Now supports
hex,hexa,rgb,rgba,hsl, andhslaoutput formats. - Flexible Output: Use the new
--outputflag to specify one or more formats (e.g.,--output hex,hsl). - Visual Swatches: Added a
--swatchflag to display a colored block in the terminal next to the values. - Intelligent Parsing: Improved color input parsing that handles various CSS-style color strings.
- Modern CLI Interface: Added support for
--no-flags (e.g.,--no-copy,--no-pick) for fine-grained control. - Embedded Picker Support: The KDE Plasma color picker logic is now more robustly managed and can be automatically generated if missing.
🛠 Architectural Improvements
- Robust Configuration: Refactored the config loader to support a clear priority hierarchy: CLI Flags > Desktop Config > Default Config.
- Simplified Distribution: Removed the hard dependency on an external
.pyfile by embedding the picker helper script generation. - Installation Enhancements: The
--installprocess now handles.desktopfile generation, symlinking, and sample configuration seeding more reliably.
📦 CI/CD & Documentation
- Automated Releases: Added a Gitea Action to automatically create a versioned release and upload the
color-toolbinary whenever a PR is merged intomain. - Comprehensive Docs: Added a new
README.mdwith detailed installation, usage, and configuration guides. - Licensing: The project is now explicitly licensed under GPLv3 with appropriate headers and a
LICENSEfile.
🤝 Credits
Integration for the KDE Plasma color picker is based on the work by SASUPERNOVA.
Changelog
- docs: add credit for wl-colorpicker-plasma script to readme (898d44d)
- chore(license): add license file and headers to source files (ce410d1)
- chore: update ignore patterns (6a88e39)
- ci: add Gitea workflow to automate releases on PR merge (7da7664)
- docs: add comprehensive README with installation and usage guides (24bc490)
- feat: modernize color-tool with multiple formats, HSL support, and embedded picker (5c87e38)
Downloads
- Multiple Format Support: Now supports