#!/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