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