A C-based tool for applying Base16 color schemes across multiple applications.
- 26+ Application Support: Unified theming for terminals, editors, window managers, and more
- Material You Transformation: Optional color enhancement for more vibrant, harmonious palettes
- Base16/Base24 Support: Compatible with the full tinted-theming ecosystem
- Interactive Browser: Search and preview schemes with RGB color display
- Font Management: Centralized font configuration across all applications
- Opacity Control: Per-application transparency settings
coat/
├── include/ # Header files
│ ├── *.h # All module and core headers
├── src/ # Source files
│ ├── core/ # Core functionality
│ │ ├── main.c
│ │ ├── yaml.c
│ │ ├── schemes.c
│ │ ├── schemes_list.c
│ │ ├── tinted_parser.c
│ │ └── material_you.c
│ └── modules/ # Application modules
│ ├── fish.c
│ ├── kitty.c
│ ├── helix.c
│ └── ... (22 modules total)
├── build/ # Build artifacts (generated)
│ ├── core/
│ └── modules/
├── Makefile
└── USAGE.md
make # Build the project
make clean # Clean build artifacts
make install # Install to /usr/local/binSee USAGE.md for detailed usage instructions.
# Clone color schemes repository
coat clone
# List available schemes
coat list
coat list --dark
coat list --light
# Apply current scheme to all configured apps
coat apply
# Extract colors from wallpaper and apply (one-time)
coat wallpaper
# Update schemes repository
coat updateEdit ~/.config/coat/coat.yaml:
# Use a specific color scheme
scheme: gruvbox-dark-hard
# Or extract colors from your wallpaper automatically
scheme: wallpaper
# Enable Material You color transformation
material_you: true
# Apps to theme
enabled:
- fish
- kitty
- hyprland
# ... etcWallpaper extraction: Set scheme: wallpaper to automatically extract colors from your current wallpaper (requires swww). When you run coat apply, it will query swww for your wallpaper, extract dominant colors using k-means clustering, generate a harmonious Base16 palette, and optionally apply Material You color transformations.
- Terminals: fish, kitty, tty
- Editors: helix, vscode
- Window Managers: hyprland, i3, niri, sway, swaylock
- Launchers: rofi, bemenu
- Utilities: bat, btop, cava, dunst, yazi, zathura
- System: gtk, xresources, firefox, vesktop
- Monitoring: avizo, mangowc
- Create
src/modules/myapp.candinclude/myapp.h - Implement
myapp_apply_theme()function - Add to the
app_modulestable insrc/core/main.c - Update
MakefileAPP_SRCS list
See LICENSE file.