#!/bin/sh
#set 0 2

desk_pagesx=3
desk_pagesy=3

wallpaper_source_root="/media/sda1/image/sijun"
wallpaper_target_home="$HOME/.fvwm-crystal/wallpapers"
  ONE_HOUR_AGO=$(expr $(date '+%s') - 3600); \

WALLPAPER_TARGET_FILE="$wallpaper_target_home/$1.$2"; \
\
if [ ! -f $WALLPAPER_TARGET_FILE ]; \
then IS_MAKING_WALLPAPER_TARGET_FILE=1; \
else \
  WALLPAPER_TARGET_FILE_MTIME=$(stat --printf='%Z' $WALLPAPER_TARGET_FILE); \
  ONE_HOUR_AGO=$(expr $(date '+%s') - 4); \
\
  [ $WALLPAPER_TARGET_FILE_MTIME -lt $ONE_HOUR_AGO ] && IS_MAKING_WALLPAPER_TARGET_FILE=1; \
fi; \
\
if [ -n "$IS_MAKING_WALLPAPER_TARGET_FILE" ]; then \
  WALLPAPER_SOURCE_HOME=$wallpaper_source_root/$(ls -1 "$wallpaper_source_root" | \
  awk -v X=$1 -v Y=$2 -v W=$desk_pagesx '\
    BEGIN { RS = ""; FS = "\n"; srand() } \
    END { CF = X*W + Y + 1; if (CF > NF) CF = NF; print $CF } \
  '); \
  WALLPAPER_SOURCE_FILE=$WALLPAPER_SOURCE_HOME/$(ls -1 "$WALLPAPER_SOURCE_HOME" | awk '\
    BEGIN { RS = ""; FS = "\n"; srand() } \
    END   { RF = int(rand()*NF + 1); print $RF } \
  '); \
\
  echo "rand: '$WALLPAPER_SOURCE_FILE' -> '$WALLPAPER_TARGET_FILE'..."; \
  ln --symbolic --force $WALLPAPER_SOURCE_FILE $WALLPAPER_TARGET_FILE; \
fi; \
\
feh --bg-center $WALLPAPER_TARGET_FILE
