[comp.sources.x] v08i082: chaos, Part06/10

ken@uunet.UU.NET (Ken Marks (x2425)) (08/21/90)

Submitted-by: balr!panasun!ken@uunet.UU.NET (Ken Marks (x2425))
Posting-number: Volume 8, Issue 82
Archive-name: chaos/part06

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 6 (of 10)."
# Contents:  TODO fonts/chaos-bold.bdf fonts/chaos-norm.bdf
#   master/droneDb.c widgets/DlgShell.c
# Wrapped by ken@panasun on Mon Jul 30 14:59:49 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'TODO' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'TODO'\"
else
echo shar: Extracting \"'TODO'\" \(204 characters\)
sed "s/^X//" >'TODO' <<'END_OF_FILE'
XThings to do:
X
X- Allow the coordinates to be displayed/changed within the Settings dialogbox.
X- Add Julia set expansion.
X- Figure out someway to make mandelbrots look reasonable on monochrome
X  displays.
END_OF_FILE
if test 204 -ne `wc -c <'TODO'`; then
    echo shar: \"'TODO'\" unpacked with wrong size!
fi
# end of 'TODO'
fi
if test -f 'fonts/chaos-bold.bdf' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts/chaos-bold.bdf'\"
else
echo shar: Extracting \"'fonts/chaos-bold.bdf'\" \(13902 characters\)
sed "s/^X//" >'fonts/chaos-bold.bdf' <<'END_OF_FILE'
XSTARTFONT 2.1
XFONT chaos-bold
XSIZE 16 75 75
XFONTBOUNDINGBOX 9 16 0 -4
XSTARTPROPERTIES 3
XFONT_ASCENT 12
XFONT_DESCENT 4
XDEFAULT_CHAR 32
XENDPROPERTIES
XCHARS 122
XSTARTCHAR H01
XENCODING 1
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 4 0 -3
XBITMAP
X08
X1C
X3E
X36
XENDCHAR
XSTARTCHAR H02
XENCODING 2
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -3
XBITMAP
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H07
XENCODING 7
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8080
X8180
X8380
X8780
X8F80
X9F80
X9F80
X8F80
X8780
X8380
X8180
X8080
X8000
X8000
XENDCHAR
XSTARTCHAR H08
XENCODING 8
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X0080
X0080
X0080
X0080
X0080
XFC80
XFC80
XFC80
XFC80
XFC80
XFC80
X0080
X0080
X0080
X0080
X0080
XENDCHAR
XSTARTCHAR H09
XENCODING 9
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8000
X8000
X8000
X9F80
X9F80
X9F80
X9F80
X9F80
X9F80
X8000
X8000
X8000
X8000
X8000
XENDCHAR
XSTARTCHAR H0a
XENCODING 10
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X0080
X0080
X8080
XC080
XE080
XF080
XF880
XFC80
XFC80
XF880
XF080
XE080
XC080
X8080
X0080
X0080
XENDCHAR
XSTARTCHAR H0b
XENCODING 11
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 4 0 2
XBITMAP
XFF80
XFF80
XFF80
XFF80
XENDCHAR
XSTARTCHAR H0c
XENCODING 12
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 12 0 -2
XBITMAP
XFF80
XC000
XA000
X9F80
X9500
X9500
X9500
X9500
X9F80
XA000
XC000
XFF80
XENDCHAR
XSTARTCHAR H0d
XENCODING 13
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 12 0 -2
XBITMAP
XFF80
X0180
X0280
XFC80
X5480
X5480
X5480
X5480
XFC80
X0280
X0180
XFF80
XENDCHAR
XSTARTCHAR H0e
XENCODING 14
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8080
X8180
X8380
X8780
X8F80
X9F80
X8380
X8380
X8380
X8380
X8380
X8000
X8000
XFF80
XENDCHAR
XSTARTCHAR H0f
XENCODING 15
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 15 0 -4
XBITMAP
X8000
XC000
XE000
XF000
XF800
XFC00
XFE00
XF000
XF000
XF000
XF000
XF000
X0000
X0000
XFF80
XENDCHAR
XSTARTCHAR H10
XENCODING 16
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
XFF80
X8000
X8000
X8380
X8380
X8380
X8380
X8380
X9F80
X8F80
X8780
X8380
X8180
X8080
X8000
X8000
XENDCHAR
XSTARTCHAR H11
XENCODING 17
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 15 0 -3
XBITMAP
XFF80
X0000
X0000
XF000
XF000
XF000
XF000
XF000
XFE00
XFC00
XF800
XF000
XE000
XC000
X8000
XENDCHAR
XSTARTCHAR H12
XENCODING 18
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
XENDCHAR
XSTARTCHAR H13
XENCODING 19
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 2 16 0 -4
XBITMAP
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XENDCHAR
XSTARTCHAR H14
XENCODING 20
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X9F80
X9800
X9400
X9380
X9280
X9280
X9280
X9280
X9280
X9280
X9280
X9280
X9380
X9400
X9800
X9F80
XENDCHAR
XSTARTCHAR H15
XENCODING 21
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 16 0 -4
XBITMAP
XFE
X06
X0A
XF2
X52
X52
X52
X52
X52
X52
X52
X52
XF2
X0A
X06
XFE
XENDCHAR
XSTARTCHAR H16
XENCODING 22
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
XFF80
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
XFF80
XENDCHAR
XSTARTCHAR H17
XENCODING 23
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -2
XBITMAP
XF8
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
XF8
XENDCHAR
XSTARTCHAR H18
XENCODING 24
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
XFF80
XC000
XA000
X9000
X8800
X8480
X8300
X8300
X8480
X8800
X9000
XA000
XC000
XFF80
XENDCHAR
XSTARTCHAR H19
XENCODING 25
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -2
XBITMAP
XF8
X18
X28
X48
X88
X08
X08
X08
X08
X88
X48
X28
X18
XF8
XENDCHAR
XSTARTCHAR H1a
XENCODING 26
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
X0780
X1800
X2000
X4000
X4000
X8000
X8000
X8000
X8000
X4000
X4000
X2000
X1800
X0780
XENDCHAR
XSTARTCHAR H1b
XENCODING 27
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 12 0 -1
XBITMAP
XC0
X20
X10
X10
X08
X08
X08
X08
X10
X10
X20
XC0
XENDCHAR
XSTARTCHAR H1c
XENCODING 28
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
X0780
X1800
X2000
X4300
X4F80
X8F80
X9F80
X9F80
X8F80
X4F80
X4300
X2000
X1800
X0780
XENDCHAR
XSTARTCHAR H1d
XENCODING 29
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 12 0 -1
XBITMAP
XC0
X20
X10
X90
X88
XC8
XC8
X88
X90
X10
X20
XC0
XENDCHAR
XSTARTCHAR H1e
XENCODING 30
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 0 0 12
XBITMAP
XENDCHAR
XSTARTCHAR H1f
XENCODING 31
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 9 0 1
XBITMAP
X20
X30
X38
XFC
XFE
XFC
X38
X30
X20
XENDCHAR
XSTARTCHAR H20
XENCODING 32
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 0 0 12
XBITMAP
XENDCHAR
XSTARTCHAR H21
XENCODING 33
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 0
XBITMAP
X18
X18
X18
X18
X18
X18
X18
X00
X18
X18
XENDCHAR
XSTARTCHAR H22
XENCODING 34
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 4 0 6
XBITMAP
X36
X36
X36
X36
XENDCHAR
XSTARTCHAR H23
XENCODING 35
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 10 0 0
XBITMAP
X1B00
X1B00
X1B00
X7F80
X3600
X3600
XFF00
X6C00
X6C00
X6C00
XENDCHAR
XSTARTCHAR H24
XENCODING 36
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 12 0 -1
XBITMAP
X08
X3E
X6B
X6B
X6B
X38
X0E
X6B
X6B
X6B
X3E
X08
XENDCHAR
XSTARTCHAR H25
XENCODING 37
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X76
X96
X9C
XEC
X18
X18
X37
X39
X69
X6E
XENDCHAR
XSTARTCHAR H26
XENCODING 38
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X38
X6C
X6C
X38
X30
X7B
XDE
XCC
XDC
X77
XENDCHAR
XSTARTCHAR H27
XENCODING 39
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 4 0 6
XBITMAP
X0C
X0C
X18
X30
XENDCHAR
XSTARTCHAR H28
XENCODING 40
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X06
X0C
X18
X18
X30
X30
X30
X30
X30
X18
X18
X0C
X06
XENDCHAR
XSTARTCHAR H29
XENCODING 41
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X30
X18
X0C
X0C
X06
X06
X06
X06
X06
X0C
X0C
X18
X30
XENDCHAR
XSTARTCHAR H2a
XENCODING 42
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 2
XBITMAP
X18
X5A
X7E
X3C
X7E
X5A
X18
XENDCHAR
XSTARTCHAR H2b
XENCODING 43
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 8 0 0
XBITMAP
X18
X18
X18
XFF
XFF
X18
X18
X18
XENDCHAR
XSTARTCHAR H2c
XENCODING 44
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 5 0 -3
XBITMAP
X18
X18
X08
X10
X20
XENDCHAR
XSTARTCHAR H2d
XENCODING 45
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 2 0 3
XBITMAP
X7F
X7F
XENDCHAR
XSTARTCHAR H2e
XENCODING 46
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 2 0 0
XBITMAP
X18
X18
XENDCHAR
XSTARTCHAR H2f
XENCODING 47
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 12 0 -1
XBITMAP
X03
X06
X06
X0C
X0C
X18
X18
X30
X30
X60
X60
XC0
XENDCHAR
XSTARTCHAR H30
XENCODING 48
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X67
X67
X6B
X6B
X73
X73
X63
X3E
XENDCHAR
XSTARTCHAR H31
XENCODING 49
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X0C
X1C
X3C
X0C
X0C
X0C
X0C
X0C
X0C
X3F
XENDCHAR
XSTARTCHAR H32
XENCODING 50
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X03
X06
X0C
X18
X30
X61
X7F
XENDCHAR
XSTARTCHAR H33
XENCODING 51
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X03
X1E
X07
X03
X63
X63
X3E
XENDCHAR
XSTARTCHAR H34
XENCODING 52
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X02
X06
X0E
X1E
X36
X66
XC6
XFF
X06
X06
XENDCHAR
XSTARTCHAR H35
XENCODING 53
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X60
X60
X7E
X03
X03
X03
X63
X63
X3E
XENDCHAR
XSTARTCHAR H36
XENCODING 54
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X60
X60
X7E
X63
X63
X63
X63
X3E
XENDCHAR
XSTARTCHAR H37
XENCODING 55
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X43
X43
X06
X06
X0C
X0C
X18
X18
X18
XENDCHAR
XSTARTCHAR H38
XENCODING 56
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X63
X3E
X63
X63
X63
X63
X3E
XENDCHAR
XSTARTCHAR H39
XENCODING 57
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X63
X63
X3F
X03
X03
X63
X3E
XENDCHAR
XSTARTCHAR H3a
XENCODING 58
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 7 0 0
XBITMAP
X18
X18
X00
X00
X00
X18
X18
XENDCHAR
XSTARTCHAR H3b
XENCODING 59
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 -3
XBITMAP
X18
X18
X00
X00
X00
X18
X18
X08
X10
X20
XENDCHAR
XSTARTCHAR H3c
XENCODING 60
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 11 0 0
XBITMAP
X03
X06
X0C
X18
X30
X60
X30
X18
X0C
X06
X03
XENDCHAR
XSTARTCHAR H3d
XENCODING 61
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 6 0 1
XBITMAP
X7F
X7F
X00
X00
X7F
X7F
XENDCHAR
XSTARTCHAR H3e
XENCODING 62
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 11 0 0
XBITMAP
X60
X30
X18
X0C
X06
X03
X06
X0C
X18
X30
X60
XENDCHAR
XSTARTCHAR H3f
XENCODING 63
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X03
X06
X0C
X0C
X00
X0C
X0C
XENDCHAR
XSTARTCHAR H40
XENCODING 64
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X1C
X36
X63
X6F
X6B
X6B
X6E
X60
X33
X1E
XENDCHAR
XSTARTCHAR H41
XENCODING 65
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X08
X1C
X1C
X36
X36
X36
X63
X7F
X63
X63
XENDCHAR
XSTARTCHAR H42
XENCODING 66
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7C
X66
X66
X66
X7C
X66
X63
X63
X63
X7E
XENDCHAR
XSTARTCHAR H43
XENCODING 67
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X60
X60
X60
X60
X63
X63
X3E
XENDCHAR
XSTARTCHAR H44
XENCODING 68
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7C
X66
X63
X63
X63
X63
X63
X63
X66
X7C
XENDCHAR
XSTARTCHAR H45
XENCODING 69
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X60
X60
X60
X7E
X60
X60
X60
X60
X7F
XENDCHAR
XSTARTCHAR H46
XENCODING 70
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X60
X60
X60
X7E
X60
X60
X60
X60
X60
XENDCHAR
XSTARTCHAR H47
XENCODING 71
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X60
X60
X67
X63
X63
X67
X3D
XENDCHAR
XSTARTCHAR H48
XENCODING 72
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X63
X63
X63
X7F
X63
X63
X63
X63
X63
XENDCHAR
XSTARTCHAR H49
XENCODING 73
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X18
X18
X18
X18
X18
X18
X18
X18
X7E
XENDCHAR
XSTARTCHAR H4a
XENCODING 74
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X1F
X06
X06
X06
X06
X06
X06
X66
X66
X3C
XENDCHAR
XSTARTCHAR H4b
XENCODING 75
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X66
X6C
X78
X7C
X6C
X66
X66
X63
X63
XENDCHAR
XSTARTCHAR H4c
XENCODING 76
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X60
X60
X60
X60
X60
X60
X60
X60
X60
X7F
XENDCHAR
XSTARTCHAR H4d
XENCODING 77
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
XC3
XC3
XE7
XE7
XFF
XDB
XDB
XC3
XC3
XC3
XENDCHAR
XSTARTCHAR H4e
XENCODING 78
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X63
X73
X73
X7B
X6B
X6F
X67
X67
X63
XENDCHAR
XSTARTCHAR H4f
XENCODING 79
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X63
X63
X63
X63
X63
X63
X3E
XENDCHAR
XSTARTCHAR H50
XENCODING 80
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7E
X63
X63
X63
X63
X7E
X60
X60
X60
X60
XENDCHAR
XSTARTCHAR H51
XENCODING 81
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 13 0 -3
XBITMAP
X3E
X63
X63
X63
X63
X63
X63
X63
X63
X3E
X18
X0C
X07
XENDCHAR
XSTARTCHAR H52
XENCODING 82
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7E
X63
X63
X63
X7E
X6C
X66
X66
X63
X63
XENDCHAR
XSTARTCHAR H53
XENCODING 83
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X3E
X63
X63
X30
X1C
X06
X03
X63
X63
X3E
XENDCHAR
XSTARTCHAR H54
XENCODING 84
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
XFF
X18
X18
X18
X18
X18
X18
X18
X18
X18
XENDCHAR
XSTARTCHAR H55
XENCODING 85
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X63
X63
X63
X63
X63
X63
X63
X63
X3E
XENDCHAR
XSTARTCHAR H56
XENCODING 86
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X63
X63
X36
X36
X36
X1C
X1C
X08
X08
XENDCHAR
XSTARTCHAR H57
XENCODING 87
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 10 0 0
XBITMAP
XC180
XC980
XC980
XDD80
X5D00
X7700
X7700
X3600
X2200
X2200
XENDCHAR
XSTARTCHAR H58
XENCODING 88
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X63
X63
X36
X36
X1C
X1C
X36
X36
X63
X63
XENDCHAR
XSTARTCHAR H59
XENCODING 89
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
XC3
XC3
X66
X66
X3C
X18
X18
X18
X18
X18
XENDCHAR
XSTARTCHAR H5a
XENCODING 90
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X03
X03
X06
X0C
X18
X30
X60
X60
X7F
XENDCHAR
XSTARTCHAR H5b
XENCODING 91
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X3E
X30
X30
X30
X30
X30
X30
X30
X30
X30
X30
X30
X3E
XENDCHAR
XSTARTCHAR H5c
XENCODING 92
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 12 0 -1
XBITMAP
XC0
X60
X60
X30
X30
X18
X18
X0C
X0C
X06
X06
X03
XENDCHAR
XSTARTCHAR H5d
XENCODING 93
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X3E
X06
X06
X06
X06
X06
X06
X06
X06
X06
X06
X06
X3E
XENDCHAR
XSTARTCHAR H5e
XENCODING 94
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 4 0 6
XBITMAP
X08
X1C
X36
X63
XENDCHAR
XSTARTCHAR H5f
XENCODING 95
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 2 0 -2
XBITMAP
XFF
XFF
XENDCHAR
XSTARTCHAR H60
XENCODING 96
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 4 0 6
XBITMAP
X30
X30
X18
X0C
XENDCHAR
XSTARTCHAR H61
XENCODING 97
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X3C
X66
X06
X3E
X66
X66
X3F
XENDCHAR
XSTARTCHAR H62
XENCODING 98
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X60
X60
X60
X6E
X73
X63
X63
X63
X73
X6E
XENDCHAR
XSTARTCHAR H63
XENCODING 99
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X3E
X63
X60
X60
X60
X63
X3E
XENDCHAR
XSTARTCHAR H64
XENCODING 100
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X03
X03
X03
X3B
X67
X63
X63
X63
X67
X3B
XENDCHAR
XSTARTCHAR H65
XENCODING 101
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X3E
X63
X63
X7F
X60
X63
X3E
XENDCHAR
XSTARTCHAR H66
XENCODING 102
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X0E
X1B
X18
X18
X7E
X18
X18
X18
X18
X18
XENDCHAR
XSTARTCHAR H67
XENCODING 103
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 -3
XBITMAP
X3B
X67
X63
X63
X63
X67
X3B
X03
X63
X3E
XENDCHAR
XSTARTCHAR H68
XENCODING 104
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X60
X60
X60
X6E
X73
X63
X63
X63
X63
X63
XENDCHAR
XSTARTCHAR H69
XENCODING 105
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 10 0 0
XBITMAP
X0C
X0C
X00
X3C
X0C
X0C
X0C
X0C
X0C
X0C
XENDCHAR
XSTARTCHAR H6a
XENCODING 106
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -3
XBITMAP
X06
X06
X00
X1E
X06
X06
X06
X06
X06
X06
X06
X66
X3C
XENDCHAR
XSTARTCHAR H6b
XENCODING 107
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X60
X60
X60
X66
X6C
X78
X78
X6C
X66
X63
XENDCHAR
XSTARTCHAR H6c
XENCODING 108
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 10 0 0
XBITMAP
X3C
X0C
X0C
X0C
X0C
X0C
X0C
X0C
X0C
X0C
XENDCHAR
XSTARTCHAR H6d
XENCODING 109
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
XB6
XDB
XDB
XDB
XDB
XDB
XDB
XENDCHAR
XSTARTCHAR H6e
XENCODING 110
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X5E
X73
X63
X63
X63
X63
X63
XENDCHAR
XSTARTCHAR H6f
XENCODING 111
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X3E
X63
X63
X63
X63
X63
X3E
XENDCHAR
XSTARTCHAR H70
XENCODING 112
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 11 0 -4
XBITMAP
X6E
X73
X63
X63
X63
X73
X6E
X60
X60
X60
X60
XENDCHAR
XSTARTCHAR H71
XENCODING 113
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 11 0 -4
XBITMAP
X3B
X67
X63
X63
X63
X67
X3B
X03
X03
X03
X03
XENDCHAR
XSTARTCHAR H72
XENCODING 114
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X6E
X7B
X60
X60
X60
X60
X60
XENDCHAR
XSTARTCHAR H73
XENCODING 115
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X3E
X63
X60
X3E
X03
X63
X3E
XENDCHAR
XSTARTCHAR H74
XENCODING 116
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X18
X18
X18
X7E
X18
X18
X18
X18
X1B
X0E
XENDCHAR
XSTARTCHAR H75
XENCODING 117
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X63
X63
X63
X63
X63
X67
X3B
XENDCHAR
XSTARTCHAR H76
XENCODING 118
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X63
X63
X36
X36
X1C
X1C
X08
XENDCHAR
XSTARTCHAR H77
XENCODING 119
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
XC3
XC3
XDB
XDB
XDB
XDB
X7E
XENDCHAR
XSTARTCHAR H78
XENCODING 120
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X66
X66
X3C
X18
X3C
X66
X66
XENDCHAR
XSTARTCHAR H79
XENCODING 121
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 11 0 -4
XBITMAP
X63
X63
X33
X36
X16
X1C
X0C
X0C
X48
X78
X30
XENDCHAR
XSTARTCHAR H7a
XENCODING 122
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X7F
X06
X0C
X18
X30
X60
X7F
XENDCHAR
XSTARTCHAR H7b
XENCODING 123
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 13 0 -2
XBITMAP
X0F
X18
X18
X18
X18
X18
X70
X18
X18
X18
X18
X18
X0F
XENDCHAR
XSTARTCHAR H7c
XENCODING 124
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 13 0 -2
XBITMAP
X18
X18
X18
X18
X18
X18
X00
X18
X18
X18
X18
X18
X18
XENDCHAR
XSTARTCHAR H7d
XENCODING 125
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 13 0 -2
XBITMAP
X78
X0C
X0C
X0C
X0C
X0C
X07
X0C
X0C
X0C
X0C
X0C
X78
XENDCHAR
XSTARTCHAR H7e
XENCODING 126
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 3 0 6
XBITMAP
X3B
X7F
X6E
XENDCHAR
XENDFONT
END_OF_FILE
if test 13902 -ne `wc -c <'fonts/chaos-bold.bdf'`; then
    echo shar: \"'fonts/chaos-bold.bdf'\" unpacked with wrong size!
