Commit Graph

25 Commits

Author SHA1 Message Date
rootiest b78becad5f ci: add workflow to automatically label PRs based on title
Auto Label PRs / label (pull_request) Successful in 3s
Test PR / test (pull_request) Successful in 5s
Release on Merge / release (pull_request) Has been skipped
2026-05-02 23:38:21 -04:00
rootiest 48b436b20a Merge pull request 'feat: implement config management flags and documentation' (#6) from feat/manage-config into main v2026.05.03-0333 2026-05-03 03:33:43 +00:00
rootiest 616aa6f2f1 docs, test: add config management documentation and tests
Test PR / test (pull_request) Successful in 6s
Release on Merge / release (pull_request) Successful in 6s
2026-05-02 23:33:23 -04:00
rootiest 1129563000 Merge pull request 'ci/test: add gitea workflow and comprehensive test coverage' (#5) from ci/test-workflow into main 2026-05-03 03:30:59 +00:00
rootiest 9ab65a6b1f ci/test: add gitea workflow and comprehensive test coverage
Test PR / test (pull_request) Successful in 6s
Release on Merge / release (pull_request) Successful in 5s
2026-05-02 23:30:43 -04:00
rootiest 67596389ec Merge pull request 'feat: implement config management flags' (#4) from feat/manage-config into main
Reviewed-on: #4
2026-05-02 03:13:52 +00:00
rootiest 456071f2da feat: implement config management flags
Release on Merge / release (pull_request) Successful in 1m9s
- Add `--get-config` to print the current configuration.

- Add `--set-config` to update specific configuration keys in the TOML file.

- Add `--reset-config` to restore the default configuration.

- Refactor `do_install` to use the new `write_default_config` function.

- Update `--help` text to document the new configuration management flags.
2026-05-01 23:13:06 -04:00
rootiest 100fecda18 Merge pull request 'ci/test: add test suite and release label exclusions' (#3) from ci/tests into main
Reviewed-on: #3
2026-04-29 02:44:37 +00:00
rootiest 078118f689 Merge branch 'ci/label-exclusions' into ci/tests
Release on Merge / release (pull_request) Has been skipped
2026-04-28 22:41:39 -04:00
rootiest 0d7b93cab7 ci: skip releases for testing or documentation PRs
Add a condition to the release workflow to skip execution if the PR
is labeled with 'Kind/Testing' or 'Kind/Documentation'. This prevents
unnecessary releases for non-functional changes.
2026-04-28 22:39:59 -04:00
rootiest 37a5497336 test: add comprehensive bash test suite
- 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
2026-04-28 22:31:57 -04:00
rootiest 344fc140dc Merge pull request 'fix: notify when clipboard utility is missing' (#2) from fix/copy-fail into main
Reviewed-on: #2
v2026.04.29-0218
2026-04-29 02:18:26 +00:00
rootiest 5f659b90e3 fix: notify when clipboard utility is missing
Release on Merge / release (pull_request) Successful in 6s
- Add notify_error function to send normal urgency warning notifications
- Update process_color to track clipboard failure and trigger error notification
- Improve warning message when clipboard utilities (wl-copy/xclip) are absent
2026-04-28 22:17:31 -04:00
rootiest d170bd15cf refactor: remove references to legacy setting
The `--alpha` flag and `alpha = true/false` config file options remain
functional but references to them are removed as they are now superseded
by the output formats with alpha channels (rgba, hexa, hsla).
New users/configurations should use the relevant output formats. The
legacy flag/options remain active for backward-compatibility with older
configs/scripts.
2026-04-27 23:58:14 -04:00
rootiest 8a70c79602 Modernization Major Release
This PR modernizes `color-tool` with a suite of new features, improved architecture, and automated release workflows.

### 🚀 Key Features

*   **Multiple Format Support**: Now supports `hex`, `hexa`, `rgb`, `rgba`, `hsl`, and `hsla` output formats.
*   **Flexible Output**: Use the new `--output` flag to specify one or more formats (e.g., `--output hex,hsl`).
*   **Visual Swatches**: Added a `--swatch` flag 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 `.py` file by embedding the picker helper script generation.
*   **Installation Enhancements**: The `--install` process now handles `.desktop` file 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-tool` binary whenever a PR is merged into `main`.
*   **Comprehensive Docs**: Added a new `README.md` with detailed installation, usage, and configuration guides.
*   **Licensing**: The project is now explicitly licensed under **GPLv3** with appropriate headers and a `LICENSE` file.

### 🤝 Credits
Integration for the KDE Plasma color picker is based on the work by [SASUPERNOVA](https://github.com/SASUPERNOVA/wl-colorpicker-plasma).

Reviewed-on: #1
v2026.04.28-0323
2026-04-28 03:23:00 +00:00
rootiest 898d44dd17 docs: add credit for wl-colorpicker-plasma script to readme
Release on Merge / release (pull_request) Successful in 11s
2026-04-27 23:16:23 -04:00
rootiest ce410d1450 chore(license): add license file and headers to source files 2026-04-27 23:15:17 -04:00
rootiest 6a88e396c5 chore: update ignore patterns
Include AI Agent documents.
2026-04-27 22:55:01 -04:00
rootiest 7da7664ca0 ci: add Gitea workflow to automate releases on PR merge 2026-04-27 22:48:13 -04:00
rootiest 24bc490827 docs: add comprehensive README with installation and usage guides 2026-04-27 22:44:39 -04:00
rootiest 5c87e382de feat: modernize color-tool with multiple formats, HSL support, and embedded picker
- Added --output flag supporting hex, rgb, hsl, rgba, hsla, hexa, and 'all' formats
- Implemented HSL/HSLA conversion using internal Python logic
- Added --[no-] prefix support for all toggleable flags (json, name, swatch, copy, notify, pick)
- Embedded KDE Plasma color picker Python script within the main bash script for portability
- Refactored argument parsing to implement a robust priority system (CLI > Desktop Config > Default Config)
- Improved validation to catch invalid output formats before triggering the color picker
- Updated installation logic to generate all necessary components and sample configuration
- Fixed swatch formatting when outputting JSON
- Refined desktop mode behavior and configurability
2026-04-27 22:40:55 -04:00
rootiest 6c2c42d3e5 feat: add modernized functionality
- Installation
- Desktop/GUI mode
- Configuration file
- Improved code and documentation formats
2026-04-27 21:36:39 -04:00
rootiest 06ac7c990d chore: remove original script file 2026-04-27 21:35:28 -04:00
rootiest f995f1c52e chore: update ignore patterns 2026-04-27 21:34:34 -04:00
rootiest 110b71d9f0 initial commit 2026-04-27 19:48:53 -04:00