57 lines
1.1 KiB
Bash
Executable file
57 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
NOTIFY="FALSE"
|
|
IMAGE="RANDOM"
|
|
|
|
function get_random_slug(){
|
|
curl -s "https://earthview.withgoogle.com/" | hq 'a.intro__explore' attr href
|
|
}
|
|
|
|
function notification(){
|
|
notify-send "$( jq -r '.name' /tmp/backgroundinfo.json)"
|
|
}
|
|
|
|
function set_random_image(){
|
|
set_specific_image "$slug"
|
|
}
|
|
|
|
function download_image(){
|
|
if [ "$IMAGE" == "RANDOM" ]; then
|
|
local slug=$(get_random_slug)
|
|
else
|
|
local slug="$IMAGE"
|
|
fi
|
|
curl -s "https://earthview.withgoogle.com/_api${slug}.json" > /tmp/backgroundinfo.json
|
|
image=$( jq -r '.photoUrl' /tmp/backgroundinfo.json )
|
|
curl -s -o /tmp/background.jpg "$image"
|
|
}
|
|
|
|
function set_image(){
|
|
download_image
|
|
if command -v nitrogen > /dev/null; then
|
|
nitrogen --set-zoom-fill /tmp/background.jpg
|
|
elif command -v nitrogen > /dev/null; then
|
|
feh --bg-fill /tmp/background.jpg
|
|
else
|
|
echo "No wallpaper tools found"
|
|
fi
|
|
if [ "$NOTIFY" == "TRUE" ]; then
|
|
notification
|
|
fi
|
|
}
|
|
|
|
while [ -n "$1" ]; do
|
|
case "$1" in
|
|
"--notify")
|
|
NOTIFY="TRUE"
|
|
shift
|
|
;;
|
|
"--only-notify")
|
|
notification
|
|
shift
|
|
exit 0
|
|
;;
|
|
esac
|
|
done
|
|
|
|
set_image
|