#!/bin/bash
# set walls, random walls, lists walls, view walls

# define walldir(s)
if [ -d "$1" ]; then
    DIRS="$1"
else
    DIRS="/usr/share/backgrounds \
    $HOME/Images/backgrounds \
    $HOME/Images/wallpapers \
    $HOME/pics/walls"
fi
setwall="feh --bg-fill"
getwall() {
    for D in $DIRS; do
        find $D -maxdepth 1 -nowarn \
            -type f \
            -iname "*.jpg" -o \
            -iname "*.jpeg" -o \
            -iname "*.png"
        done
}
# set message
userlocale=$(echo $LANG | cut -b-2)
case $userlocale in
    fr) prompt="choisir un fond d'écran " ;;
    *) prompt="set as wallpaper " ;;
esac
# launch menu
wallset=$(printf "\n\n" |\
    rofi -theme /usr/share/nakedrasi/nakedwalls.rasi -dmenu -p "")
case "$wallset" in
    ) $setwall "$(getwall | sort -R | head -n 1)" && exit ;;
    )
        wall=$(getwall | rofi -dmenu -p "${prompt}") \
        && eval "$setwall "${wall}"" && exit ;;
    )
        if [ -d "$1" ]; then
            sxiv "$1" && exit
        else
            sxiv /usr/share/backgrounds && exit
        fi
        ;;
    *) exit 0 ;;
esac
