26 lines
648 B
Bash
Executable File
26 lines
648 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
COUNTER_FILE="$HOME/.wallpaper-counter"
|
|
LAST_WALLPAPER_FILE="$HOME/.last-wallpaper"
|
|
WALLPAPER_DIR="$HOME/wallpaper"
|
|
|
|
# Get a list of all wallpapers, exclude lock.png
|
|
WALLPAPERS=($(find $WALLPAPER_DIR -type f \( -iname "*.jpg" -o -iname "*.png" \) ! -iname "lock.png"))
|
|
NUM_WALLPAPERS=${#WALLPAPERS[@]}
|
|
|
|
# Read the counter
|
|
COUNTER=$(cat $COUNTER_FILE)
|
|
|
|
# Increment the counter
|
|
COUNTER=$(( (COUNTER + 1) % NUM_WALLPAPERS ))
|
|
|
|
# Update the counter file
|
|
echo $COUNTER > $COUNTER_FILE
|
|
|
|
# Set the new wallpaper
|
|
feh --bg-fill "${WALLPAPERS[$COUNTER]}"
|
|
|
|
# Store the last wallpaper
|
|
echo "${WALLPAPERS[$COUNTER]}" > $LAST_WALLPAPER_FILE
|
|
|