#!/bin/sh
desk_pagesx=3
desk_pagesy=3

WALLPAPER_TARGET_HOME="${HOME}/.fvwm-crystal/wallpapers"
WALLPAPER_SOURCE_ROOT="/media/sda1/image/sijun"

SEED=$(head -c4 /dev/urandom | od -An -tu4); \
PAGE_X_MAX=$(expr ${desk_pagesx} - 1); \
PAGE_Y_MAX=$(expr ${desk_pagesy} - 1); \
PAGE_CUR=0; \
\
for PAGE_X in $(seq 0 $PAGE_X_MAX); do \
for PAGE_Y in $(seq 0 $PAGE_Y_MAX); do \
  PAGE_CUR=$(expr $PAGE_CUR + 1); \
  WALLPAPER_TARGET_FILE="${WALLPAPER_TARGET_HOME}/${PAGE_X}.${PAGE_Y}"; \
  WALLPAPER_SOURCE_HOME=$(ls -1dF "${WALLPAPER_SOURCE_ROOT}"/* | awk -v CF=$PAGE_CUR '\
    BEGIN { RS = ""; FS = "\n" } \
    END { if (CF > NF) CF = NF; print $CF }'); \
  WALLPAPER_SOURCE_FILE="${WALLPAPER_SOURCE_HOME}"\
$(ls -1 "${WALLPAPER_SOURCE_HOME}" | awk -v SEED="$SEED" '\
    BEGIN { RS = ""; FS = "\n"; srand(SEED) } \
    END { RF = int(rand()*NF + 1); print $RF }'); \
\
  ln -sfv "$WALLPAPER_SOURCE_FILE" "$WALLPAPER_TARGET_FILE"; \
done; \
done