fi
# end of 'fonts/chaos-bold.bdf'
fi
if test -f 'fonts/chaos-norm.bdf' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fonts/chaos-norm.bdf'\"
else
echo shar: Extracting \"'fonts/chaos-norm.bdf'\" \(13846 characters\)
sed "s/^X//" >'fonts/chaos-norm.bdf' <<'END_OF_FILE'
XSTARTFONT 2.1
XFONT chaos-norm
XSIZE 16 75 75
XFONTBOUNDINGBOX 9 16 0 -4
XSTARTPROPERTIES 3
XFONT_ASCENT 12
XFONT_DESCENT 4
XDEFAULT_CHAR 32
XENDPROPERTIES
XCHARS 122
XSTARTCHAR H01
XENCODING 1
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 4 0 -3
XBITMAP
X08
X1C
X3E
X36
XENDCHAR
XSTARTCHAR H02
XENCODING 2
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -3
XBITMAP
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H07
XENCODING 7
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8080
X8180
X8380
X8780
X8F80
X9F80
X9F80
X8F80
X8780
X8380
X8180
X8080
X8000
X8000
XENDCHAR
XSTARTCHAR H08
XENCODING 8
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X0080
X0080
X0080
X0080
X0080
XFC80
XFC80
XFC80
XFC80
XFC80
XFC80
X0080
X0080
X0080
X0080
X0080
XENDCHAR
XSTARTCHAR H09
XENCODING 9
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8000
X8000
X8000
X9F80
X9F80
X9F80
X9F80
X9F80
X9F80
X8000
X8000
X8000
X8000
X8000
XENDCHAR
XSTARTCHAR H0a
XENCODING 10
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X0080
X0080
X8080
XC080
XE080
XF080
XF880
XFC80
XFC80
XF880
XF080
XE080
XC080
X8080
X0080
X0080
XENDCHAR
XSTARTCHAR H0b
XENCODING 11
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 4 0 2
XBITMAP
XFF80
XFF80
XFF80
XFF80
XENDCHAR
XSTARTCHAR H0c
XENCODING 12
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 12 0 -2
XBITMAP
XFF80
XC000
XA000
X9F80
X9500
X9500
X9500
X9500
X9F80
XA000
XC000
XFF80
XENDCHAR
XSTARTCHAR H0d
XENCODING 13
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 12 0 -2
XBITMAP
XFF80
X0180
X0280
XFC80
X5480
X5480
X5480
X5480
XFC80
X0280
X0180
XFF80
XENDCHAR
XSTARTCHAR H0e
XENCODING 14
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8000
X8000
X8080
X8180
X8380
X8780
X8F80
X9F80
X8380
X8380
X8380
X8380
X8380
X8000
X8000
XFF80
XENDCHAR
XSTARTCHAR H0f
XENCODING 15
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 15 0 -4
XBITMAP
X8000
XC000
XE000
XF000
XF800
XFC00
XFE00
XF000
XF000
XF000
XF000
XF000
X0000
X0000
XFF80
XENDCHAR
XSTARTCHAR H10
XENCODING 16
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
XFF80
X8000
X8000
X8380
X8380
X8380
X8380
X8380
X9F80
X8F80
X8780
X8380
X8180
X8080
X8000
X8000
XENDCHAR
XSTARTCHAR H11
XENCODING 17
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 15 0 -3
XBITMAP
XFF80
X0000
X0000
XF000
XF000
XF000
XF000
XF000
XFE00
XFC00
XF800
XF000
XE000
XC000
X8000
XENDCHAR
XSTARTCHAR H12
XENCODING 18
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
X8080
XENDCHAR
XSTARTCHAR H13
XENCODING 19
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 2 16 0 -4
XBITMAP
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XC0
XENDCHAR
XSTARTCHAR H14
XENCODING 20
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 16 0 -4
XBITMAP
X9F80
X9800
X9400
X9380
X9280
X9280
X9280
X9280
X9280
X9280
X9280
X9280
X9380
X9400
X9800
X9F80
XENDCHAR
XSTARTCHAR H15
XENCODING 21
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 16 0 -4
XBITMAP
XFE
X06
X0A
XF2
X52
X52
X52
X52
X52
X52
X52
X52
XF2
X0A
X06
XFE
XENDCHAR
XSTARTCHAR H16
XENCODING 22
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
XFF80
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
X8000
XFF80
XENDCHAR
XSTARTCHAR H17
XENCODING 23
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -2
XBITMAP
XF8
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
X08
XF8
XENDCHAR
XSTARTCHAR H18
XENCODING 24
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
XFF80
XC000
XA000
X9000
X8800
X8480
X8300
X8300
X8480
X8800
X9000
XA000
XC000
XFF80
XENDCHAR
XSTARTCHAR H19
XENCODING 25
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 14 0 -2
XBITMAP
XF8
X18
X28
X48
X88
X08
X08
X08
X08
X88
X48
X28
X18
XF8
XENDCHAR
XSTARTCHAR H1a
XENCODING 26
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
X0780
X1800
X2000
X4000
X4000
X8000
X8000
X8000
X8000
X4000
X4000
X2000
X1800
X0780
XENDCHAR
XSTARTCHAR H1b
XENCODING 27
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 12 0 -1
XBITMAP
XC0
X20
X10
X10
X08
X08
X08
X08
X10
X10
X20
XC0
XENDCHAR
XSTARTCHAR H1c
XENCODING 28
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 14 0 -2
XBITMAP
X0780
X1800
X2000
X4300
X4F80
X8F80
X9F80
X9F80
X8F80
X4F80
X4300
X2000
X1800
X0780
XENDCHAR
XSTARTCHAR H1d
XENCODING 29
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 12 0 -1
XBITMAP
XC0
X20
X10
X90
X88
XC8
XC8
X88
X90
X10
X20
XC0
XENDCHAR
XSTARTCHAR H1e
XENCODING 30
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 0 0 12
XBITMAP
XENDCHAR
XSTARTCHAR H1f
XENCODING 31
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 9 0 1
XBITMAP
X20
X30
X38
XFC
XFE
XFC
X38
X30
X20
XENDCHAR
XSTARTCHAR H20
XENCODING 32
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 0 0 12
XBITMAP
XENDCHAR
XSTARTCHAR H21
XENCODING 33
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 0
XBITMAP
X08
X08
X08
X08
X08
X08
X08
X00
X00
X08
XENDCHAR
XSTARTCHAR H22
XENCODING 34
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 4 0 6
XBITMAP
X24
X24
X24
X24
XENDCHAR
XSTARTCHAR H23
XENCODING 35
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X12
X12
X12
X7F
X24
X24
XFE
X48
X48
X48
XENDCHAR
XSTARTCHAR H24
XENCODING 36
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 12 0 -1
XBITMAP
X08
X1C
X2A
X2A
X28
X18
X0C
X0A
X2A
X2A
X1C
X08
XENDCHAR
XSTARTCHAR H25
XENCODING 37
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X32
X4A
X4C
X34
X08
X08
X16
X19
X29
X26
XENDCHAR
XSTARTCHAR H26
XENCODING 38
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X18
X24
X24
X18
X10
X29
X46
X44
X4C
X33
XENDCHAR
XSTARTCHAR H27
XENCODING 39
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 4 0 6
XBITMAP
X08
X08
X10
X20
XENDCHAR
XSTARTCHAR H28
XENCODING 40
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 13 0 -2
XBITMAP
X04
X08
X10
X10
X20
X20
X20
X20
X20
X10
X10
X08
X04
XENDCHAR
XSTARTCHAR H29
XENCODING 41
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 13 0 -2
XBITMAP
X20
X10
X08
X08
X04
X04
X04
X04
X04
X08
X08
X10
X20
XENDCHAR
XSTARTCHAR H2a
XENCODING 42
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 6 0 3
XBITMAP
X08
X2A
X1C
X1C
X2A
X08
XENDCHAR
XSTARTCHAR H2b
XENCODING 43
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 1
XBITMAP
X08
X08
X08
X7F
X08
X08
X08
XENDCHAR
XSTARTCHAR H2c
XENCODING 44
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 5 0 -3
XBITMAP
X18
X18
X08
X10
X20
XENDCHAR
XSTARTCHAR H2d
XENCODING 45
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 1 0 4
XBITMAP
X7F
XENDCHAR
XSTARTCHAR H2e
XENCODING 46
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 2 0 0
XBITMAP
X18
X18
XENDCHAR
XSTARTCHAR H2f
XENCODING 47
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 12 0 -1
XBITMAP
X01
X02
X02
X04
X04
X08
X08
X10
X10
X20
X20
X40
XENDCHAR
XSTARTCHAR H30
XENCODING 48
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X46
X4A
X52
X62
X42
X42
X3C
XENDCHAR
XSTARTCHAR H31
XENCODING 49
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X08
X18
X28
X08
X08
X08
X08
X08
X08
X3E
XENDCHAR
XSTARTCHAR H32
XENCODING 50
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X02
X04
X08
X10
X20
X40
X7E
XENDCHAR
XSTARTCHAR H33
XENCODING 51
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X02
X1C
X02
X02
X42
X42
X3C
XENDCHAR
XSTARTCHAR H34
XENCODING 52
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X04
X0C
X14
X24
X44
X84
XFE
X04
X04
X04
XENDCHAR
XSTARTCHAR H35
XENCODING 53
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X40
X40
X40
X7C
X02
X02
X42
X42
X3C
XENDCHAR
XSTARTCHAR H36
XENCODING 54
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X40
X40
X7C
X42
X42
X42
X42
X3C
XENDCHAR
XSTARTCHAR H37
XENCODING 55
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X42
X02
X04
X04
X08
X08
X10
X10
X10
XENDCHAR
XSTARTCHAR H38
XENCODING 56
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X42
X3C
X42
X42
X42
X42
X3C
XENDCHAR
XSTARTCHAR H39
XENCODING 57
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X42
X42
X3E
X02
X02
X42
X3C
XENDCHAR
XSTARTCHAR H3a
XENCODING 58
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 7 0 0
XBITMAP
X18
X18
X00
X00
X00
X18
X18
XENDCHAR
XSTARTCHAR H3b
XENCODING 59
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 -3
XBITMAP
X18
X18
X00
X00
X00
X18
X18
X08
X10
X20
XENDCHAR
XSTARTCHAR H3c
XENCODING 60
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 11 0 0
XBITMAP
X02
X04
X08
X10
X20
X40
X20
X10
X08
X04
X02
XENDCHAR
XSTARTCHAR H3d
XENCODING 61
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 5 0 2
XBITMAP
X7F
X00
X00
X00
X7F
XENDCHAR
XSTARTCHAR H3e
XENCODING 62
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 11 0 0
XBITMAP
X40
X20
X10
X08
X04
X02
X04
X08
X10
X20
X40
XENDCHAR
XSTARTCHAR H3f
XENCODING 63
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X02
X04
X08
X08
X00
X00
X08
XENDCHAR
XSTARTCHAR H40
XENCODING 64
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X18
X24
X42
X4E
X52
X52
X4C
X40
X22
X1C
XENDCHAR
XSTARTCHAR H41
XENCODING 65
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X18
X18
X18
X24
X24
X24
X42
X7E
X42
X42
XENDCHAR
XSTARTCHAR H42
XENCODING 66
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X78
X44
X44
X44
X78
X44
X42
X42
X42
X7C
XENDCHAR
XSTARTCHAR H43
XENCODING 67
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X40
X40
X40
X40
X42
X42
X3C
XENDCHAR
XSTARTCHAR H44
XENCODING 68
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X78
X44
X42
X42
X42
X42
X42
X42
X44
X78
XENDCHAR
XSTARTCHAR H45
XENCODING 69
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X40
X40
X40
X7C
X40
X40
X40
X40
X7E
XENDCHAR
XSTARTCHAR H46
XENCODING 70
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X40
X40
X40
X7C
X40
X40
X40
X40
X40
XENDCHAR
XSTARTCHAR H47
XENCODING 71
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X40
X40
X4E
X42
X42
X46
X3A
XENDCHAR
XSTARTCHAR H48
XENCODING 72
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X42
X42
X42
X7E
X42
X42
X42
X42
X42
XENDCHAR
XSTARTCHAR H49
XENCODING 73
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3E
X08
X08
X08
X08
X08
X08
X08
X08
X3E
XENDCHAR
XSTARTCHAR H4a
XENCODING 74
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X1E
X04
X04
X04
X04
X04
X04
X44
X44
X38
XENDCHAR
XSTARTCHAR H4b
XENCODING 75
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X44
X48
X50
X68
X48
X44
X44
X42
X42
XENDCHAR
XSTARTCHAR H4c
XENCODING 76
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X40
X40
X40
X40
X40
X40
X40
X40
X40
X7E
XENDCHAR
XSTARTCHAR H4d
XENCODING 77
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X41
X41
X63
X63
X55
X55
X49
X49
X41
X41
XENDCHAR
XSTARTCHAR H4e
XENCODING 78
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X62
X62
X52
X52
X4A
X4A
X46
X46
X42
XENDCHAR
XSTARTCHAR H4f
XENCODING 79
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X42
X42
X42
X42
X42
X42
X3C
XENDCHAR
XSTARTCHAR H50
XENCODING 80
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7C
X42
X42
X42
X42
X7C
X40
X40
X40
X40
XENDCHAR
XSTARTCHAR H51
XENCODING 81
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -3
XBITMAP
X3C
X42
X42
X42
X42
X42
X42
X42
X42
X3C
X10
X08
X06
XENDCHAR
XSTARTCHAR H52
XENCODING 82
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7C
X42
X42
X42
X7C
X48
X44
X44
X42
X42
XENDCHAR
XSTARTCHAR H53
XENCODING 83
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X3C
X42
X42
X20
X18
X04
X02
X42
X42
X3C
XENDCHAR
XSTARTCHAR H54
XENCODING 84
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X7F
X08
X08
X08
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H55
XENCODING 85
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X42
X42
X42
X42
X42
X42
X42
X42
X3C
XENDCHAR
XSTARTCHAR H56
XENCODING 86
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X42
X42
X42
X24
X24
X24
X18
X18
X18
XENDCHAR
XSTARTCHAR H57
XENCODING 87
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X41
X41
X41
X49
X2A
X2A
X2A
X14
X14
X14
XENDCHAR
XSTARTCHAR H58
XENCODING 88
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X42
X42
X24
X24
X18
X18
X24
X24
X42
X42
XENDCHAR
XSTARTCHAR H59
XENCODING 89
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 10 0 0
XBITMAP
X41
X41
X22
X22
X14
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H5a
XENCODING 90
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X7E
X02
X02
X04
X08
X10
X20
X40
X40
X7E
XENDCHAR
XSTARTCHAR H5b
XENCODING 91
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 13 0 -2
XBITMAP
X3C
X20
X20
X20
X20
X20
X20
X20
X20
X20
X20
X20
X3C
XENDCHAR
XSTARTCHAR H5c
XENCODING 92
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 12 0 -1
XBITMAP
X40
X20
X20
X10
X10
X08
X08
X04
X04
X02
X02
X01
XENDCHAR
XSTARTCHAR H5d
XENCODING 93
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 13 0 -2
XBITMAP
X3C
X04
X04
X04
X04
X04
X04
X04
X04
X04
X04
X04
X3C
XENDCHAR
XSTARTCHAR H5e
XENCODING 94
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 3 0 6
XBITMAP
X18
X24
X42
XENDCHAR
XSTARTCHAR H5f
XENCODING 95
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 9 1 0 -1
XBITMAP
XFF80
XENDCHAR
XSTARTCHAR H60
XENCODING 96
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 4 0 6
XBITMAP
X20
X20
X10
X08
XENDCHAR
XSTARTCHAR H61
XENCODING 97
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X38
X44
X04
X3C
X44
X44
X3A
XENDCHAR
XSTARTCHAR H62
XENCODING 98
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X40
X40
X40
X5C
X62
X42
X42
X42
X62
X5C
XENDCHAR
XSTARTCHAR H63
XENCODING 99
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X3C
X42
X40
X40
X40
X42
X3C
XENDCHAR
XSTARTCHAR H64
XENCODING 100
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X02
X02
X02
X3A
X46
X42
X42
X42
X46
X3A
XENDCHAR
XSTARTCHAR H65
XENCODING 101
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X3C
X42
X42
X7E
X40
X42
X3C
XENDCHAR
XSTARTCHAR H66
XENCODING 102
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X0C
X12
X10
X10
X7C
X10
X10
X10
X10
X10
XENDCHAR
XSTARTCHAR H67
XENCODING 103
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 -3
XBITMAP
X3A
X46
X42
X42
X42
X46
X3A
X02
X42
X3C
XENDCHAR
XSTARTCHAR H68
XENCODING 104
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X40
X40
X40
X5C
X62
X42
X42
X42
X42
X42
XENDCHAR
XSTARTCHAR H69
XENCODING 105
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 0
XBITMAP
X08
X08
X00
X38
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H6a
XENCODING 106
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 6 13 0 -3
XBITMAP
X04
X04
X00
X1C
X04
X04
X04
X04
X04
X04
X04
X44
X38
XENDCHAR
XSTARTCHAR H6b
XENCODING 107
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X40
X40
X40
X44
X48
X50
X70
X48
X44
X42
XENDCHAR
XSTARTCHAR H6c
XENCODING 108
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 10 0 0
XBITMAP
X38
X08
X08
X08
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H6d
XENCODING 109
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X76
X49
X49
X49
X49
X49
X49
XENDCHAR
XSTARTCHAR H6e
XENCODING 110
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X5C
X62
X42
X42
X42
X42
X42
XENDCHAR
XSTARTCHAR H6f
XENCODING 111
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X3C
X42
X42
X42
X42
X42
X3C
XENDCHAR
XSTARTCHAR H70
XENCODING 112
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 11 0 -4
XBITMAP
X5C
X62
X42
X42
X42
X62
X5C
X40
X40
X40
X40
XENDCHAR
XSTARTCHAR H71
XENCODING 113
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 11 0 -4
XBITMAP
X3A
X46
X42
X42
X42
X46
X3A
X02
X02
X02
X02
XENDCHAR
XSTARTCHAR H72
XENCODING 114
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X5C
X62
X40
X40
X40
X40
X40
XENDCHAR
XSTARTCHAR H73
XENCODING 115
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X3C
X42
X40
X3C
X02
X42
X3C
XENDCHAR
XSTARTCHAR H74
XENCODING 116
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 10 0 0
XBITMAP
X10
X10
X10
X7C
X10
X10
X10
X10
X12
X0C
XENDCHAR
XSTARTCHAR H75
XENCODING 117
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X42
X42
X42
X42
X42
X46
X3A
XENDCHAR
XSTARTCHAR H76
XENCODING 118
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X42
X42
X42
X24
X24
X18
X18
XENDCHAR
XSTARTCHAR H77
XENCODING 119
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 8 7 0 0
XBITMAP
X41
X41
X49
X49
X49
X49
X36
XENDCHAR
XSTARTCHAR H78
XENCODING 120
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X42
X42
X24
X18
X24
X42
X42
XENDCHAR
XSTARTCHAR H79
XENCODING 121
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 11 0 -4
XBITMAP
X42
X42
X22
X24
X14
X14
X08
X08
X10
X50
X20
XENDCHAR
XSTARTCHAR H7a
XENCODING 122
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 7 0 0
XBITMAP
X7E
X04
X08
X10
X20
X40
X7E
XENDCHAR
XSTARTCHAR H7b
XENCODING 123
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X0E
X10
X10
X10
X10
X10
X60
X10
X10
X10
X10
X10
X0E
XENDCHAR
XSTARTCHAR H7c
XENCODING 124
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 5 13 0 -2
XBITMAP
X08
X08
X08
X08
X08
X08
X00
X08
X08
X08
X08
X08
X08
XENDCHAR
XSTARTCHAR H7d
XENCODING 125
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 13 0 -2
XBITMAP
X70
X08
X08
X08
X08
X08
X06
X08
X08
X08
X08
X08
X70
XENDCHAR
XSTARTCHAR H7e
XENCODING 126
XSWIDTH 562 0
XDWIDTH 9 0
XBBX 7 3 0 6
XBITMAP
X32
X5A
X4C
XENDCHAR
XENDFONT
END_OF_FILE
if test 13846 -ne `wc -c <'fonts/chaos-norm.bdf'`; then
    echo shar: \"'fonts/chaos-norm.bdf'\" unpacked with wrong size!
