nix-config/dotfiles/hypr-lap/wallpaper.sh

34 lines
679 B
Bash
Executable File

#!/usr/bin/env bash
Wallpaper_DIR="/home/smayzy/wallpaper"
LOCKFILE="/tmp/wallpaper_changer.lock"
if [ -f "$LOCKFILE" ]; then
old_pid=$(cat "$LOCKFILE")
if ps -p "$old_pid" > /dev/null 2>&1; then
kill "$old_pid"
fi
fi
echo $$ > "$LOCKFILE"
set_wallpaper() {
local Wallpaper=$(find $Wallpaper_DIR | shuf -n 1)
> /home/smayzy/.config/hypr/hyprpaper.conf
echo "preload = $Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
echo "wallpaper = ,$Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
pkill hyprpaper 2>/dev/null
hyprpaper &
}
trap "rm -f $LOCKFILE" EXIT
while true; do
set_wallpaper
sleep 600
done