#!/bin/sh LOCK_RESOLUTION="1920x1080" LOCK_QUALITY=70 die() { printf '%s' "\ ${0##*/}: $1 " >&2 exit 1 } input="$1" [ -f "$input" ] || die "$input: no such file" case "$input" in /*) ;; *) die "$input: not an absolute path" ;; esac case "${input##*.}" in png | jpg | jpeg) ;; *) die "$input: unsupported file type" ;; esac magick "$input" -resize "$LOCK_RESOLUTION"^ -gravity center -extent "$LOCK_RESOLUTION" -quality "$LOCK_QUALITY" "$XDG_CACHE_HOME/lock.png" & ln -sf "$input" "$XDG_DATA_HOME/wallpaper" xwallpaper --zoom "$XDG_DATA_HOME/wallpaper"