32 lines
733 B
Bash
32 lines
733 B
Bash
|
#!/usr/bin/env bash
|
||
|
set -eo pipefail
|
||
|
|
||
|
if [ -z "${WALLPAPER_DIR}" ]; then
|
||
|
WALLPAPER_DIR="${HOME}/wallpapers"
|
||
|
fi
|
||
|
|
||
|
if ! [ -d "$WALLPAPER_DIR" ]; then
|
||
|
echo "Wallpaper dir is not a directory"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
wallpaper_path=$(find "$WALLPAPER_DIR" -mindepth 1 | sort -R | tail -n 1)
|
||
|
|
||
|
if [ -z "$wallpaper_path" ]; then
|
||
|
echo "Unable to find wallpaper"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if ! command -v hyprpaper &> /dev/null; then
|
||
|
echo "Could not find hyprpaper command"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo "setting $wallpaper_path as wallpaper"
|
||
|
hyprctl hyprpaper unload all
|
||
|
hyprctl hyprpaper preload "$wallpaper_path"
|
||
|
|
||
|
for monitor in $(hyprctl monitors | grep 'Monitor' | awk '{ print $2 }'); do
|
||
|
hyprctl hyprpaper wallpaper "$monitor,$wallpaper_path"
|
||
|
done
|