fi
# end of 'fonts/chaos-norm.bdf'
fi
if test -f 'master/droneDb.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'master/droneDb.c'\"
else
echo shar: Extracting \"'master/droneDb.c'\" \(13511 characters\)
sed "s/^X//" >'master/droneDb.c' <<'END_OF_FILE'
X/*
X * Copyright (c) Ken W. Marks 1989, 1990.
X */
X
X#include <stdio.h>
X#include <signal.h>
X#include <ctype.h>
X#include <X11/Intrinsic.h>
X#include <X11/StringDefs.h>
X#include <X11/Xaw/Form.h>
X#include <Chaos.h>
X#include <LocalDefs.h>
X#include <Ipc.h>
X#include <DlgShell.h>
X#include <Push.h>
X#include <Compound.h>
X
X#define HOSTS_TOGGLE	widgets[1]
X#define KILL_A_DRONE	widgets[2]
X#define KILL_ALL_DRONES	widgets[3]
X#define SPAWN_DRONES	widgets[4]
X#define DISMISS		widgets[0]
X
X
X#define NUM_CONTROLS	(unsigned) 5
X#define NUM_LABELS	(unsigned) 0
X
Xstatic void DronePushActivate();
Xstatic void DroneToggleActivate();
X
Xstatic Widget form, widgets[NUM_CONTROLS + NUM_LABELS];
Xstatic ToggleItem *host_toggle;
X
Xstatic XtCallbackRec push_callbacks[] = {
X    {DronePushActivate, NULL},
X    {NULL, NULL},
X};
X
Xstatic XtCallbackRec toggle_callbacks[] = {
X    {DroneToggleActivate, NULL},
X    {NULL, NULL},
X};
X
Xstatic Arg PopupArgs[] = {
X    {XtNborderWidth, (XtArgVal) 3},
X};
X
Xstatic Arg PushArgs[] = {
X    {XtNfromHoriz, (XtArgVal) NULL},
X    {XtNfromVert, (XtArgVal) NULL},
X    {XtNhorizDistance, (XtArgVal) 10},
X    {XtNvertDistance, (XtArgVal) 10},
X    {XtNlabel, (XtArgVal) NULL},
X    {XtNdialogbox, (XtArgVal) NULL},
X    {XtNcallback, (XtArgVal) push_callbacks},
X    {XtNresizable, (XtArgVal) False},
X};
X
Xstatic Arg ToggleArgs[] = {
X    {XtNfromHoriz, (XtArgVal) NULL},
X    {XtNfromVert, (XtArgVal) NULL},
X    {XtNhorizDistance, (XtArgVal) 10},
X    {XtNvertDistance, (XtArgVal) 10},
X    {XtNtoggleItems, (XtArgVal) NULL},
X    {XtNdialogbox, (XtArgVal) NULL},
X    {XtNresizable, (XtArgVal) False},
X    {XtNborderWidth, (XtArgVal) 0},
X    {XtNcallback, (XtArgVal) toggle_callbacks},
X    {XtNbuttonType, (XtArgVal) ToggleButton},
X};
X
Xtypedef struct _DroneWindowStruct
X{
X    Window window;
X    struct _HostStruct *back;
X    struct _DroneWindowStruct *next;
X    struct _DroneWindowStruct *prev;
X    struct _DroneWindowStruct *thread_next;
X    struct _DroneWindowStruct *thread_prev;
X} DroneWindowStruct;
X
Xtypedef struct _HostStruct
X{
X    char *name;
X    int num_drones;
X    DroneWindowStruct *drone_list;
X    int index;
X    struct _HostStruct *next;
X    struct _HostStruct *prev;
X} HostStruct;
X
Xstatic DroneWindowStruct *drone_window_list = NULL;
Xstatic HostStruct *host_list = NULL;
Xstatic HostStruct **host_index = NULL;
Xstatic int num_hosts = 0;
Xstatic char hostname[32];	/* max hostname is 31 chars + NULL */
X
X
Xstatic void DroneInsertWindow(host, window)
XHostStruct *host;
XWindow window;
X{
X    DroneWindowStruct *drone_window;
X    DroneWindowStruct *insert;
X
X#ifdef DEBUG
X    dprintf("Inserting drone (window=0x%x) for host '%s'\n", window, 
X      host->name);
X#endif
X
X    host->num_drones++;
X
X    drone_window = (DroneWindowStruct *) malloc(sizeof(DroneWindowStruct));
X    drone_window->window = window;
X    drone_window->back = host;
X    drone_window->next = host->drone_list;
X    drone_window->prev = NULL;
X    if (host->drone_list != NULL)
X	host->drone_list->prev = drone_window;
X    host->drone_list = drone_window;
X
X    /* Note: The next/prev pointers connect the windows for a host while the
X     * thread pointers are used to tie all window structures together. */
X
X    /* Simple insertion sort */
X    if (drone_window_list == NULL || window < drone_window_list->window)
X    {
X	/* Special case for inserting at head */
X	drone_window->thread_next = drone_window_list;
X	drone_window->thread_prev = NULL;
X	if (drone_window_list != NULL)
X	    drone_window_list->thread_prev = drone_window;
X	drone_window_list = drone_window;
X    }
X    else
X    {
X	insert = drone_window_list;
X	while (insert->thread_next != NULL)
X	{
X	    if (window < insert->thread_next->window)
X		break;
X	    insert = insert->thread_next;
X	}
X	drone_window->thread_next = insert->thread_next;
X	insert->thread_next = drone_window;
X	if (drone_window->thread_next != NULL)
X	    drone_window->thread_next->thread_prev = drone_window;
X	drone_window->thread_prev = insert;
X    }
X}
X
X
Xstatic DroneWindowStruct *DroneFindWindow(window)
XWindow window;
X{
X    DroneWindowStruct *drone_window;
X
X    for (drone_window = drone_window_list; drone_window != NULL;
X      drone_window = drone_window->thread_next)
X    {
X	/* Did we find it? */
X	if (drone_window->window == window)
X	    break;
X
X	/* or did we pass by? */
X	if (drone_window->window > window)
X	    return (NULL);
X    }
X    return (drone_window);
X}
X
X
Xstatic void DroneInsertHost(name)
Xchar *name;
X{
X    HostStruct *host;
X    HostStruct *insert;
X
X    ++num_hosts;
X
X    host = (HostStruct *) malloc(sizeof(HostStruct));
X    host->name = name;
X    host->num_drones = 0;
X    host->drone_list = NULL;
X
X    /* Simple insertion sort */
X    if (host_list == NULL || strcmp(name, host_list->name) < 0)
X    {
X	/* Special case for inserting at head */
X	host->next = host_list;
X	host->prev = NULL;
X	host_list = host;
X    }
X    else
X    {
X	insert = host_list;
X	while (insert->next != NULL)
X	{
X	    if (strcmp(name, insert->next->name) < 0)
X		break;
X	    insert = insert->next;
X	}
X	host->next = insert->next;
X	insert->next = host;
X	if (host->next != NULL)
X	    host->next->prev = host;
X	host->prev = insert;
X    }
X}
X
X
Xstatic HostStruct *DroneFindHost(name)
Xchar *name;
X{
X    HostStruct *host;
X    int result;
X
X    for (host = host_list; host != NULL; host = host->next)
X    {
X	result = strcmp(host->name, name);
X
X	/* Did we find it? */
X	if (result == 0)
X	    break;
X
X	/* or did we pass by? */
X	if (result > 0)
X	    return (NULL);
X    }
X    return (host);
X}
X
X
Xstatic void DroneInitializeHosts()
X{
X    int ii;
X    char *name;
X    HostStruct *host;
X    extern char *hosts;
X    extern char *strtok();
X
X    name = strtok(hosts, " \t");
X    (void) gethostname(hostname, 32);
X
X    while (name != NULL)
X    {
X	DroneInsertHost(name);
X	name = strtok((char *) NULL, " \t");
X    }
X
X    host = DroneFindHost(hostname);
X
X    if (host == NULL)
X	/* Add our hostname to the list */
X	DroneInsertHost(hostname);
X
X    host_index = (HostStruct **) malloc((unsigned) (sizeof(HostStruct *) *
X	(num_hosts + 1)));
X
X    host_toggle = (ToggleItem *) malloc((unsigned) (sizeof(ToggleItem) *
X	(num_hosts + 2)));
X    host_toggle[num_hosts + 1].label = NULL;
X    host_toggle[num_hosts + 1].state = NULL;
X
X    host_toggle[0].label = " All Hosts";
X    host_toggle[0].state = False;
X
X    for (host = host_list, ii = 1; host != NULL; host = host->next, ++ii)
X    {
X	host_index[ii] = host;
X	host->index = ii;
X	host_toggle[ii].label = (String) malloc(37);	/* max hostname + 6 */
X	(void) sprintf(host_toggle[ii].label, " (0) %s", host->name);
X	host_toggle[ii].state = False;
X    }
X}
X
X
Xstatic void DroneSpawn(name)
Xchar *name;
X{
X    extern Widget top_level;
X    char *display_name = DisplayString(XtDisplay(top_level));
X    char host_display_name[64];
X    Boolean exec_local_drone = True;
X    char *strchr();
X    extern char *drone_path;
X
X    if (strcmp(name, hostname) != 0)
X    {
X	exec_local_drone = False;
X
X	/* Cheap and sleazy way of constructing hostname:display:screen from
X	 * unix:display:screen */
X	(void) sprintf(host_display_name, "%s%s", hostname,
X	  strchr(display_name, ':'));
X    }
X
X    if (vfork() == 0)
X    {
X	if (exec_local_drone)
X	    execlp(drone_path, "drone", "-display", display_name, (char *) 0);
X	else
X	    execlp("rsh", "rsh", name, drone_path, "drone", "-display",
X	      host_display_name, (char *) 0);
X
X	eprintf("Could not exec drone process!\n");
X	_exit(1);
X    }
X}
X
X
Xstatic void DroneTerminate(host, zap_all)
XHostStruct *host;
XBoolean zap_all;
X{
X    TerminateRequest req;
X    DroneWindowStruct *drone_window;
X
X    if (host->num_drones == 0)
X	return;
X
X    req.byte_order = 0x11223344;
X    req.type = TERMINATE_REQUEST;
X
X    drone_window = host->drone_list;
X
X    if (zap_all)
X	while (drone_window != NULL)
X	{
X	    if (SendMsg(drone_window->window,
X		(unsigned) sizeof(TerminateRequest), (char *) &req) == False)
X		eprintf("Error sending TerminateRequest to drone 0x%x\n",
X		  drone_window->window);
X
X	    drone_window = drone_window->next;
X	}
X    else if (SendMsg(drone_window->window, (unsigned) sizeof(TerminateRequest),
X      (char *) &req) == False)
X	eprintf("Error sending TerminateRequest to drone 0x%x\n",
X	  drone_window->window);
X}
X
X
X/*ARGSUSED*/
Xstatic void DronePushActivate(widget, client_data, call_data)
XWidget widget;
Xcaddr_t client_data;
Xcaddr_t call_data;
X{
X    extern Widget drone_dialogbox;
X    int ii;
X
X    if (widget == DISMISS)
X	DialogPopdown(drone_dialogbox);
X    else
X	for (ii = 1; ii <= num_hosts; ++ii)
X	    if (host_toggle[ii].state == True)
X		if (widget == SPAWN_DRONES)
X		    DroneSpawn(host_index[ii]->name);
X		else if (widget == KILL_A_DRONE)
X		    DroneTerminate(host_index[ii], False);
X		else if (widget == KILL_ALL_DRONES)
X		    DroneTerminate(host_index[ii], True);
X}
X
X
X/*ARGSUSED*/
Xstatic void DroneToggleActivate(widget, client_data, call_data)
XWidget widget;
Xcaddr_t client_data;
Xcaddr_t call_data;
X{
X    int item = (int) call_data;
X    Boolean new_state;
X    int ii;
X
X    if (item == 0)
X    {
X	/* "All Hosts" toggled */
X	new_state = !host_toggle[0].state;
X	host_toggle[0].state = new_state;
X
X	/* Change all hosts to agree with "All Hosts" item */
X	for (ii = 1; ii <= num_hosts; ++ii)
X	{
X	    ToggleChangeState(HOSTS_TOGGLE, (unsigned int) ii, new_state);
X	    host_toggle[ii].state = new_state;
X	}
X    }
X    else
X    {
X	/* Keep our notion of the current states up to date */
X	host_toggle[item].state = !host_toggle[item].state;
X    }
X}
X
X
Xvoid DroneRegister(window, name)
XWindow window;
Xchar *name;
X{
X    HostStruct *host = DroneFindHost(name);
X    char new_label[37];
X    extern void CleanupAndDie();
X
X    if (host == NULL)
X    {
X	/* A drone has been started on a host we didn't know about */
X	eprintf("Drone initiated from host '%s' which is not a recognized host\n");
X	CleanupAndDie();
X    }
X
X    DroneInsertWindow(host, window);
X
X    /* Change the label in the dialogbox to reflect the new count */
X    if (host->num_drones > 9)
X	(void) sprintf(new_label, "(%d) %s", host->num_drones, host->name);
X    else
X	(void) sprintf(new_label, " (%d) %s", host->num_drones, host->name);
X
X    (void) CompoundChangeLabel(HOSTS_TOGGLE, (unsigned int) host->index,
X      new_label);
X}
X
X
Xvoid DroneUnregister(window)
XWindow window;
X{
X    DroneWindowStruct *drone_window;
X    HostStruct *host;
X    char new_label[37];
X
X    drone_window = DroneFindWindow(window);
X    host = drone_window->back;
X
X    /* Disconnect the drone window structure from the host chain */
X    if (drone_window == host->drone_list)
X    {
X	host->drone_list = drone_window->next;
X	if (host->drone_list != NULL)
X	    host->drone_list->prev = NULL;
X    }
X    else
X    {
X	if (drone_window->next != NULL)
X	    drone_window->next->prev = drone_window->prev;
X	drone_window->prev->next = drone_window->next;
X    }
X
X    /* Disconnect the drone window structure from the drone window chain */
X    if (drone_window == drone_window_list)
X    {
X	drone_window_list = drone_window->thread_next;
X	if (drone_window_list != NULL)
X	    drone_window_list->thread_prev = NULL;
X    }
X    else
X    {
X	if (drone_window->thread_next != NULL)
X	    drone_window->thread_next->thread_prev = drone_window->thread_prev;
X	drone_window->thread_prev->thread_next = drone_window->thread_next;
X    }
X
X    free((char *) drone_window);
X
X    host->num_drones--;
X
X    /* Change the label in the dialogbox to reflect the new count */
X    if (host->num_drones > 9)
X	(void) sprintf(new_label, "(%d) %s", host->num_drones, host->name);
X    else
X	(void) sprintf(new_label, " (%d) %s", host->num_drones, host->name);
X
X    (void) CompoundChangeLabel(HOSTS_TOGGLE, (unsigned int) host->index,
X      new_label);
X}
X
X
XWidget DroneCreateDialogbox(parent)
XWidget parent;
X{
X    Widget popup;
X
X    popup = XtCreatePopupShell("drone_dialogbox_popup",
X      dialogShellWidgetClass, parent, PopupArgs, XtNumber(PopupArgs));
X
X    form = XtCreateManagedWidget("drone_dialogbox_form", formWidgetClass,
X      popup, (ArgList) NULL, (Cardinal) 0);
X
X    DroneInitializeHosts();
X
X    ToggleArgs[0].value = (XtArgVal) NULL;
X    ToggleArgs[1].value = (XtArgVal) NULL;
X    ToggleArgs[4].value = (XtArgVal) host_toggle;
X    ToggleArgs[5].value = (XtArgVal) popup;
X    HOSTS_TOGGLE = XtCreateManagedWidget("hosts_toggle", compoundWidgetClass,
X      form, ToggleArgs, XtNumber(ToggleArgs));
X
X    PushArgs[0].value = (XtArgVal) NULL;
X    PushArgs[1].value = (XtArgVal) HOSTS_TOGGLE;
X    PushArgs[4].value = (XtArgVal) "Kill Drones";
X    PushArgs[5].value = (XtArgVal) popup;
X    KILL_A_DRONE = XtCreateManagedWidget("kill_a_drone_push", pushWidgetClass,
X      form, PushArgs, XtNumber(PushArgs));
X
X    PushArgs[0].value = (XtArgVal) NULL;
X    PushArgs[1].value = (XtArgVal) KILL_A_DRONE;
X    PushArgs[4].value = (XtArgVal) "Kill All Drones";
X    PushArgs[5].value = (XtArgVal) popup;
X    KILL_ALL_DRONES = XtCreateManagedWidget("kill_all_drones_push",
X      pushWidgetClass, form, PushArgs, XtNumber(PushArgs));
X
X    PushArgs[0].value = (XtArgVal) KILL_ALL_DRONES;
X    PushArgs[1].value = (XtArgVal) HOSTS_TOGGLE;
X    PushArgs[4].value = (XtArgVal) "Spawn Drones";
X    PushArgs[5].value = (XtArgVal) popup;
X    SPAWN_DRONES = XtCreateManagedWidget("spawn_drones_push", pushWidgetClass,
X      form, PushArgs, XtNumber(PushArgs));
X
X    PushArgs[0].value = (XtArgVal) KILL_ALL_DRONES;
X    PushArgs[1].value = (XtArgVal) SPAWN_DRONES;
X    PushArgs[4].value = (XtArgVal) "Dismiss";
X    PushArgs[5].value = (XtArgVal) popup;
X    DISMISS = XtCreateManagedWidget("dismiss_push", pushWidgetClass,
X      form, PushArgs, XtNumber(PushArgs));
X
X    DialogSetFocusOrder(popup, widgets, NUM_CONTROLS);
X
X    return (popup);
X}
END_OF_FILE
if test 13511 -ne `wc -c <'master/droneDb.c'`; then
    echo shar: \"'master/droneDb.c'\" unpacked with wrong size!
