summaryrefslogtreecommitdiff
path: root/wallpaper.fish
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-08 22:25:51 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-08 22:25:51 +1100
commit08af99b57d246fffb7bd58f31d52ecd13716558f (patch)
tree5504891bb11b46491f58417ca8f9cce023d59b18 /wallpaper.fish
parentscheme: allow choosing material scheme (diff)
downloadcaelestia-cli-08af99b57d246fffb7bd58f31d52ecd13716558f.tar.gz
caelestia-cli-08af99b57d246fffb7bd58f31d52ecd13716558f.tar.bz2
caelestia-cli-08af99b57d246fffb7bd58f31d52ecd13716558f.zip
scheme: optimise dynamic scheme gen
Make material schemes flavours of dynamic instead Remove dynamic-scheme subcommand Optimise scheme generation
Diffstat (limited to 'wallpaper.fish')
-rwxr-xr-xwallpaper.fish22
1 files changed, 17 insertions, 5 deletions
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