lib/Tools/display
author wenzelm
Tue, 22 Jun 2004 09:52:15 +0200
changeset 14997 aa2aaab41566
parent 14951 c98eb0d6615a
child 15010 72fbe711e414
permissions -rwxr-xr-x
tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14930
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     1
#!/usr/bin/env bash
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     2
#
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     3
# $Id$
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     4
# Author: Markus Wenzel, TU Muenchen
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     5
# License: GPL (GNU GENERAL PUBLIC LICENSE)
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     6
#
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     7
# DESCRIPTION: display document (in DVI format)
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     8
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
     9
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    10
PRG="$(basename "$0")"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    11
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    12
function usage()
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    13
{
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    14
  echo
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    15
  echo "Usage: $PRG [OPTIONS] FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    16
  echo
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    17
  echo "  Options are:"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    18
  echo "    -c           cleanup -- remove FILE after use"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    19
  echo
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    20
  echo "  Display document FILE (in DVI format)."
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    21
  echo
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    22
  exit 1
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    23
}
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    24
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    25
function fail()
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    26
{
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    27
  echo "$1" >&2
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    28
  exit 2
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    29
}
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    30
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    31
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    32
## process command line
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    33
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    34
# options
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    35
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    36
CLEAN=""
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    37
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    38
while getopts "c" OPT
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    39
do
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    40
  case "$OPT" in
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    41
    c)
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    42
      CLEAN=true
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    43
      ;;
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    44
    \?)
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    45
      usage
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    46
      ;;
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    47
  esac
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    48
done
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    49
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    50
shift $(($OPTIND - 1))
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    51
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    52
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    53
# args
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    54
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    55
[ "$#" -ne 1 ] && usage
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    56
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    57
FILE="$1"; shift
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    58
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    59
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    60
## main
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    61
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    62
[ -f "$FILE" ] || fail "Bad file: $FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    63
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    64
if [ -n "$CLEAN" ]; then
14997
wenzelm
parents: 14951
diff changeset
    65
  PRIVATE_FILE="$ISABELLE_TMP/"$(basename "$FILE" .dvi)$$.dvi
14930
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    66
  mv "$FILE" "$PRIVATE_FILE" || fail "Cannot move file: $FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    67
  $DVI_VIEWER "$PRIVATE_FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    68
  rm -f "$PRIVATE_FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    69
else
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    70
  exec $DVI_VIEWER "$FILE"
24a0b2dd9be6 display document (in DVI format)
wenzelm
parents:
diff changeset
    71
fi