icon-color-tool

A small GTK4 desktop app for editing the ColorScheme-* CSS colors embedded in Breeze icon SVGs.

Usage

icon-color-tool                  # opens a searchable icon picker
icon-color-tool path/to/icon.svg # opens directly in the color editor

The picker's search box does a fuzzy (subsequence) match against each icon's path, automatically prioritizing the highest-resolution version of each icon. Selecting an icon (or passing one directly) opens the color editor:

  • Color Editing: Click a swatch to pick a new color for that ColorScheme-* class.
  • Emblem Support: Click "Add Emblem" to overlay another SVG on top of your background icon. You can drag to position it visually, or use sliders to adjust its X, Y, and Size. The tool automatically namespaces the emblem's CSS so you can color its layers independently from the background.
  • Saving: Source files are preserved. Modifications are kept in memory until you use the "Save As..." button to export a new SVG. Unsaved changes are protected by a confirmation prompt if you try to exit. Undo/Redo are available from the toolbar.

Configuration

On first run, a config file is created at ~/.config/icon-color-tool/config.toml:

[settings]
breeze_path = "~/.local/share/breeze-icons"

If the configured breeze_path doesn't exist (or is empty), the breeze-icons repository is cloned there automatically (shallow clone via git, which must be installed and on PATH).

Set the BREEZE_ICONS_PATH environment variable to override the configured path entirely (also auto-clones if missing).

Building

Requires Rust (stable) and the GTK4 + librsvg development libraries installed system-wide (e.g. gtk4-devel/libgtk-4-dev and librsvg2-devel/librsvg2-dev, depending on your distro).

cargo build --release
./target/release/icon-color-tool
S
Description
No description provided
Readme GPL-3.0
142 KiB
Build 4145029
Latest
2026-08-06 05:22:32 +00:00
Languages
Rust 96.7%
Shell 3.3%