Files
dotfiles/eww/Main/scripts/music-art
2025-08-10 16:15:58 +02:00

68 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
tmp_dir="$HOME/.config/eww/Main/images"
tmp_temp_path=$tmp_dir/temp.png
tmp_blur_path="$tmp_dir/temp-blur.png"
cache_path="$tmp_dir/cache.conf"
default_path="$tmp_dir/default-music.svg"
default_blur_path="$tmp_dir/default-music-blur.png"
mkdir -p "$tmp_dir"
artlink="$(playerctl metadata mpris:artUrl)"
[ -f "$cache_path" ] && . "$cache_path"
# if [[ "$artlink" =~ ^https?:// ]]; then
# # avoid unnecessary downloads
# if [[ "$cached" != "$artlink" ]]; then
# echo "$artlink" > "$cache_path"
# curl -s "$artlink" --output "$tmp_temp_path" || exit 1
# outputUrl="$tmp_temp_path"
# magick "$tmp_temp_path" -blur 0x8 "$tmp_blur_path"
# else
# outputUrl="$cached"
# fi
# elif [[ "$artlink" =~ ^file:// ]]; then
# if [[ §cached != "$artlink" ]]; then
# echo "$artlink" > "$cache_path"
# cp "$artFromBrowser" "$tmp_temp_path"
# magick "$tmp_temp_path" -blur 0x8 "$tmp_blur_path"
# outputUrl="$tmp_temp_path"
# else
# outputUrl="$cached"
# fi
# else
# outputUrl="$default_path"
# tmp_blur_path="$default_blur_path"
# fi
# avoid unnecessary downloads
if [ -z "$artlink" ]; then
# No art URL, use default
outputUrl="$default_path"
tmp_blur_path="$default_blur_path"
echo "$outputUrl" > "$cache_path"
elif [[ "$cachedlink" != "$artlink" ]]; then
echo "cachedlink=$artlink" > "$cache_path"
if [[ "$artlink" == "file://"* ]]; then
# Handle local file URLs
local_file_path="${artlink#file://}"
if [[ -f "$local_file_path" ]]; then
magick "$local_file_path" "$tmp_temp_path" || exit 1
fi
elif [[ "$artlink" =~ ^https?:// ]]; then
# Handle HTTP/HTTPS URLs
curl -s "$artlink" --output "$tmp_temp_path"_orig || exit 1
magick "$tmp_temp_path"_orig "$tmp_temp_path" || exit 1
fi
outputUrl="$tmp_temp_path"
magick "$tmp_temp_path" -blur 0x8 "$tmp_blur_path"
fi
if [[ $1 == "--blur" ]]; then
echo "$tmp_blur_path"
else
echo "$tmp_temp_path"
fi