#!/bin/bash # This script will currently only run on macOS (macOS specific wallpaper command is used) # The rest of the script will run on regular unix machines, providing you have # bash, curl and jq installed. set -euo pipefail CURL="$(which curl) -s -H \"User-Agent: wallpaper script (/u/pingiun)\"" TMPDIR=$(mktemp -d) $CURL "https://www.reddit.com/r/wallpaper/top.json" > $TMPDIR/top.json for i in {0..4}; do URL=$(/usr/local/bin/jq -r ".data.children[$i].data.url" $TMPDIR/top.json) PARTS=(${URL//\// }) FILE=${PARTS[${#PARTS[@]}-1]} FILEPATH="$HOME/wallpaper/$FILE" $CURL $URL > "$FILEPATH" if file "$FILEPATH" | grep -qE 'image|bitmap'; then # macOS specific command: osascript -e "tell application \"Finder\" to set desktop picture to POSIX file \"$FILEPATH\"" exit fi done