From c7a88a07b9287db9c129914483f6b3ae1ab5404c Mon Sep 17 00:00:00 2001 From: awy Date: Fri, 14 Nov 2025 23:43:38 +0300 Subject: init --- .local/bin/randombg | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 .local/bin/randombg (limited to '.local/bin/randombg') diff --git a/.local/bin/randombg b/.local/bin/randombg new file mode 100755 index 0000000..e894a09 --- /dev/null +++ b/.local/bin/randombg @@ -0,0 +1,35 @@ +#!/bin/sh +killall swaybg +PIDFILE="/tmp/randombg.pid" +# Check if the PID file exists and if the process is running +if [ -e "$PIDFILE" ] && kill -0 "$(bat "$PIDFILE")"; then + echo "Another instance of the script is already running." + kill -9 "$(bat $PIDFILE)" # Forcefully kill the old process +fi +echo $$ > "$PIDFILE" + +cleanup() { + [ -n "$OLD_PID" ] && kill "$OLD_PID" 2>/dev/null + rm -f "$PIDFILE" + exit 0 +} +trap cleanup INT TERM EXIT + +sleep_interruptible() { + t=$1 + while [ "$t" -gt 0 ]; do + sleep 1 || return + t=$((t-1)) + done +} + +swaybg -i "$(fd . /mnt/ssd/papes -t f | shuf -n1)" -m fill & +OLD_PID=$! +while true; do + sleep_interruptible 300 + swaybg -i "$(fd . /mnt/ssd/papes -t f | shuf -n1)" -m fill & + NEXT_PID=$! + sleep_interruptible 5 + kill $OLD_PID + OLD_PID=$NEXT_PID +done -- cgit v1.2.3