summaryrefslogtreecommitdiff
path: root/src/caelestia/utils/material/generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/caelestia/utils/material/generator.py')
-rw-r--r--src/caelestia/utils/material/generator.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/caelestia/utils/material/generator.py b/src/caelestia/utils/material/generator.py
index d304d7a..200fa7f 100644
--- a/src/caelestia/utils/material/generator.py
+++ b/src/caelestia/utils/material/generator.py
@@ -92,6 +92,14 @@ dark_catppuccin = [
hex_to_hct("b4befe"),
]
+kcolours = [
+ {"name": "klink", "hct": hex_to_hct("2980b9")},
+ {"name": "kvisited", "hct": hex_to_hct("9b59b6")},
+ {"name": "knegative", "hct": hex_to_hct("da4453")},
+ {"name": "kneutral", "hct": hex_to_hct("f67400")},
+ {"name": "kpositive", "hct": hex_to_hct("27ae60")},
+]
+
colour_names = [
"rosewater",
"flamingo",
@@ -185,6 +193,14 @@ def gen_scheme(scheme, primary: Hct) -> dict[str, str]:
else:
colours[colour_names[i]] = harmonize(hct, colours["primary_paletteKeyColor"], (-0.2 if light else 0.05))
+ # KColours
+ for colour in kcolours:
+ colours[colour["name"]] = harmonize(colour["hct"], colours["primary"], 0.1)
+ colours[f"{colour['name']}Selection"] = harmonize(colour["hct"], colours["onPrimaryFixedVariant"], 0.1)
+ if scheme.variant == "monochrome":
+ colours[colour["name"]] = grayscale(colours[colour["name"]], light)
+ colours[f"{colour['name']}Selection"] = grayscale(colours[f"{colour['name']}Selection"], light)
+
if scheme.variant == "neutral":
for name, hct in colours.items():
colours[name].chroma -= 15