diff --git a/dotfiles/hypr-lap/wallpaper.sh b/dotfiles/hypr-lap/wallpaper.sh index 95b00d1..9c7876e 100755 --- a/dotfiles/hypr-lap/wallpaper.sh +++ b/dotfiles/hypr-lap/wallpaper.sh @@ -1,17 +1,13 @@ #!/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" +SCRIPT_NAME=$(basename "$0") +SELF_PID=$$ +pgrep -f "$SCRIPT_NAME" | grep -v "^$SELF_PID$" | while read -r pid; do + kill "$pid" +done set_wallpaper() { local Wallpaper=$(find $Wallpaper_DIR | shuf -n 1) @@ -25,8 +21,6 @@ set_wallpaper() { hyprpaper & } -trap "rm -f $LOCKFILE" EXIT - while true; do set_wallpaper sleep 600