aboutsummaryrefslogtreecommitdiffstats
path: root/templates/gtk/gtk4.css.in
AgeCommit message (Collapse)AuthorFilesLines
2026-09-16fix(gtk): derive the twelve computed tints from the palette tooDanilo M.1-10/+10
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>
2026-09-16feat(gtk): template the upstream GTK3 and GTK4 stylesheetsDanilo M.1-0/+8502
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>