#!/bin/zsh
zmodload zsh/zselect

gvim -geometry=80x39-0+0 "$1.sk"

while [ ! -e "$1.sk" ]; do
  # 4/10 of a second
  #usleep 400000
  zselect -t 40
done

sketch $SKETCHOPT -T "$1.sk" -o "$1.tex"
touch "$1.tex"
pdflatex "$1"
touch "$1.pdf"

REMOTE_ID=$RANDOM-xpdf
export REMOTE_ID

scriptpid=$$

(
  xpdf -z 150 -paper letter -geometry 748x720+0+0 -remote "$REMOTE_ID" "$1.pdf"
  kill $scriptpid
  exit
) &

while :; do
  if [ "$1.pdf" -ot "$1.sk" ]; then
    
    if sketch $SKETCHOPT -T "$1.sk" -o "$1.tex" ; then
      if pdflatex --interaction nonstopmode "$1" ; then
        xpdf -remote "$REMOTE_ID" -reload
      else
        echo
        echo 'LATEX ERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
        if [ -z "$QUIET" ]; then
          echo -en '\a'
	  play /usr/share/sounds/phone.wav
        fi
        echo
        touch "$1.pdf"
      fi
    else
      echo
      echo 'SKETCH ERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
      if [ -z "$QUIET" ]; then
        echo -en '\a'
        play /usr/share/sounds/phone.wav
      fi
      echo
      touch "$1.pdf"
    fi
  fi
  # 4/10 of a second
  #usleep 400000
  zselect -t 40
done
