dotfiles/.local/bin/wallpaper-set

28 lines
565 B
Bash
Executable file

#!/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"