From 08af99b57d246fffb7bd58f31d52ecd13716558f Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 8 Mar 2025 22:25:51 +1100 Subject: scheme: optimise dynamic scheme gen Make material schemes flavours of dynamic instead Remove dynamic-scheme subcommand Optimise scheme generation --- wallpaper.fish | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'wallpaper.fish') diff --git a/wallpaper.fish b/wallpaper.fish index 24e5780..25c7090 100755 --- a/wallpaper.fish +++ b/wallpaper.fish @@ -106,13 +106,25 @@ else # Unload unused wallpapers to preserve memory hyprctl hyprpaper unload unused > /dev/null + # Thumbnail wallpaper for colour gen + set -l thumb_path $C_CACHE/thumbnails/(string replace -a '/' '-' (dirname $chosen_wallpaper | string sub -s 2))-(path change-extension '.jpg' (basename $chosen_wallpaper)) + if test -f $thumb_path + # Use thumbnail from shell + cp $thumb_path $state_dir/thumbnail.jpg + else + magick -define jpeg:size=256x256 $chosen_wallpaper -thumbnail 128x128 $state_dir/thumbnail.jpg + end + # Generate colour scheme for wallpaper set -l src (dirname (status filename)) - mkdir -p $src/data/schemes/dynamic - $src/scheme/gen-scheme.fish $chosen_wallpaper dark > $src/data/schemes/dynamic/dark.txt - $src/scheme/gen-scheme.fish $chosen_wallpaper light > $src/data/schemes/dynamic/light.txt - if test "$(cat $C_STATE/scheme/current-name.txt 2> /dev/null)" = 'dynamic' - caelestia scheme dynamic $_flag_T > /dev/null + $src/scheme/gen-scheme.fish $state_dir/thumbnail.jpg dark & + $src/scheme/gen-scheme.fish $state_dir/thumbnail.jpg light & + if test -f $C_STATE/scheme/current-name.txt + set -l variant (string match -gr 'dynamic-(.*)' (cat $C_STATE/scheme/current-name.txt)) + if test -n "$variant" + wait + caelestia scheme dynamic $variant $_flag_T > /dev/null + end end # Store the wallpaper chosen -- cgit v1.2.3-freya