fi
# end of 'master/droneDb.c'
fi
if test -f 'widgets/DlgShell.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'widgets/DlgShell.c'\"
else
echo shar: Extracting \"'widgets/DlgShell.c'\" \(10003 characters\)
sed "s/^X//" >'widgets/DlgShell.c' <<'END_OF_FILE'
X/*
X * Copyright (c) Ken W. Marks 1989, 1990.
X */
X
X#include <stdio.h>
X#include <X11/IntrinsicP.h>
X#include <X11/cursorfont.h>
X#include <X11/StringDefs.h>
X#include <X11/Shell.h>
X#include <X11/ShellP.h>
X#include <Chaos.h>
X#include <LocalDefs.h>
X#include <DlgShellP.h>
X
X/* For debugging purposes, set allow_grabs to False.  This disallows
X * pointer and keyboard grabs so that dialogbox code may be debugged
X * (breakpointed) without the possibility of interrupting the client
X * during a grab (rendering the workstation about as useful as a large
X * paperweight or perhaps a small end table). */
X
Xstatic allow_grabs = True;
X
X#define FOCUSED_WIDGET(w) \
X	((w)->dialogshell.controls[(w)->dialogshell.current_focus])
X
X#define GRAB_FOCUS(dpy, w) \
X	XUngrabKeyboard((dpy), CurrentTime); \
X	XGrabKeyboard((dpy), XtWindow(FOCUSED_WIDGET(w)), False, \
X	  GrabModeAsync, GrabModeAsync, CurrentTime)
X
X#define TOP_DIALOGBOX		(dialog_stack[num_used - 1])
X#define BOX_VISIBLE		(num_used > 0)
X
X#define UnspecifiedPixmap 	2
X#define ALLOC_COUNT		10
X
Xstatic Pixmap defaultPixmap = NULL;
Xstatic Widget *dialog_stack = NULL;
Xstatic int num_allocated = 0;
Xstatic int num_used = 0;
X
X
X#define offset(field) XtOffset(DialogShellWidget, dialogshell.field)
X#define goffset(field) XtOffset(Widget,core.field)
X
Xstatic XtResource resources[] = {
X    {XtNborderWidth, XtCBorderWidth, XtRDimension, sizeof(Dimension),
X    goffset(border_width), XtRImmediate, (caddr_t) 4},
X    {XtNunfocusedBorder, XtCUnfocused, XtRPixmap, sizeof(Pixmap),
X    offset(unfocused_border), XtRPixmap, (caddr_t) & defaultPixmap},
X    {XtNcursor, XtCCursor, XtRCursor, sizeof(Cursor),
X    offset(cursor), XtRString, "arrow"},
X};
X
X#undef offset
X#undef goffset
X
Xstatic void DialogInitialize(), DialogIgnore();
X
Xstatic XtActionsRec dialog_actions[] =
X{
X    /* {name, procedure}, */
X    {"ignore", DialogIgnore},
X};
X
Xstatic char dialog_translations[] =
X"<Key>:         ignore()\n\
X <BtnDown>:     ignore()\n\
X";
X
X
X#define superclass		(&overrideShellClassRec)
X
XDialogShellClassRec dialogShellClassRec = {
X    {
X	/* core fields */
X	 /* superclass 		 */ (WidgetClass) superclass,
X	 /* class_name 		 */ "DialogShell",
X	 /* widget_size	 	 */ sizeof(DialogShellRec),
X	 /* class_initialize	 */ NULL,
X	 /* class_part_initialize */ NULL,
X	 /* class_inited	 */ FALSE,
X	 /* initialize		 */ DialogInitialize,
X	 /* initialize_hook	 */ NULL,
X	 /* realize		 */ XtInheritRealize,
X	 /* actions		 */ dialog_actions,
X	 /* num_actions		 */ XtNumber(dialog_actions),
X	 /* resources		 */ resources,
X	 /* num_resources	 */ XtNumber(resources),
X	 /* xrm_class		 */ NULLQUARK,
X	 /* compress_motion	 */ FALSE,
X	 /* compress_exposure	 */ TRUE,
X	 /* compress_enterleave	 */ FALSE,
X	 /* visible_interest	 */ FALSE,
X	 /* destroy		 */ NULL,
X	 /* resize		 */ XtInheritResize,
X	 /* expose		 */ NULL,
X	 /* set_values		 */ NULL,
X	 /* set_values_hook	 */ NULL,
X	 /* set_values_almost	 */ XtInheritSetValuesAlmost,
X	 /* get_values_hook	 */ NULL,
X	 /* accept_focus	 */ NULL,
X	 /* version		 */ XtVersion,
X	 /* callback_private	 */ NULL,
X	 /* tm_table		 */ dialog_translations,
X	 /* query_geometry	 */ NULL,
X	 /* display_accelerator	 */ NULL,
X	 /* extension		 */ NULL
X    },
X    {
X	/* composite fields */
X	 /* geometry_manager 	 */ XtInheritGeometryManager,
X	 /* change_managed   	 */ XtInheritChangeManaged,
X	 /* insert_child     	 */ XtInheritInsertChild,
X	 /* delete_child     	 */ XtInheritDeleteChild,
X	 /* extension         	 */ NULL
X    },
X    {
X	/* shell fields */
X	 /* empty 		 */ NULL
X    },
X    {
X	/* override shell fields */
X	 /* empty 		 */ NULL
X    },
X    {
X	/* dialogshell fields */
X	 /* empty 		 */ NULL
X    }
X};
X
XWidgetClass dialogShellWidgetClass = (WidgetClass) & dialogShellClassRec;
X
X
X/************************************************************/
X/******************** Private Procedures ********************/
X/************************************************************/
X
X
X/* ARGSUSED */
Xstatic void DialogInitialize(request, new)
XWidget request;
XWidget new;
X{
X    DialogShellWidget w = (DialogShellWidget) new;
X
X    if (w->core.border_pixmap != UnspecifiedPixmap)
X	XtFree(w->core.border_pixmap);
X
X    w->core.border_pixmap = XmuCreateStippledPixmap(XtScreen(w),
X      w->core.border_pixel, w->core.background_pixel, w->core.depth);
X
X    w->dialogshell.controls = NULL;
X    w->dialogshell.num_controls = 0;
X    w->dialogshell.current_focus = 0;
X}
X
X
Xstatic void DialogSetFocusedBorder(widget)
XWidget widget;
X{
X    if (XtIsRealized(widget))
X    {
X	XSetWindowBorder(XtDisplay(widget), XtWindow(widget),
X	  widget->core.border_pixel);
X    }
X}
X
X
Xstatic void DialogSetUnfocusedBorder(widget)
XWidget widget;
X{
X    if (XtIsRealized(widget))
X    {
X	XSetWindowBorderPixmap(XtDisplay(widget), XtWindow(widget),
X	  widget->core.border_pixmap);
X    }
X}
X
X
Xstatic void DialogCenterBox(widget)
XWidget widget;
X{
X    Screen *screen = XtScreen(widget);
X    Position x, y;
X
X    x = (WidthOfScreen(screen) - widget->core.width) / 2;
X    y = (HeightOfScreen(screen) - widget->core.height) / 2;
X
X    XtMoveWidget(widget, x, y);
X}
X
X
Xstatic void DialogPushStack(widget)
XWidget widget;
X{
X    extern char *malloc(), *realloc();
X
X    if (num_used == num_allocated)
X    {
X	num_allocated += ALLOC_COUNT;
X	if (num_allocated == ALLOC_COUNT)
X	    dialog_stack = (Widget *) malloc(num_allocated * sizeof(widget));
X	else
X	    dialog_stack = (Widget *) realloc(dialog_stack, num_allocated *
X	      sizeof(widget));
X    }
X    dialog_stack[num_used++] = widget;
X}
X
X
Xstatic void DialogPopStack()
X{
X    if (--num_used < 0)
X    {
X	(void) fprintf(stderr, "DialogPopStack: stack empty!\n");
X	abort();
X    }
X}
X
X
X/***********************************************************/
X/******************** Action Procedures ********************/
X/***********************************************************/
X
X
X/* ARGSUSED */
Xstatic void DialogIgnore(w, event, params, num_params)
XWidget w;			/* unused */
XXEvent *event;			/* unused */
XString *params;			/* unused */
XCardinal *num_params;		/* unused */
X{
X}
X
X
X/***********************************************************/
X/******************** Public Procedures ********************/
X/***********************************************************/
X
X
Xvoid DialogPopup(widget)
XWidget widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X    Display *dpy = XtDisplay(widget);
X    Window window;
X    XSetWindowAttributes attributes;
X    extern Colormap colormap;
X    extern Widget top_level;
X
X    XtRealizeWidget(widget);
X    if (BOX_VISIBLE)
X	DialogSetUnfocusedBorder(TOP_DIALOGBOX);
X    DialogSetFocusedBorder(widget);
X    DialogCenterBox(widget);
X    window = XtWindow(widget);
X    attributes.colormap = colormap;
X    XChangeWindowAttributes(dpy, window, CWColormap, &attributes);
X    if (allow_grabs)
X    {
X	DialogChangeGrab(widget, w->dialogshell.cursor);
X	XtAddGrab(widget, True, False);
X    }
X    XMapRaised(dpy, window);
X    XtSetKeyboardFocus(top_level, widget);
X    DialogSetFirstFocus(widget);
X    DialogPushStack(widget);
X}
X
X
Xvoid DialogPopdown(widget)
XWidget widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X    Display *dpy = XtDisplay(widget);
X    extern Widget top_level, canvas;
X
X    DialogPopStack();
X
X    if (allow_grabs)
X	XtRemoveGrab(widget);
X
X    if (BOX_VISIBLE)
X    {
X	if (allow_grabs)
X	    /* We should probably use the cursor from TOP_DIALOGBOX */
X	    DialogChangeGrab(TOP_DIALOGBOX, w->dialogshell.cursor);
X
X	XtUnmapWidget(widget);
X	DialogSetFocusedBorder(TOP_DIALOGBOX);
X	DialogSetFirstFocus(TOP_DIALOGBOX);
X	XtSetKeyboardFocus(top_level, TOP_DIALOGBOX);
X    }
X    else
X    {
X	XUngrabPointer(dpy, CurrentTime);
X	XUngrabKeyboard(dpy, CurrentTime);
X	XtUnmapWidget(widget);
X	XtSetKeyboardFocus(top_level, canvas);
X    }
X}
X
X
Xvoid DialogSetFocusOrder(widget, controls, num_controls)
XWidget widget;
XWidget *controls;
XCardinal num_controls;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X
X    if (w->dialogshell.num_controls != 0 && w->dialogshell.controls != NULL)
X	free(w->dialogshell.controls);
X
X    w->dialogshell.controls = (Widget *) COPY(controls, num_controls *
X      sizeof(Widget));
X    w->dialogshell.num_controls = num_controls;
X}
X
X
Xvoid DialogSetFirstFocus(widget)
XWidget widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X
X    w->dialogshell.current_focus = 0;
X
X    if (allow_grabs)
X	GRAB_FOCUS(XtDisplay(w), w);
X}
X
X
Xvoid DialogSetNewFocus(widget, new_focus_widget)
XWidget widget;
XWidget new_focus_widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X    Cardinal ii;
X
X    for (ii = 0; ii < w->dialogshell.num_controls; ++ii)
X	if (w->dialogshell.controls[ii] == new_focus_widget)
X	{
X	    if (w->dialogshell.current_focus != ii)
X	    {
X		w->dialogshell.current_focus = ii;
X
X		if (allow_grabs)
X		    GRAB_FOCUS(XtDisplay(w), w);
X	    }
X	    return;
X	}
X    fprintf(stderr, "DialogSetNewFocus: widget 0x%x not found\n",
X      new_focus_widget);
X    abort();
X}
X
X
Xvoid DialogSetPrevFocus(widget)
XWidget widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X
X    if (--(w->dialogshell.current_focus) < 0)
X	w->dialogshell.current_focus = w->dialogshell.num_controls - 1;
X
X    if (allow_grabs)
X	GRAB_FOCUS(XtDisplay(w), w);
X}
X
X
Xvoid DialogSetNextFocus(widget)
XWidget widget;
X{
X    DialogShellWidget w = (DialogShellWidget) widget;
X
X    if (++(w->dialogshell.current_focus) == w->dialogshell.num_controls)
X	w->dialogshell.current_focus = 0;
X
X    if (allow_grabs)
X	GRAB_FOCUS(XtDisplay(w), w);
X}
X
Xvoid DialogChangeGrab(widget, cursor)
XWidget widget;
XCursor cursor;
X{
X    Display *dpy = XtDisplay(widget);
X    extern Widget top_level;
X
X    if (allow_grabs == False)
X	return;
X
X    /* first grab on the top level window */
X    XGrabPointer(dpy, XtWindow(top_level), True, 0, GrabModeAsync,
X      GrabModeAsync, None, cursor, CurrentTime);
X
X    /* then transfer the grab to the dialogbox */
X    XGrabPointer(dpy, XtWindow(widget), True, ButtonPressMask |
X      ButtonReleaseMask | ButtonMotionMask | EnterWindowMask | LeaveWindowMask,
X      GrabModeAsync, GrabModeAsync, None, cursor, CurrentTime);
X}
END_OF_FILE
if test 10003 -ne `wc -c <'widgets/DlgShell.c'`; then
    echo shar: \"'widgets/DlgShell.c'\" unpacked with wrong size!
fi
# end of 'widgets/DlgShell.c'
fi
echo shar: End of archive 6 \(of 10\).
cp /dev/null ark6isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 10 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

dan
----------------------------------------------------
O'Reilly && Associates   argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.