lib/scripts/isa-xterm
author wenzelm
Thu, 10 Feb 2000 20:52:59 +0100
changeset 8230 6f8aa407bcf9
parent 7459 173efad74891
child 8598 f625793c4fff
permissions -rwxr-xr-x
is_symbolic;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3007
e5efa177ee0c removed -norc;
wenzelm
parents: 2788
diff changeset
     1
#!/bin/bash
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
     2
#
2307
508d2a233dbc *** empty log message ***
wenzelm
parents: 2300
diff changeset
     3
# $Id$
508d2a233dbc *** empty log message ***
wenzelm
parents: 2300
diff changeset
     4
#
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
     5
# Simple Isabelle interface based on xterm.
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
     6
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
     7
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
     8
## diagnostics
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
     9
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    10
PRG=$(basename $0)
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    11
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    12
function usage()
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    13
{
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    14
  echo
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    15
  echo "Usage: $PRG [OPTIONS] [--] [CMDLINE]"
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    16
  echo
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    17
  echo "  Options are:"
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    18
  echo "    -g GEOM      main window geometry (default 80x60)"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    19
  echo "    -h MODE      highlight mode, may be false, bold (default), color"
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    20
  echo "    -m MODE      pass print mode"
2712
44a657985de1 removed -r option;
wenzelm
parents: 2702
diff changeset
    21
  echo "    -p TEXT      pass text (options etc.) to isabelle session"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    22
  echo "    -s BOOL      symbolic font output? (default true)"
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    23
  echo "    -x PRG       executable program (default xterm)"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    24
  echo
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    25
  echo "  Starts Isabelle within an xterm window. CMDLINE is passed"
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    26
  echo "  directly to the isabelle session."
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    27
  echo
7459
173efad74891 usage: tell current OPTIONS value;
wenzelm
parents: 7241
diff changeset
    28
  echo "  ISABELLE_XTERM_OPTIONS=$ISABELLE_XTERM_OPTIONS"
173efad74891 usage: tell current OPTIONS value;
wenzelm
parents: 7241
diff changeset
    29
  echo
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    30
  exit 1
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    31
}
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    32
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    33
function fail()
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    34
{
2344
c3e1eaea4418 added -norc option;
wenzelm
parents: 2315
diff changeset
    35
  echo "$1" >&2
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    36
  exit 2
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    37
}
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    38
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    39
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    40
## process command line
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    41
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    42
# options
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    43
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    44
MAINGEOM="80x60"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    45
HILITE=bold
2712
44a657985de1 removed -r option;
wenzelm
parents: 2702
diff changeset
    46
PASS=""
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    47
PASS_MODE=""
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    48
SYMBOLS="true"
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    49
XTERM="xterm"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    50
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    51
function getoptions()
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    52
{
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    53
  OPTIND=1
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    54
  while getopts "g:h:m:p:s:x:" OPT
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    55
  do
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    56
    case "$OPT" in
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    57
      g)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    58
        MAINGEOM="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    59
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    60
      h)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    61
        HILITE="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    62
        ;;
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    63
      m)
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    64
        PASS_MODE="$PASS_MODE -m$OPTARG"
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    65
        ;;
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    66
      p)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    67
        PASS="$PASS $OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    68
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    69
      s)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    70
        SYMBOLS="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    71
        ;;
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    72
      x)
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    73
        XTERM="$OPTARG"
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    74
        ;;
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    75
      \?)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    76
        usage
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    77
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    78
    esac
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    79
  done
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    80
}
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    81
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    82
getoptions $ISABELLE_XTERM_OPTIONS
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    83
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    84
getoptions "$@"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    85
shift $(($OPTIND - 1))
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    86
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    87
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    88
## main
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    89
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    90
if [ "$HILITE" = bold ]; then
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    91
  PASS="-mxterm $PASS"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    92
elif [ "$HILITE" = color ]; then
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    93
  PASS="-mxterm_color $PASS"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    94
elif [ -n "$HILITE" -a "$HILITE" != false ]; then
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    95
  echo "WARNING: unknown highlight mode '$HILITE'" >&2
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    96
fi
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    97
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    98
PASS="$PASS_MODE $PASS"
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    99
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
   100
if [ -z "$SYMBOLS" -o "$SYMBOLS" = false ]; then
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
   101
  exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -e $ISABELLE $PASS "$@"
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
   102
else
2474
9990f088d7ac minor tuning;
wenzelm
parents: 2430
diff changeset
   103
  $ISATOOL installfonts
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
   104
  exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -fn isabelle14 \
2743
wenzelm
parents: 2713
diff changeset
   105
    -xrm "*fontMenu.Label: Isabelle fonts" \
wenzelm
parents: 2713
diff changeset
   106
    -xrm "*fontMenu*font1*Label: Large" \
2770
5a3224f488db renamed font;
wenzelm
parents: 2743
diff changeset
   107
    -xrm "*VT100*font1: isabelle24" \
2743
wenzelm
parents: 2713
diff changeset
   108
    -xrm "*fontMenu*font2*Label:" \
wenzelm
parents: 2713
diff changeset
   109
    -xrm "*VT100*font2:" \
wenzelm
parents: 2713
diff changeset
   110
    -xrm "*fontMenu*font3*Label:" \
wenzelm
parents: 2713
diff changeset
   111
    -xrm "*VT100*font3:" \
wenzelm
parents: 2713
diff changeset
   112
    -xrm "*fontMenu*font4*Label:" \
wenzelm
parents: 2713
diff changeset
   113
    -xrm "*VT100*font4:" \
wenzelm
parents: 2713
diff changeset
   114
    -xrm "*fontMenu*font5*Label:" \
wenzelm
parents: 2713
diff changeset
   115
    -xrm "*VT100*font5:" \
wenzelm
parents: 2713
diff changeset
   116
    -xrm "*fontMenu*font6*Label:" \
wenzelm
parents: 2713
diff changeset
   117
    -xrm "*VT100*font6:" \
6277
6e64b1cc76f8 -m isabelle_font;
wenzelm
parents: 5965
diff changeset
   118
    -e $ISABELLE -m isabelle_font -m symbols $PASS "$@"
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
   119
fi