#!/bin/bash SCR_WIDTH=1980 SCR_HEIGHT=1080 PADDING=50 FONT_SIZE=20 CURL="curl -s" function fail() { if [ -f ~/.bg.png ]; then feh --bg-max -B white ~/.bg.png fi exit -1; } # Test internet timeout 4 wget -q --spider http://texample.net if [ $? -ne 0 ]; then fail; fi let "SCR_WIDTH -= 2 * $PADDING" let "SCR_WIDTH /= 2" let "SCR_HEIGHT -= 2 * $PADDING" PAGE=$RANDOM; let "PAGE %= 22"; let "PAGE += 1" # Fetch list of texamples cd /tmp $CURL -o texample.html "http://texample.net/tikz/examples/all/?page=$PAGE" if [ $? -ne 0 ]; then fail; fi EXAMPLES="$(grep '^PDF<\/a>.*/\1/")" TEX="$(grep '\/media\/tikz\/examples\/TEX' texample.html | grep -v overleaf | sed "s/.*TEX<\/a>.*/\1/")" echo $PDF $TEX $CURL "http://texample.net$PDF" | convert -size "x$SCR_HEIGHT" -density 300 - /tmp/bg.png $CURL "http://texample.net$TEX" | sed -n '/\\begin{document}/,/\\end{document}/p' | pygmentize -l latex -O font_size=$FONT_SIZE -o /tmp/bg-src.png montage -geometry "+$PADDING+$PADDING" /tmp/bg-src.png /tmp/bg.png "/tmp/bg-$PAGE.png" rm /tmp/bg{,-src}.png if [ $? -ne 0 ]; then fail; fi feh -B white --bg-max "/tmp/bg-$PAGE.png"