{"id":29663083,"url":"https://github.com/arithefirst/palettro","last_synced_at":"2025-07-22T11:06:57.617Z","repository":{"id":304574603,"uuid":"1019187804","full_name":"arithefirst/palettro","owner":"arithefirst","description":"A program for linux used for quickly changing the primary color in a RICE","archived":false,"fork":false,"pushed_at":"2025-07-14T01:17:43.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-14T01:32:56.312Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arithefirst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-13T23:42:23.000Z","updated_at":"2025-07-14T01:17:46.000Z","dependencies_parsed_at":"2025-07-14T01:32:59.222Z","dependency_job_id":"3e423adf-0b43-40ea-ba8c-d743d7843967","html_url":"https://github.com/arithefirst/palettro","commit_stats":null,"previous_names":["arithefirst/palettro"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/arithefirst/palettro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Fpalettro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Fpalettro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Fpalettro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Fpalettro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arithefirst","download_url":"https://codeload.github.com/arithefirst/palettro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arithefirst%2Fpalettro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266481732,"owners_count":23935938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-22T11:06:55.235Z","updated_at":"2025-07-22T11:06:57.610Z","avatar_url":"https://github.com/arithefirst.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Palettro 🎨\n\n\nhttps://github.com/user-attachments/assets/dba00b0b-1997-43d2-ab5d-948f1b34971b\n\n\nA command-line utility for changing the primary accent color in your desktop rice (customized Linux desktop setup). Palettro allows you to quickly switch between different accent colors across all your configured applications with a single command.\n\n## Features ✨\n\n- **Quick Color Switching** ⚡: Change your primary accent color across your entire rice instantly\n- **Multi-Application Support** 🔄: Update colors in multiple config files simultaneously\n- **Service Management** 🛠️: Automatically restart applications after color changes\n- **Predefined Palette** 🎭: Ships with a beautiful Catppuccin color selection\n- **Template System** 📝: Uses template files to apply colors to your configurations\n\n## Installation 📦\n\n### Prerequisites\n\n- Linux operating system 🐧\n\n### Pull from the AUR (Archlinux Only)\n```bash\nyay -S palettro-bin \n# or\nparu -S palettro-bin \n```\n\n### Download from Releases\n```bash\nwget https://github.com/arithefirst/palettro/releases/download/v1.0.0/palettro-linux-x86_64 -O palettro\n# Optional sha256sum check\necho \"41cf04b6ac6418ae489e623d328b270f72c1ebf3fa0beff0aaa3585f00c18067  palettro\" | sha256sum --check\nchmod +x ./palettro\nsudo mv palettro /usr/local/bin/\n```\n\n### Build from Source (requires Go 1.24.5 or later)\n\n```bash\ngit clone https://github.com/arithefirst/palettro\ncd palettro\ngo build -o palettro\nsudo mv palettro /usr/local/bin/\n```\n\n## Usage 🚀\n\n### Basic Usage\n\n```bash\n# Apply a color theme\npalettro -color blue\n\n# Show all available colors\npalettro -showcolors\n\n# Show all configured applications\npalettro -showconfigs\n\n# Use a custom config file\npalettro -config /path/to/custom/config.json -color red\n```\n\n### Command Line Options 🎛️\n\n| Flag | Description | Default |\n|------|-------------|---------|\n| `-color` | Color name to apply to your desktop theme | Required |\n| `-config` | Path to configuration file | `~/.config/palettro/config.json` |\n| `-showcolors` | Display all available color names | `false` |\n| `-showconfigs` | Show all registered application configs | `false` |\n\n### Configuration File ⚙️\n\nPalettro uses a JSON configuration file located at `~/.config/palettro/config.json`. If this file doesn't exist, it will be created automatically with default settings.\n\n#### Configuration Structure\n\n```json\n{\n  \"colors\": {\n    \"colorname\": {\n      \"hex\": \"#ffffff\",\n      \"rgb\": \"rgb(255, 255, 255)\",\n      \"hsl\": \"hsl(0deg, 0%, 100%)\"\n    }\n  },\n  \"configs\": [\n    {\n      \"name\": \"application-name\",\n      \"path\": \"~/.config/app/\",\n      \"restart\": \"application-binary\"\n\n      // The \"restart\" option is optional. Only put the name\n      // of the binary if it dosen't auto-update config\n      // files. Waybar, for example needs to be restarted \n      // for config changes to take affect. Hyprland, for \n      // example auto-updates when changes are detected.\n    }\n  ]\n}\n```\n\n#### Default Colors 🌈\n\nPalettro ships with the following color palette:\n\n- `rosewater` - #f5e0dc 🌸\n- `flamingo` - #f2cdcd 🦩\n- `pink` - #f5c2e7 💖\n- `mauve` - #cba6f7 🟣\n- `red` - #f38ba8 🔴\n- `maroon` - #eba0ac 🍷\n- `peach` - #fab387 🍑\n- `yellow` - #f9e2af 💛\n- `green` - #a6e3a1 💚\n- `teal` - #94e2d5 🐢\n- `sky` - #89dceb ☁️\n- `sapphire` - #74c7ec 💎\n- `blue` - #89b4fa 🔵\n- `lavender` - #b4befe 🪻\n\n#### Adding Applications 🔧\n\nTo add support for a new application:\n\n1. Add an entry to the `configs` array in your configuration file\n2. Run `palettro -showconfigs` to verify it was properly added and create the nessecary file structure\n3. Create template files in `~/.config/palettro/[app-name]/`\n4. Use color variables in your templates that palettro can replace\n\n**Template Variables:**\n- `((PALETTRO.HEX))` - Hexadecimal format (e.g., `89b4fa`)\n- `((PALETTRO.HEXTRANS))` - Hexadecimal format with transparency value (e.g., `89b4faff`)\n- `((PALETTRO.RGB))` - RGB format (e.g., `137, 180, 250`)\n- `((PALETTRO.RGBA))` - RGBA format (e.g., `242, 205, 205, 1`)\n- `((PALETTRO.HSL))` - HSL format (e.g., `217deg, 92%, 76%`)\n\n**Example:**\n\n```json\n{\n  \"name\": \"waybar\",\n  \"path\": \"~/.config/waybar/\",\n  \"restart\": \"waybar\"\n}\n```\n\nWhen you run `palettro -color blue`, it reads template files from `~/.config/palettro/waybar/`, replaces the color variables with blue's values, and writes the processed files to `~/.config/waybar/`.\n```\n\n## Examples 💡\n\n### Switching Themes\n\n```bash\n# Apply a blue theme to all configured applications\npalettro -color blue\n\n# Apply a red theme with custom config\npalettro -config ~/my-themes.json -color red\n```\n\n### Listing Available Options\n\n```bash\n# See all available colors\npalettro -showcolors\n\n# See all configured applications\npalettro -showconfigs\n```\n\n## Contributing 🤝\n\nWe welcome contributions to palettro! This project is licensed under the GNU GPL 3.0.\n\n### Development Setup 🛠️\n\n1. Fork the repository\n2. Clone your fork:\n   ```bash\n   git clone https://github.com/arithefirst/palettro\n   cd palettro\n   ```\n3. Create a feature branch:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n4. Make your changes\n5. Test your changes:\n   ```bash\n   go test ./...\n   go build -o palettro\n   ./palettro -showcolors\n   ```\n6. Commit and push your changes\n7. Create a pull request\n\n### Contribution Guidelines 📋\n\n1. **Code Style**: Follow standard Go formatting (`go fmt`)\n2. **Documentation**: Update documentation for new features\n3. **Error Handling**: Use appropriate error handling patterns\n4. **Commit Messages**: Use descriptive commit messages with the Conventional Commits standard\n   \n### Reporting Issues 🐛\n\nPlease report bugs and feature requests through GitHub Issues. Include:\n\n- Operating system and version\n- Go version\n- Steps to reproduce the issue\n- Expected vs actual behavior\n- Relevant configuration files\n\n## License 📄\n\nThis project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments 🙏\n\n- Default color palette robbed from [Catppuccin](https://github.com/catppuccin/catppuccin) Mocha\n- Built with Go's standard library and embedded resources\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farithefirst%2Fpalettro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farithefirst%2Fpalettro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farithefirst%2Fpalettro/lists"}