lib/scripts/isa-xterm
author wenzelm
Tue, 17 Aug 1999 22:16:21 +0200
changeset 7241 8f3c14d60345
parent 7206 012d8defdaa3
child 7459 173efad74891
permissions -rwxr-xr-x
PASS(_MODE): works better without space (why?);
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
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    28
  exit 1
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    29
}
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    30
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    31
function fail()
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    32
{
2344
c3e1eaea4418 added -norc option;
wenzelm
parents: 2315
diff changeset
    33
  echo "$1" >&2
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    34
  exit 2
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    35
}
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    36
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    37
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    38
## process command line
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    39
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    40
# options
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    41
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    42
MAINGEOM="80x60"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    43
HILITE=bold
2712
44a657985de1 removed -r option;
wenzelm
parents: 2702
diff changeset
    44
PASS=""
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    45
PASS_MODE=""
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    46
SYMBOLS="true"
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    47
XTERM="xterm"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    48
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    49
function getoptions()
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    50
{
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    51
  OPTIND=1
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    52
  while getopts "g:h:m:p:s:x:" OPT
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    53
  do
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    54
    case "$OPT" in
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    55
      g)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    56
        MAINGEOM="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    57
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    58
      h)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    59
        HILITE="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    60
        ;;
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    61
      m)
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    62
        PASS_MODE="$PASS_MODE -m$OPTARG"
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    63
        ;;
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    64
      p)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    65
        PASS="$PASS $OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    66
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    67
      s)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    68
        SYMBOLS="$OPTARG"
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    69
        ;;
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    70
      x)
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    71
        XTERM="$OPTARG"
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    72
        ;;
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    73
      \?)
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    74
        usage
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    75
        ;;
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    76
    esac
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    77
  done
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    78
}
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    79
5965
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    80
getoptions $ISABELLE_XTERM_OPTIONS
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    81
f91212fd2c7c eliminated ISABELLE_INTERFACE_OPTIONS;
wenzelm
parents: 3007
diff changeset
    82
getoptions "$@"
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    83
shift $(($OPTIND - 1))
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    84
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    85
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    86
## main
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
    87
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    88
if [ "$HILITE" = bold ]; then
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    89
  PASS="-mxterm $PASS"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    90
elif [ "$HILITE" = color ]; then
7241
8f3c14d60345 PASS(_MODE): works better without space (why?);
wenzelm
parents: 7206
diff changeset
    91
  PASS="-mxterm_color $PASS"
2788
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    92
elif [ -n "$HILITE" -a "$HILITE" != false ]; then
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    93
  echo "WARNING: unknown highlight mode '$HILITE'" >&2
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    94
fi
0178e3cd9714 tuned comments;
wenzelm
parents: 2770
diff changeset
    95
7206
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    96
PASS="$PASS_MODE $PASS"
012d8defdaa3 -m option;
wenzelm
parents: 6344
diff changeset
    97
2623
6a7372c9ca0f improved interface options;
wenzelm
parents: 2474
diff changeset
    98
if [ -z "$SYMBOLS" -o "$SYMBOLS" = false ]; then
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
    99
  exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -e $ISABELLE $PASS "$@"
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
   100
else
2474
9990f088d7ac minor tuning;
wenzelm
parents: 2430
diff changeset
   101
  $ISATOOL installfonts
6344
9442bc6763f7 -x option;
wenzelm
parents: 6277
diff changeset
   102
  exec $XTERM -T Isabelle -n Isabelle -geometry "$MAINGEOM" -fn isabelle14 \
2743
wenzelm
parents: 2713
diff changeset
   103
    -xrm "*fontMenu.Label: Isabelle fonts" \
wenzelm
parents: 2713
diff changeset
   104
    -xrm "*fontMenu*font1*Label: Large" \
2770
5a3224f488db renamed font;
wenzelm
parents: 2743
diff changeset
   105
    -xrm "*VT100*font1: isabelle24" \
2743
wenzelm
parents: 2713
diff changeset
   106
    -xrm "*fontMenu*font2*Label:" \
wenzelm
parents: 2713
diff changeset
   107
    -xrm "*VT100*font2:" \
wenzelm
parents: 2713
diff changeset
   108
    -xrm "*fontMenu*font3*Label:" \
wenzelm
parents: 2713
diff changeset
   109
    -xrm "*VT100*font3:" \
wenzelm
parents: 2713
diff changeset
   110
    -xrm "*fontMenu*font4*Label:" \
wenzelm
parents: 2713
diff changeset
   111
    -xrm "*VT100*font4:" \
wenzelm
parents: 2713
diff changeset
   112
    -xrm "*fontMenu*font5*Label:" \
wenzelm
parents: 2713
diff changeset
   113
    -xrm "*VT100*font5:" \
wenzelm
parents: 2713
diff changeset
   114
    -xrm "*fontMenu*font6*Label:" \
wenzelm
parents: 2713
diff changeset
   115
    -xrm "*VT100*font6:" \
6277
6e64b1cc76f8 -m isabelle_font;
wenzelm
parents: 5965
diff changeset
   116
    -e $ISABELLE -m isabelle_font -m symbols $PASS "$@"
2300
9af0cf87ac48 isa-xterm: Isabelle within an xterm.
wenzelm
parents:
diff changeset
   117
fi