Change background setup to cycle

This commit is contained in:
David Heinemeier Hansson
2025-06-09 11:59:21 +02:00
parent 3a3be9e38f
commit a745ad0862
6 changed files with 27 additions and 11 deletions

22
bin/swaybg-next Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Cycles through the background images available
BACKGROUNDS_DIR="$HOME/.local/share/backgrounds"
NEXT_BACKGROUND_FILE="$HOME/.cache/next_background_index"
BACKGROUNDS=($(find "$BACKGROUNDS_DIR" -type f | sort))
TOTAL=${#BACKGROUNDS[@]}
if [[ ! -f "$NEXT_BACKGROUND_FILE" ]]; then
INDEX=0
else
INDEX=$(<"$NEXT_BACKGROUND_FILE")
fi
# Save next index (wrap around)
echo "$(( (INDEX + 1) % TOTAL ))" > "$NEXT_BACKGROUND_FILE"
# Launch swaybg
pkill -x swaybg
setsid swaybg -i "${BACKGROUNDS[$INDEX]}" -m fill >/dev/null 2>&1 &