dotfiles/.local/bin/wallpapers-open

20 lines
449 B
Plaintext
Raw Normal View History

2024-06-23 06:44:57 -04:00
#!/bin/sh
set -eu
IMAGES_DIR="$HOME/pics/wallpapers"
die() {
printf '%s' "\
${0##*/}: $1
" >&2
exit 1
}
[ -d "$IMAGES_DIR" ] || die "directory not found: $IMAGES_DIR"
images_list=$(find "$IMAGES_DIR" -type f -name '*.png' -o -name '*.jpg' -o -name '*.jpeg')
[ -n "$images_list" ] || die "no images found"
selected_image=$(printf '%s' "$images_list" | shuf | nsxiv -iot)
[ -n "$selected_image" ] || exit 0
wallpaper-set "$selected_image"