diff options
Diffstat (limited to 'scripts/.local/bin/setbg')
| -rwxr-xr-x | scripts/.local/bin/setbg | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/scripts/.local/bin/setbg b/scripts/.local/bin/setbg index 397646d..795b28f 100755 --- a/scripts/.local/bin/setbg +++ b/scripts/.local/bin/setbg @@ -7,10 +7,13 @@ # If wal is installed, also generates a colorscheme. # Location of link to wallpaper link. -bgloc="${XDG_DATA_HOME:-$HOME/.local/share/wallpapers}/bg" +bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}/wallpapers/bg" -trueloc="$(readlink -f "$1")" && +# Configuration files of applications that have their themes changed by pywal. +dunstconf="${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc" +zathuraconf="${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc" +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 ) ln -sf "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$bgloc" && notify-send -i "$bgloc" "Random Wallpaper chosen." ;; @@ -18,8 +21,13 @@ case "$(file --mime-type -b "$trueloc")" in esac # If pywal is installed, use it. -command -v wal >/dev/null 2>&1 && - wal -i "$trueloc" -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1 && +if command -v wal >/dev/null 2>&1 ; then + wal -i "$(readlink -f $bgloc)" -o "${XDG_CONFIG_HOME:-$HOME/.config}/wal/postrun" >/dev/null 2>&1 && pidof dwm >/dev/null && xdotool key super+F12 +# If pywal is removed, return config files to normal. +else + [ -f "$dunstconf.bak" ] && unlink "$dunstconf" && mv "$dunstconf.bak" "$dunstconf" + [ -f "$zathuraconf.bak" ] && unlink "$zathuraconf" && mv "$zathuraconf.bak" "$zathuraconf" +fi xwallpaper --zoom "$bgloc" |
