From 693727929088c58589870f7f972e26fbd77df508 Mon Sep 17 00:00:00 2001 From: rope Date: Mon, 3 Aug 2026 20:36:32 +0100 Subject: [PATCH] zen/vesktop: tint surfaces off base00 too, dropping the purple popups Co-Authored-By: Claude Opus 5 --- settings/stylix.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/settings/stylix.nix b/settings/stylix.nix index a453826..7b3f782 100644 --- a/settings/stylix.nix +++ b/settings/stylix.nix @@ -126,6 +126,14 @@ cp -rL "$tmpthemes/Papirus-Dark" $out/share/icons/ ''; + # Raised surfaces are tints of base00, matching quickshell's + # Theme.base01/base02 and the GTK overrides in settings/desktop.nix. + # Scaling all three channels is what Qt.lighter() does, so all three + # toolkits land on the same #2f3440 / #434a5b. + tint = f: let + ch = k: toString (builtins.floor (builtins.fromJSON c."base00-rgb-${k}" * f)); + in "rgb(${ch "r"}, ${ch "g"}, ${ch "b"})"; + # Map Material You placeholders to the closest base16 slot in stylix's # palette. The mapping is approximate (Material You has more semantic # colours than base16), but covers the placeholders used in our Zen @@ -151,9 +159,9 @@ "#${c.base0C}" # secondary container (cyan) "#${c.base0E}" # tertiary container (purple) "#${c.base00}" # surface (main bg) - "#${c.base01}" # surface container + (tint 1.7) # surface container (urlbar, panels, dialogs) "#${c.base00}" # surface container low - "#${c.base02}" # surface container high + (tint 2.4) # surface container high (selected tab, focused urlbar) "#${c.base05}" # on surface (fg) "#${c.base04}" # on surface variant (muted fg) "#${c.base03}" # outline