BACKUP/.config/hyprland/change_wallpaper.sh
2025-07-05 14:00:00 +00:00

41 lines
1.2 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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