|
Twelve hexes were shades upstream computed from a palette colour rather than
taking one. They were left literal on the same reasoning as the neutral greys,
which was wrong: a grey is shading, but each of these paints one widget
surface in a colour that is supposed to be the theme's. Under any scheme but
Macchiato they stayed Macchiato, including the window close, minimise and
maximise hover fills.
They are substituted as @ROLE_PCT@ now, the percentage being that shade's
brightness relative to its base. shade() scales each channel and clamps, so it
keeps the relationship rather than the exact upstream value; closest on the
accent family, crudest on the reds, where upstream darkened toward saturation.
GTK4 carries ten of the twelve: the selected progress bar and the
selection-mode titlebar backdrop are GTK3-only widgets upstream.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Derived from catppuccin/gtk v1.0.3. Substitution is whole-file rather than
confined to the @define-color block at the tail: 338 palette hexes in GTK3
and 328 in GTK4 sit in the 8400 lines above it, so a block-scoped template
would have left most of the theme macchiato.
Both colour forms are replaced, the hex and the bare decimal triple GTK
writes inside rgba(). Neutral greys, upstream's derived tints and the
Material swatch constants are left exactly as drawn, the same rule the
Kvantum SVG follows.
#eff1f5 is upstream's foreground, which is Latte text: a near-white it pairs
with a Macchiato background. It maps to the fg role so GTK text matches rofi,
kitty and waybar rather than being brighter than all of them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|