# shellcheck shell=bash wallpaper="" mode="" set_wallpaper() { if [[ -f "$1" ]]; then wallpaper="$(realpath "$1")" else echo "Invalid wallpaper path: $1" exit 1 fi } toggle_mode() { if [[ "$(cat "$CONFIG"/mode)" = "light" ]]; then mode="dark" else mode="light" fi } usage() { echo "Usage: $0 [-m {light|dark|toggle}] [-w ]" exit 1 } finish() { [[ -n "$wallpaper" ]] && ln -sf "$wallpaper" "$CONFIG"/wallpaper [[ -n "$mode" ]] && echo "$mode" > "$CONFIG"/mode "$INIT" > /dev/null "$RELOAD" > /dev/null } # Parse arguments while getopts "m:w:" opt; do case "$opt" in m) case "$OPTARG" in light|dark) mode="$OPTARG" ;; toggle) toggle_mode ;; *) usage ;; esac ;; w) set_wallpaper "$OPTARG" ;; *) usage ;; esac done finish