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

35 lines
750 B
Bash
Executable File

#!/usr/bin/env bash
Wallpaper_DIR="/home/smayzy/wallpaper"
LOCKFILE="/tmp/wallpaper_changer.lock"
MONITOR=$(hyprctl monitors | awk '/Monitor/ {print $2; exit}')
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 = $MONITOR,$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