#!/bin/sh

function join { local IFS="$1"; shift; echo "$*"; }

NONE="`tr -s '[:upper:]' '[:lower:]' <<< "$1"`"
if [ "$NONE" != "none" ]; then
    PATHS=${1//\~\//$HOME/}
    IFS=':' read -a ELEMENTS <<< "$PATHS"
    COUNT=$((${#ELEMENTS[@]} - 1))
    for ((i=0; i < $COUNT; ++i)); do
        WALLPAPER="${WALLPAPER}`realpath "${ELEMENTS[$i]}"`:"
    done
    WALLPAPER="${WALLPAPER}`realpath "${ELEMENTS[$COUNT]}"`"
else
    WALLPAPER="none"
fi

if [ -z "$2" ]; then
    qdbus org.kde.be.shell /Desktop setWallpaper "$WALLPAPER"
else
    MODE="`tr -s '[:upper:]' '[:lower:]' <<< "$2"`"
    case $MODE in
    plain) MODE=1 ;;
    tiles|tiling) MODE=2 ;;
    tileh|cols|columns)
        MODE=3
        ;;
    tilev|rows)
        MODE=4
        ;;
    scale|stretch)
        MODE=5
        ;;
    max|maximum)
        MODE=6
        ;;
    scalecrop)
        MODE=7
        ;;
    esac
    qdbus org.kde.be.shell /Desktop setWallpaper "$WALLPAPER" "$MODE"
fi
