aboutsummaryrefslogblamecommitdiff
path: root/i3/bin/setbg-texample
blob: c1968a5e445a2ce0b21892abd316f70b98b6006c (plain) (tree)
1
2
3
4
5
6
7
8
9





               
              
               
                                                                        
 




                                               
                                                                       
                         
       
                                                                                                    
 
                                               
                                                                                                                          
                                                                                                            
                                                                                                                           
 
                
 
                                                                                                 
                                                                                                                                                  
 
                                                                                             
                                                     
                                         
#!/bin/bash

SCR_WIDTH=1980
SCR_HEIGHT=1080
PADDING=50
FONT_SIZE=20

CURL="curl -s"

# Test internet
timeout 4 wget -q --spider http://texample.net || setbg-backup || exit 1

let "SCR_WIDTH -= 2 * $PADDING"
let "SCR_WIDTH /= 2"
let "SCR_HEIGHT -= 2 * $PADDING"

PAGE=$RANDOM; let "PAGE %= 22"; let "PAGE += 1"

echo "TeXample page: http://texample.net/tikz/examples/all/?page=$PAGE"

# Fetch list of texamples
cd /tmp
$CURL -o texample.html "http://texample.net/tikz/examples/all/?page=$PAGE" || setbg-backup || exit 1

EXAMPLES="$(grep '^<dl' texample.html | wc -l)"
awk -v n=0 "BEGIN{srand();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 overleaf | sed "s/.*<a href=\"\(.*\)\">TEX<\/a>.*/\1/")"

echo "PDF: $PDF"
echo "TeX: $TEX"

$CURL "http://texample.net$PDF" | convert -size "x$SCR_HEIGHT" -density 300 - /tmp/bg-page-%d.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-page-0.png "/tmp/bg-$PAGE.png"
rm /tmp/bg-{page-*,src}.png || setbg-backup || exit 1

feh -B white --bg-max "/tmp/bg-$PAGE.png"