summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/caelestia/utils/material/__init__.py6
-rw-r--r--src/caelestia/utils/wallpaper.py13
2 files changed, 12 insertions, 7 deletions
diff --git a/src/caelestia/utils/material/__init__.py b/src/caelestia/utils/material/__init__.py
index f7f7f3d..447a952 100644
--- a/src/caelestia/utils/material/__init__.py
+++ b/src/caelestia/utils/material/__init__.py
@@ -32,8 +32,10 @@ def get_colours_for_image(image: Path | str = wallpaper_thumbnail_path, scheme=N
scheme = get_scheme()
+ flavour = scheme.flavour if scheme.flavour in ("default", "alt1", "alt2") else "default"
+
cache_base = scheme_cache_dir / compute_hash(image)
- cache = (cache_base / scheme.variant / scheme.flavour / scheme.mode).with_suffix(".json")
+ cache = (cache_base / scheme.variant / flavour / scheme.mode).with_suffix(".json")
try:
with cache.open("r") as f:
@@ -42,7 +44,7 @@ def get_colours_for_image(image: Path | str = wallpaper_thumbnail_path, scheme=N
pass
primaries, colours = get_score_for_image(image, cache_base)
- i = ["default", "alt1", "alt2"].index(scheme.flavour)
+ i = ["default", "alt1", "alt2"].index(flavour)
scheme = gen_scheme(scheme, primaries[i], colours)
cache.parent.mkdir(parents=True, exist_ok=True)
diff --git a/src/caelestia/utils/wallpaper.py b/src/caelestia/utils/wallpaper.py
index d7e1ea2..e9453e8 100644
--- a/src/caelestia/utils/wallpaper.py
+++ b/src/caelestia/utils/wallpaper.py
@@ -91,11 +91,14 @@ def get_colours_for_wall(wall: Path | str, no_smart: bool) -> None:
scheme = get_scheme()
cache = wallpapers_cache_dir / compute_hash(wall)
- if scheme.name == "dynamic" and not no_smart:
+ name = "dynamic"
+ flavour = scheme.flavour if scheme.flavour in ("default", "alt1", "alt2") else "default"
+
+ if not no_smart:
scheme = Scheme(
{
- "name": scheme.name,
- "flavour": scheme.flavour,
+ "name": name,
+ "flavour": flavour,
"mode": get_smart_mode(wall, cache),
"variant": scheme.variant,
"colours": scheme.colours,
@@ -103,8 +106,8 @@ def get_colours_for_wall(wall: Path | str, no_smart: bool) -> None:
)
return {
- "name": scheme.name,
- "flavour": scheme.flavour,
+ "name": name,
+ "flavour": flavour,
"mode": scheme.mode,
"variant": scheme.variant,
"colours": get_colours_for_image(get_thumb(wall, cache), scheme),