#!/bin/sh

# random_wallpaper.sh
# 2023-12-18
# by Gernot Walzl

DISPLAY=${DISPLAY:-':0.0'}
WALLPAPER_DIR=${WALLPAPER_DIR:-'/usr/share/rpd-wallpaper'}
SLEEP_SECS=${SLEEP_SECS:-'3600'}

daemon () {
  local WALLPAPER_JPG
  while :; do
    sleep "$SLEEP_SECS"
    WALLPAPER_JPG=$(find "$WALLPAPER_DIR" -type f -name '*.jpg' | shuf -n1)
    DISPLAY="$DISPLAY" pcmanfm --set-wallpaper="$WALLPAPER_JPG"
  done
}

install () {
  mkdir -p "$HOME/.config/autostart"
  cat > "$HOME/.config/autostart/random_wallpaper.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=Random Wallpaper
Exec=/usr/local/bin/random_wallpaper.sh
EOF
}

case "$1" in
  'install') install ;;
  *) daemon ;;
esac