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