From 7fa09fa52f180192979344329c06ca6436213273 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 5 May 2025 13:36:01 +1000 Subject: feat: print scheme command Generates and prints a scheme for an image (or the current wallpaper if not given) Also record use hevc codec --- scheme/gen-print-scheme.fish | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 scheme/gen-print-scheme.fish (limited to 'scheme') diff --git a/scheme/gen-print-scheme.fish b/scheme/gen-print-scheme.fish new file mode 100755 index 0000000..75328e1 --- /dev/null +++ b/scheme/gen-print-scheme.fish @@ -0,0 +1,36 @@ +#!/bin/fish + +set -l src (dirname (status filename)) + +. $src/../util.fish + +test -f "$argv[1]" && set -l img (realpath "$argv[1]") || set -l img $C_STATE/wallpaper/thumbnail.jpg + +# Thumbnail image if not already thumbnail +if test $img != $C_STATE/wallpaper/thumbnail.jpg + set -l thumb_path $C_CACHE/thumbnails/(sha1sum $img | cut -d ' ' -f 1).jpg + if ! test -f $thumb_path + magick -define jpeg:size=256x256 $img -thumbnail 128x128\> $thumb_path + end + set img $thumb_path +end + +set -l variants vibrant tonalspot expressive fidelity fruitsalad rainbow neutral content monochrome +contains -- "$argv[2]" $variants && set -l variant $argv[2] || set -l variant (cat $C_STATE/scheme/current-variant.txt 2> /dev/null) +contains -- "$variant" $variants || set -l variant tonalspot + +set -l hash (sha1sum $img | cut -d ' ' -f 1) + +# Cache scheme +if ! test -d $C_CACHE/schemes/$hash/$variant + set -l colours ($src/score.py $img) + $src/autoadjust.py dark $variant $colours $C_CACHE/schemes/$hash + $src/autoadjust.py light $variant $colours $C_CACHE/schemes/$hash +end + +# Get mode from image +set -l lightness (magick $img -format '%[fx:int(mean*100)]' info:) +test $lightness -ge 60 && set -l mode light || set -l mode dark + +# Print scheme +cat $C_CACHE/schemes/$hash/$variant/default/$mode.txt -- cgit v1.2.3-freya