28 lines
1.2 KiB
Bash
Executable File
28 lines
1.2 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
api_response="$(curl -sS https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY)"
|
|
filename="$HOME/Pictures/apod/$(echo $api_response | jq --join-output '.date+" "+.title').jpg"
|
|
wallpaper_filename="$HOME/Pictures/wallpaper"
|
|
url="$(echo $api_response | jq --raw-output '.hdurl')"
|
|
screen_size="$(xrandr --screen 0 | grep '^Screen' | grep -Eo 'current [0-9]+ x [0-9]+' | sed -E 's/current ([0-9]+) x ([0-9]+)/\1x\2/g')"
|
|
|
|
mkdir -p "$(dirname $filename)"
|
|
|
|
if [[ -f "$filename" ]]; then
|
|
echo "Image already downloaded"
|
|
else
|
|
curl -sS -o "$filename" "$url"
|
|
fi
|
|
|
|
if [[ "$1" == "--wallpaper" ]]; then
|
|
[[ -f "$wallpaper_filename" ]] && rm "$wallpaper_filename"
|
|
img_size="$(identify "$filename" | grep -Eo '[0-9]+x[0-9]+' | head -n 1)"
|
|
if [[ "$(echo "$img_size" | grep -Eo '^[0-9]+')" -lt "$(echo "$screen_size" | grep -Eo '^[0-9]+')"
|
|
|| "$(echo "$img_size" | grep -Eo '[0-9]+$')" -lt "$(echo "$screen_size" | grep -Eo '[0-9]+$')" ]]; then
|
|
convert "$filename" -filter Lanczos -gravity center -unsharp 0x1 -resize "$screen_size^" "$wallpaper_filename"
|
|
else
|
|
ln -s "$filename" "$wallpaper_filename"
|
|
fi
|
|
feh --bg-fill "$wallpaper_filename"
|
|
fi
|