mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-06 15:29:28 -05:00
37 lines
1.3 KiB
Fish
Executable File
37 lines
1.3 KiB
Fish
Executable File
#!/usr/bin/env 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
|