lib/scripts/isa-xterm
author wenzelm
Tue, 28 Mar 2000 11:50:23 +0200
changeset 8598 f625793c4fff
parent 7459 173efad74891
child 9789 7e5e6c47c0b5
permissions -rwxr-xr-x
-I option;
     1 #!/bin/bash
     2 #
     3 # $Id$
     4 #
     5 # Simple Isabelle interface based on xterm.
     6 
     7 
     8 ## diagnostics
     9 
    10 PRG=$(basename $0)
    11 
    12 function usage()
    13 {
    14   echo
    15   echo "Usage: $PRG [OPTIONS] [--] [CMDLINE]"
    16   echo
    17   echo "  Options are:"
    18   echo "    -I           startup Isar interaction mode"
    19   echo "    -g GEOM      main window geometry (default 80x60)"
    20   echo "    -h MODE      highlight mode, may be false, bold (default), color"
    21   echo "    -m MODE      pass print mode"
    22   echo "    -p TEXT      pass text (options etc.) to isabelle session"
    23   echo "    -s BOOL      symbolic font output? (default true)"
    24   echo "    -x PRG       executable program (default xterm)"
    25   echo
    26   echo "  Starts Isabelle within an xterm window. CMDLINE is passed"
    27   echo "  directly to the isabelle session."
    28   echo
    29   echo "  ISABELLE_XTERM_OPTIONS=$ISABELLE_XTERM_OPTIONS"
    30   echo
    31   exit 1
    32 }
    33 
    34 function fail()
    35 {
    36   echo "$1" >&2
    37   exit 2
    38 }
    39 
    40 
    41 ## process command line
    42 
    43 # options
    44 
    45 MAINGEOM="80x60"
    46 HILITE=bold
    47 PASS=""
    48 PASS_MODE=""
    49 SYMBOLS="true"
    50 XTERM="xterm"
    51 
    52 function getoptions()
    53 {
    54   OPTIND=1
    55   while getopts "Ig:h:m:p:s:x:" OPT
    56   do
    57     case "$OPT" in
    58       I)
    59         PASS="$PASS -I"
    60         ;;
    61       g)
    62         MAINGEOM="$OPTARG"
    63         ;;
    64       h)
    65         HILITE="$OPTARG"
    66         ;;
    67       m)
    68         PASS_MODE="$PASS_MODE -m$OPTARG"
    69         ;;
    70       p)
    71         PASS="$PASS $OPTARG"
    72         ;;
    73       s)
    74         SYMBOLS="$OPTARG"
    75         ;;
    76       x)
    77         XTERM="$OPTARG"
    78         ;;
    79       \?)
    80         usage
    81         ;;
    82     esac
    83   done
    84 }
    85 
    86 getoptions $ISABELLE_XTERM_OPTIONS
    87 
    88 getoptions "$@"
    89 shift $(($OPTIND - 1))
    90 
    91 
    92 ## main
    93 
    94 if [ "$HILITE" = bold ]; then
    95   PASS="-mxterm $PASS"
    96 elif [ "$HILITE" = color ]; then
    97   PASS="-mxterm_color $PASS"
    98 elif [ -n "$HILITE" -a "$HILITE" != false ]; then
    99   echo "WARNING: unknown highlight mode '$HILITE'" >&2
   100 fi
   101 
   102 PASS="$PASS_MODE $PASS"
   103 
   104 if [ -z "$SYMBOLS" -o "$SYMBOLS" = false ]; then
   105   exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -e $ISABELLE $PASS "$@"
   106 else
   107   $ISATOOL installfonts
   108   exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -fn isabelle14 \
   109     -xrm "*fontMenu.Label: Isabelle fonts" \
   110     -xrm "*fontMenu*font1*Label: Large" \
   111     -xrm "*VT100*font1: isabelle24" \
   112     -xrm "*fontMenu*font2*Label:" \
   113     -xrm "*VT100*font2:" \
   114     -xrm "*fontMenu*font3*Label:" \
   115     -xrm "*VT100*font3:" \
   116     -xrm "*fontMenu*font4*Label:" \
   117     -xrm "*VT100*font4:" \
   118     -xrm "*fontMenu*font5*Label:" \
   119     -xrm "*VT100*font5:" \
   120     -xrm "*fontMenu*font6*Label:" \
   121     -xrm "*VT100*font6:" \
   122     -e $ISABELLE -m isabelle_font -m symbols $PASS "$@"
   123 fi