summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-05 18:03:42 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-04-05 18:03:42 +1100
commitbf6ddf7963b623877c83c2db0fd64dc4279310a6 (patch)
tree8fa371b30c759ed0dda87a0a86b4100fe93b167d
parentscheme: use material for colour gen (diff)
downloadcaelestia-cli-bf6ddf7963b623877c83c2db0fd64dc4279310a6.tar.gz
caelestia-cli-bf6ddf7963b623877c83c2db0fd64dc4279310a6.tar.bz2
caelestia-cli-bf6ddf7963b623877c83c2db0fd64dc4279310a6.zip
schemes: cache schemes
-rwxr-xr-xscheme/gen-scheme.fish17
1 files changed, 14 insertions, 3 deletions
diff --git a/scheme/gen-scheme.fish b/scheme/gen-scheme.fish
index 7f95001..ab19c81 100755
--- a/scheme/gen-scheme.fish
+++ b/scheme/gen-scheme.fish
@@ -8,10 +8,21 @@ test -f "$argv[1]" && set -l img (realpath "$argv[1]") || set -l img $C_STATE/wa
contains -- "$argv[2]" light dark && set -l theme $argv[2] || set -l theme dark
set -l variants vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome
+set -l hash (sha1sum $img | cut -d ' ' -f 1)
-# Generate colours
-set -l colours ($src/score.py $img)
+# Cache schemes
+mkdir -p $C_CACHE/schemes
+if ! test -d $C_CACHE/schemes/$hash
+ # Generate colours
+ set -l colours ($src/score.py $img)
+ for variant in $variants
+ mkdir -p $C_CACHE/schemes/$hash/$variant
+ $src/autoadjust.py $theme $variant $colours | head -c -1 > $C_CACHE/schemes/$hash/$variant/$theme.txt
+ end
+end
+
+# Copy schemes from cache
for variant in $variants
mkdir -p $src/../data/schemes/dynamic/$variant
- $src/autoadjust.py $theme $variant $colours | head -c -1 > $src/../data/schemes/dynamic/$variant/$theme.txt
+ cp $C_CACHE/schemes/$hash/$variant/$theme.txt $src/../data/schemes/dynamic/$variant/$theme.txt
end