diff options
Diffstat (limited to 'i3/bin/setbg-texample')
-rwxr-xr-x | i3/bin/setbg-texample | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/i3/bin/setbg-texample b/i3/bin/setbg-texample new file mode 100755 index 0000000..ee996d3 --- /dev/null +++ b/i3/bin/setbg-texample @@ -0,0 +1,46 @@ +#!/bin/bash + +SCR_WIDTH=1980 +SCR_HEIGHT=1080 +PADDING=50 +FONT_SIZE=20 + +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 +wget -qO texample.html "http://texample.net/tikz/examples/all/?page=$PAGE" +if [ $? -ne 0 ]; then fail; fi + +EXAMPLES="$(grep '^<dl' texample.html | wc -l)" +awk -v n=0 "BEGIN{n=int(rand()*$EXAMPLES)+1} /^<dl/{l++} (l==n){print} END{}" texample.html | sponge texample.html + +PDF="$(grep '\/media\/tikz\/examples\/PDF' texample.html | sed "s/.*<a href=\"\([^\"]*\)\">PDF<\/a>.*/\1/")" +TEX="$(grep '\/media\/tikz\/examples\/TEX' texample.html | grep -v writelatex | sed "s/.*<a href=\"\(.*\)\">TEX<\/a>.*/\1/")" + +echo $PDF $TEX + +wget -qO- "http://texample.net$PDF" | convert -size "x$SCR_HEIGHT" -density 300 - /tmp/bg.png +wget -qO- "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" + |