dotfiles/home/.local/bin/setbg
2021-07-14 15:33:36 +02:00

31 lines
895 B
Bash
Executable file

#!/bin/sh
# This script does the following:
# Run by itself, set the wallpaper
# If given a file, set that as the new wallpaper
# If given a directory, recursively choose a random file in it.
# Location of the symlink to wallpaper image
bgloc="${XDG_DATA_HOME:-$HOME/.local/share}/background"
trueloc="$(readlink -f "$1")" &&
case "$(file --mime-type -b "$trueloc")" in
image/* )
ln -sf "$(readlink -f "$1")" "$bgloc"
notify-send -i "$bgloc" "Changing wallpaper..."
;;
inode/directory )
randimg="$(find -L $trueloc -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)"
echo $randimg
ln -sf "$randimg" "$bgloc"
notify-send -i "$bgloc" "Random Wallpaper chosen."
;;
*)
notify-send "Error" "Not a valid image."
exit 1
;;
esac
# Use xwallpaper to set the background
xwallpaper --zoom "$bgloc"