diff --git a/.local/bin/tools/wallpaper b/.local/bin/tools/wallpaper index 7243aaa..a044a71 100755 --- a/.local/bin/tools/wallpaper +++ b/.local/bin/tools/wallpaper @@ -3,9 +3,17 @@ # Adapted from a script by lukesmithxyz, checkout github.com/lukesmithxyz/voidrice wall_desk=${WALLPAPER_DESKTOP:-$XDG_DATA_HOME/bg} +lightdm_desk=${WALLPAPER_LIGHTDM:-$XDG_DATA_HOME/lightdm} wall_lock=${WALLPAPER_LOCK:-$XDG_DATA_HOME/lock} case "$1" in + lightdm) trueloc="$(readlink -f "$2")" && + case "$(file --mime-type -b "$trueloc")" in + image/* ) sudo cp "$(readlink -f "$2")" "$lightdm_desk" && notify-send -i "$lightdm_desk" "LightDM wallpaper has been changed." ;; + inode/directory ) sudo cp "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$lightdm_desk" && notify-send -i "$lightdm_desk" "Random LightDM wallpaper chosen." ;; + *) notify-send "🖼️ Error" "Not a valid image or directory." ; exit 1;; + esac + xwallpaper --stretch "$wall_desk" ;; desktop) trueloc="$(readlink -f "$2")" && case "$(file --mime-type -b "$trueloc")" in image/* ) ln -f "$(readlink -f "$2")" "$wall_desk" && notify-send -i "$wall_desk" "Desktop wallpaper has been changed." ;; @@ -19,20 +27,29 @@ case "$1" in inode/directory ) ln -f "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$wall_lock" && notify-send -i "$wall_lock" "Random lock screen wallpaper chosen." ;; *) notify-send "🖼️ Error" "Not a valid image or directory." ; exit 1;; esac ;; - both) wallpaper desktop "$2" && - wallpaper lock "$2";; + all) wallpaper lightdm "$2" && + wallpaper lock "$2" && + wallpaper desktop "$2";; *) cat << EOF wallpaper: cli script to set and reset the wallpaper of the desktop and lock screen. Allowed options: + desktop [PATH] Set the wallpaper of the desktop to the specified path. If no path is given reset it. + lock [PATH] Set the wallpaper of the lock screen to the specified path. If no path is given reset it. - both [PATH] Set wallpaper for both lock screen and dektop to a - specified path. + + lightdm [PATH] Set the wallpaper of the lightdm screen to the specified + path. If no path is given reset it. + + all [PATH] Set wallpaper for both lock screen, the dektop and the + lightdm screen to a specified path. + If no path is given reset it. + all else Print this message EOF diff --git a/.local/share/lightdm b/.local/share/lightdm new file mode 120000 index 0000000..e0769f4 --- /dev/null +++ b/.local/share/lightdm @@ -0,0 +1 @@ +/etc/lightdm/background.jpg \ No newline at end of file