voidrice/.local/bin/setbg
krisdoodle45 9a2dc2618e
Return dunst and zathura color schemes to normal if python-pywal is uninstalled. (#995)
* Changed paru to yay due to new LARBS changes

* Fix & improve lf's moveto, copyto and cd to bm-dir

When using any of the above functions they returned exit code 1. This was due to the cut command having tab as the delimiter, but spaces are used in the bm-dirs file. 
As an improvement comments are now automatically removed from the fzf options, because selecting those wouldn't work anyway.
The final sed command substituting "~" for "$HOME" is also removed because that doesn't seem to do anything looking at the current structure of the bm-dirs file.
The J bind needed more parsing and environment variable substitution because cd didn't work by default with values from a subshell.

* Automatically backup existing config files

* Return by pywal edited config files to normal if pywal is uninstalled.
2021-08-31 17:00:23 -04:00

29 lines
1.5 KiB
Bash
Executable file

#!/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" && 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." ;;
*) notify-send "Error" "Not a valid image." ; exit 1;;
esac
# If pywal is installed, use it.
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 "${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc.bak" ] && unlink "${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc" && mv "${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc.bak" "${XDG_CONFIG_HOME:-$HOME/.config}/dunst/dunstrc"
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc.bak" ] && unlink "${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc" && mv "${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc.bak" "${XDG_CONFIG_HOME:-$HOME/.config}/zathura/zathurarc"
fi
xwallpaper --zoom "$bgloc"