#!/usr/bin/env bash WALLPAPER_DIR="$HOME/Pictures/Wallpapers/current/" INTRO_DIR="$HOME/Pictures/Wallpapers/intro/" DELAY=5m intro() { if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then echo "Current wallpaper folder is empty, nothing to do" sleep 1 exit 0 fi WALLPAPER=$(find "$INTRO_DIR" -type l | shuf -n 1) while true; do if hyprctl hyprpaper reload ,"$WALLPAPER"; then sleep 1.5 break fi sleep 0.1 done } random_wallpaper() { # Check if folder is not empty if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then echo "Current wallpaper folder is empty, nothing to do" exit 0 fi CURRENT_WALL=$(hyprctl hyprpaper listloaded) # Get a random wallpaper that is not the current one WALLPAPER=$(find "$WALLPAPER_DIR" -type l ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1) # Apply the selected wallpaper hyprctl hyprpaper unload all hyprctl hyprpaper reload ,"$WALLPAPER" echo "Set random wallpaper to $WALLPAPER" } loop() { intro while true; do random_wallpaper sleep "$DELAY" done } loop