#!/bin/bash

# Папка с обоями
WALLPAPER_DIR="$HOME/.config/hyprpaper/wallpapers"
# Файл для хранения текущего индекса
INDEX_FILE="$HOME/.config/hyprpaper/current_index"

# Получить список файлов .png и .jpg
mapfile -t WALLPAPERS < <(find "$WALLPAPER_DIR" -type f \( -iname "*.png" -o -iname "*.jpg" \) | sort)

# Сколько обоев всего
TOTAL=${#WALLPAPERS[@]}

# Если нет обоев
if [[ $TOTAL -eq 0 ]]; then
    echo "Нет обоев в $WALLPAPER_DIR"
    exit 1
fi

# Получить текущий индекс или 0
if [[ -f $INDEX_FILE ]]; then
    INDEX=$(<"$INDEX_FILE")
else
    INDEX=0
fi

# Следующий индекс (по кругу)
INDEX=$(( (INDEX + 1) % TOTAL ))

# Текущий файл
SELECTED="${WALLPAPERS[$INDEX]}"

# Сохраняем индекс
echo "$INDEX" > "$INDEX_FILE"

# Предзагрузка и установка
hyprctl hyprpaper preload "$SELECTED"
sleep 0.1  # маленькая задержка для подстраховки
MONITOR=$(hyprctl monitors | grep "Monitor" | awk '{print $2}')
hyprctl hyprpaper wallpaper "$MONITOR,$SELECTED"
