Dynamic theme-aware color palette for Emacs.
Brushup generates gradient colors from your current theme's foreground and background, so face customizations work consistently across any theme. When you switch themes, all registered styles automatically update.
- Parametric gradient generation from theme colors
- Automatic dark/light theme detection
- Style registration system for face customizations
use-package:brushupkeyword integration- Re-evaluates all styles on theme change
(use-package brushup
:ensure (:host github :repo "chiply/brushup"))(use-package brushup
:straight (:host github :repo "chiply/brushup"))Clone the repository and add it to your load-path:
(add-to-list 'load-path "/path/to/brushup")
(require 'brushup)(add-to-list 'brushup-styles
'(set-face-attribute 'some-face nil :background brushup-bg-2))(use-package my-package
:ensure t
:brushup
(add-to-list 'brushup-styles
'(set-face-attribute 'my-face nil
:foreground brushup-fg-3
:background brushup-bg-1)))M-x brushup
| Variable | Description |
|---|---|
brushup-fg |
Theme foreground color |
brushup-bg |
Theme background color |
brushup-fg-1 to brushup-fg-6 |
Foreground gradient (toward bg, 1=subtle, 6=strong) |
brushup-bg-1 to brushup-bg-6 |
Background gradient (toward fg, 1=subtle, 6=strong) |
brushup-bg-1_0 |
Subtle background shift (for solaire-like effects) |
brushup-dark-p |
t if current theme is dark |
;; Change gradient step size (default: 7%)
(setq brushup-gradient-step 10)GPL-3.0-or-later