Files
dotfiles/.local/bin/setbg

25 lines
912 B
Plaintext
Raw Normal View History

2021-04-07 22:56:28 +01:00
#!/bin/sh
# This script does the following:
# Run by itself, set the wallpaper (at X start).
# If given a file, set that as the new wallpaper.
# If given a directory, choose random file in it.
# If wal is installed, also generates a colorscheme.
# Location of link to wallpaper link.
bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}/bg"
trueloc="$(readlink -f "$1")" &&
case "$(file --mime-type -b "$trueloc")" in
image/* ) ln -sf "$(readlink -f "$1")" "$bgloc" ;;
2021-05-11 22:11:50 +01:00
inode/directory ) trueloc=$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1) && ln -sf "$trueloc" "$bgloc" ;;
2021-04-07 22:56:28 +01:00
*) notify-send "Error" "Not a valid image." ; exit 1;;
esac
# If pywal is installed, use it.
command -v wal >/dev/null 2>&1 &&
2021-05-11 22:11:50 +01:00
wal -i "$trueloc" -n -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1 &&
2021-04-07 22:56:28 +01:00
pidof dwm >/dev/null && xdotool key super+F12
xwallpaper --zoom "$bgloc"