[Pkg-wmaker-commits] [fookb] 01/07: Import Upstream version 2.21

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sat Sep 2 14:53:36 UTC 2017


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository fookb.

commit 8461d6f8535fe13e9f58bee970a6c6ae03208582
Author: Doug Torrance <dtorrance at piedmont.edu>
Date:   Sat Sep 2 10:50:41 2017 -0400

    Import Upstream version 2.21
---
 1.xpm           |  148 ++++
 2.xpm           |  152 ++++
 3.xpm           |  152 ++++
 4.xpm           |  148 ++++
 INSTALL         |   74 ++
 LICENSE         |  135 ++++
 Makefile.in     |   65 ++
 README          |    7 +
 README.russian  |    7 +
 TODO            |    5 +
 VERSION         |   51 ++
 beep_spring.au  |  Bin 0 -> 8612 bytes
 boom.xpm        |  158 ++++
 build-stamp     |    0
 configure       | 2274 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.in    |   59 ++
 copyright       |    6 +
 fookb-plainx.1x |  145 ++++
 fookb-wmaker.1x |  145 ++++
 fookb.1x        |  145 ++++
 fookb.c         |  286 +++++++
 fookb.cf        |   11 +
 fookb.h         |   19 +
 fookb.resources |    7 +
 globals.c       |   23 +
 images.c        |  138 ++++
 images.h        |   16 +
 lat.xpm         |  301 ++++++++
 opts.c          |  115 +++
 opts.h          |   33 +
 params.c        |   92 +++
 params.h        |   27 +
 rus.xpm         |  310 ++++++++
 sound.c         |   50 ++
 sound.h         |   14 +
 xrmdb.h         |    7 +
 36 files changed, 5325 insertions(+)

diff --git a/1.xpm b/1.xpm
new file mode 100644
index 0000000..c764bc0
--- /dev/null
+++ b/1.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 94 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2f2f",
+"x  c #fd4242",
+"c  c #fd6262",
+"v  c #fd7171",
+"b  c #8571f9",
+"n  c #868282",
+"m  c #8c8787",
+"M  c #8f8a8a",
+"N  c #948f8f",
+"B  c #979292",
+"V  c #9b9595",
+"C  c #9f9a9a",
+"Z  c #a59f9f",
+"A  c #a7a1a1",
+"S  c #aaa4a4",
+"D  c #aea8a8",
+"F  c #b5aeae",
+"G  c #beb7b7",
+"H  c #9080e4",
+"J  c #9785f8",
+"K  c #9d8bf8",
+"L  c #a493f7",
+"P  c #a594f8",
+"I  c #aa9af8",
+"U  c #b3a3f7",
+"Y  c #c6bfbf",
+"T  c #fd8585",
+"R  c #fd9494",
+"E  c #fdb4b4",
+"W  c #c2b4f7",
+"Q  c #c0c0c0",
+"!  c #cec7c7",
+"~  c #d7cfcf",
+"^  c #dfd7d7",
+"/  c #d4c7f6",
+"(  c #e7dede",
+")  c #fec7c7",
+"_  c #e2d6f6",
+"`  c #eee6e6",
+"'  c #efe5f5",
+"]  c #f7efef",
+"[  c #fee6e6",
+"{  c #f8efef",
+"}  c #f0e6f5",
+"|  c #fef5f5",
+" . c Gray100",
+".. c None",
+/* pixels */
+"S Y ~ ^ ( ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | |  . . . .] ( ",
+"N A G ..^ ]  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .^ ! ",
+"7 N Z F G Y ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ^ ( ( ! Y G ",
+"2 8 N C A F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G F F G F D ",
+", 3 j M ! ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ~ Z S Z Z ",
+": 1 6 N ^ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ( A C C V ",
+": < 4 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( A V V B ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B B ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | | [ R x k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | E T c z k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | T T T c k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 2 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | R k k k k v | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 N ^ ] | | | | | | | | | | | | | x x x l k k k k k z x x ) | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | / f e / | | | | | | | | | | | | | p h | | | | | | J u | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | W u d P | | | | | | | | | | | | | P e U | | | | | ' u h | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e W | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | h u } | | | | | | | | | | | | | | / e J | | | | | _ e i | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | u h W U I J u | | | | U a i | | | J e _ / d d | | h e J P i d | ] ( Z B B N ",
+": , 3 M ^ ] | | / u e e i J K u d b | | P e a a b | | d a _ u J _ | | e e a d d e | ] ( Z B B N ",
+": , 3 M ^ ] | | | h e _ | } i J J e | } i i } J e | | e b a b | | | U e u U | f a | ] ( Z N V N ",
+": , 2 N ^ ] | | | f a | | J e } h i | J e W | d i | W e a u } | | | b e / | P e L | ] ( Z B B N ",
+": , 3 M ^ ] | | | u b | | i a } u J | i a | W e J | J e e u } | | P p h | P e h | | ] ( Z B B N ",
+": , 3 M ^ ] | | _ e U | | e a h d | | e a U u h | | d i _ a a W h h e d f e h | | | ] ( Z N B N ",
+"- , 2 m ^ ] | | L e ' | | b u b ' | | b e d U | | | u J | _ i i J | b u d L | | | | ] ^ C N N N ",
+"- > 1 j ~ ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ^ B M M M ",
+"% : , 1 G ~ ^ ^ y H ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ~ G 8 j n n ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/2.xpm b/2.xpm
new file mode 100644
index 0000000..3668290
--- /dev/null
+++ b/2.xpm
@@ -0,0 +1,152 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 98 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fc2f2f",
+"c  c #fd4242",
+"v  c #fd5252",
+"b  c #fd6262",
+"n  c #fd7171",
+"m  c #8571f9",
+"M  c #868282",
+"N  c #8c8787",
+"B  c #8f8a8a",
+"V  c #948f8f",
+"C  c #979292",
+"Z  c #9b9595",
+"A  c #9f9a9a",
+"S  c #a59f9f",
+"D  c #a7a1a1",
+"F  c #aaa4a4",
+"G  c #aea8a8",
+"H  c #b5aeae",
+"J  c #beb7b7",
+"K  c #9080e4",
+"L  c #9785f8",
+"P  c #9d8bf8",
+"I  c #a493f7",
+"U  c #a594f8",
+"Y  c #aa9af8",
+"T  c #b3a3f7",
+"R  c #c6bfbf",
+"E  c #fd8585",
+"W  c #fd9494",
+"Q  c #fda3a3",
+"!  c #fdb4b4",
+"~  c #c2b4f7",
+"^  c #c0c0c0",
+"/  c #cec7c7",
+"(  c #d7cfcf",
+")  c #dfd7d7",
+"_  c #d4c7f6",
+"`  c #e7dede",
+"'  c #fec7c7",
+"]  c #fed6d6",
+"[  c #e2d6f6",
+"{  c #eee6e6",
+"}  c #efe5f5",
+"|  c #f7efef",
+" . c #fee6e6",
+".. c #f8efef",
+"X. c #f0e6f5",
+"o. c #fef5f5",
+"O. c Gray100",
+"+. c None",
+/* pixels */
+"F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ",
+"V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ",
+"7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ",
+"2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ",
+", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ",
+": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ",
+": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] b c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o. .b k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.' k k k k k k k k k k k k l ! o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .z k k k z n E n z k k k k k l  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.E k k k E o.o.o.o.o.n k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.c k k n o.o.o.o.o.o.o.c k k k k c o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k ] o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k o.o.o.o.o.o.o.o.n k k k k n o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.v b E o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ] o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.n k k k k x ] o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .v k k k k E o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 2 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.' x k k k c ' o.o.o.c k k ' o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.W l k k l E o.o.o.o. .l k k o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o. .b k k k k n E E E E E c k k x o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.! z k k k k k k k k k k k k k k b o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ! o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.] c c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ",
+": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ",
+": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ",
+": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ",
+": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ",
+": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ",
+"- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ",
+"- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ",
+"% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/3.xpm b/3.xpm
new file mode 100644
index 0000000..b29561f
--- /dev/null
+++ b/3.xpm
@@ -0,0 +1,152 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 98 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fc2f2f",
+"c  c #fd4242",
+"v  c #fd5252",
+"b  c #fd6262",
+"n  c #fd7171",
+"m  c #8571f9",
+"M  c #868282",
+"N  c #8c8787",
+"B  c #8f8a8a",
+"V  c #948f8f",
+"C  c #979292",
+"Z  c #9b9595",
+"A  c #9f9a9a",
+"S  c #a59f9f",
+"D  c #a7a1a1",
+"F  c #aaa4a4",
+"G  c #aea8a8",
+"H  c #b5aeae",
+"J  c #beb7b7",
+"K  c #9080e4",
+"L  c #9785f8",
+"P  c #9d8bf8",
+"I  c #a493f7",
+"U  c #a594f8",
+"Y  c #aa9af8",
+"T  c #b3a3f7",
+"R  c #c6bfbf",
+"E  c #fd8585",
+"W  c #fd9494",
+"Q  c #fda3a3",
+"!  c #fdb4b4",
+"~  c #c2b4f7",
+"^  c #c0c0c0",
+"/  c #cec7c7",
+"(  c #d7cfcf",
+")  c #dfd7d7",
+"_  c #d4c7f6",
+"`  c #e7dede",
+"'  c #fec7c7",
+"]  c #fed6d6",
+"[  c #e2d6f6",
+"{  c #eee6e6",
+"}  c #efe5f5",
+"|  c #f7efef",
+" . c #fee6e6",
+".. c #f8efef",
+"X. c #f0e6f5",
+"o. c #fef5f5",
+"O. c Gray100",
+"+. c None",
+/* pixels */
+"F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ",
+"V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ",
+"7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ",
+"2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ",
+", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ",
+": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ",
+": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] E c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.b k k k k k k k k k k k l ' o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.W k k k k v E E v k k k k k c o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.v k k l ' o.o.o.o.' k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k W o.o.o.o.o.o.b k k k k ! o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k  .o.o.o.o.o.o.E k k k k  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .z k k k b o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' ! ! E z k k k x  .o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k l E  .o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k k x W o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W E E c k k k k k x  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' l k k k k b o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .n c E o.o.o.o.o.o.o.Q k k k k k  .o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 2 V ) | o.o.o.o.o.o.o.o.o.o.v k k k E o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k l o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.Q k k k k l o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.E k k k k x  .o.o.o.' z k k k k E o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.c k k k k l b E b k k k k k x o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o. .n k k k k k k k k k k k b  .o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.] n z k k k k k l b ! o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .! ! ! ] o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ",
+": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ",
+": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ",
+": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ",
+": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ",
+": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ",
+"- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ",
+"- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ",
+"% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/4.xpm b/4.xpm
new file mode 100644
index 0000000..3c1539c
--- /dev/null
+++ b/4.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 94 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fd4242",
+"c  c #fd6262",
+"v  c #8571f9",
+"b  c #868282",
+"n  c #8c8787",
+"m  c #8f8a8a",
+"M  c #948f8f",
+"N  c #979292",
+"B  c #9b9595",
+"V  c #9f9a9a",
+"C  c #a59f9f",
+"Z  c #a7a1a1",
+"A  c #aaa4a4",
+"S  c #aea8a8",
+"D  c #b5aeae",
+"F  c #beb7b7",
+"G  c #9080e4",
+"H  c #9785f8",
+"J  c #9d8bf8",
+"K  c #a493f7",
+"L  c #a594f8",
+"P  c #aa9af8",
+"I  c #b3a3f7",
+"U  c #c6bfbf",
+"Y  c #fd8585",
+"T  c #fd9494",
+"R  c #fdb4b4",
+"E  c #c2b4f7",
+"W  c #c0c0c0",
+"Q  c #cec7c7",
+"!  c #d7cfcf",
+"~  c #dfd7d7",
+"^  c #d4c7f6",
+"/  c #e7dede",
+"(  c #fec7c7",
+")  c #fed6d6",
+"_  c #e2d6f6",
+"`  c #eee6e6",
+"'  c #efe5f5",
+"]  c #f7efef",
+"[  c #fee6e6",
+"{  c #f8efef",
+"}  c #f0e6f5",
+"|  c #fef5f5",
+" . c Gray100",
+".. c None",
+/* pixels */
+"A U ! ~ / ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | |  . . . .] / ",
+"M Z F ..~ ]  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .~ Q ",
+"7 M C D F U Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ~ / / Q U F ",
+"2 8 M V Z D D F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F D D F D S ",
+", 3 j m Q / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ! C A C C ",
+": 1 6 M ~ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` / Z V V B ",
+": < 4 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / Z B B N ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N N ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | c k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | T k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | T k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | T k k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | T k k k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | R k k k l Y k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | | | | ( l k k k ( R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | | | ( l k k k T | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | ( l k k k T | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | ( l k k k T | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | z k k k T | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | k k k l Y Y Y Y Y c k k k k x Y Y Y ) | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C M B M ",
+": , 2 M ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | R R R R R R R R R Y k k k k c R R R [ | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | ^ f e ^ | | | | | | | | | | | | | p h | | | | | | H u | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | E u d L | | | | | | | | | | | | | L e I | | | | | ' u h | | | ] / C N N M ",
+": , 3 m / ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e E | | | ] / C M B M ",
+": , 3 m ~ ] | | | | h u } | | | | | | | | | | | | | | ^ e H | | | | | _ e i | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | u h E I P H u | | | | I a i | | | H e _ ^ d d | | h e H L i d | ] / C N N M ",
+": , 3 m ~ ] | | ^ u e e i H J u d v | | L e a a v | | d a _ u H _ | | e e a d d e | ] / C N N M ",
+": , 3 m ~ ] | | | h e _ | } i H H e | } i i } H e | | e v a v | | | I e u I | f a | ] / C M B M ",
+": , 2 M ~ ] | | | f a | | H e } h i | H e E | d i | E e a u } | | | v e ^ | L e K | ] / C N N M ",
+": , 3 m ~ ] | | | u v | | i a } u H | i a | E e H | H e e u } | | L p h | L e h | | ] / C N N M ",
+": , 3 m ~ ] | | _ e I | | e a h d | | e a I u h | | d i _ a a E h h e d f e h | | | ] / C M N M ",
+"- , 2 n ~ ] | | K e ' | | v u v ' | | v e d I | | | u H | _ i i H | v u d K | | | | ] ~ V M M M ",
+"- > 1 j ! ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ~ N m m m ",
+"% : , 1 F ! ~ ~ y G ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! F 8 j b b ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..9c4967e
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,74 @@
+How to compile and install fookb:
+
+0. The best way
+
+The best way is to install Debian Linux and use apt-get to install precompiled
+version of fookb :)
+
+1. Generating Makefile.
+
+./configure
+
+You may use ``./configure --prefix some_dir'' if you wish to install fookb in
+``some_dir'' -- not in ``/usr/local''. Icons will be placed under
+``some_dir/share/fookb'', manual page under ``some_dir/man/man1'', fookb
+itself under ``some_dir/bin''.
+
+E.g.: ./configure --prefix /usr/local/stow/fookb
+
+2. Fine tuning.
+
+[Read this section only if compilation process was unsuccessful]
+
+configure tries automagically decide: do you wish to compile WindowMaker
+dockable version of fookb and would you like use PropList-like configuration
+file or X resources for configuring fookb.
+
+If you have libPropList AND proplist.h we will try to compile
+libPropList-enabled version of fookb. If you want to compile libproplist-free
+version of fookb, run configure with --disable-libproplist argument.
+
+If you have wmaker in your $PATH, we will compile WindowMaker dockable verison
+of fookb. Run configure with --disable-wmaker to disable this behaviour.
+
+If you have no wmaker in your $PATH you still can compile WindowMaker dockable
+version of fookb. Run configure with --enable-wmaker.
+
+3. Compiling
+
+make
+
+If compilation was unsuccessful or you can get no satisfaction, read previous
+section.
+
+4. Installing
+
+make install
+
+5. Configuring fookb
+
+IF YOU COMPILED libPropList-version of fookb:
+
+Copy fookb.cf to ~/GNUstep/Defaults/FOOkb (for Window Maker enabled) or to
+~/.fookb (for Window Maker disabled version) and edit this file according to
+your desire.
+
+IF YOU COMPILED non-libPropList version of fookb:
+
+You should put the following resources in your
+/usr/X11R6/lib/X11/app-defaults/Fookb (or in other file which will be read by
+xrdb -- such as ~/.Xresources):
+
+fookb.icon1: xpm_file_with_full_path fookb.icon2: the same fookb.icon3: the
+same fookb.icon4: the same fookb.iconBoom: the same fookb.sound: Yes/No
+fookb.command: some_command (for playing sound)
+
+BOTH WAYS:
+
+Instead of putting parameter in config file you may use the following command
+line parameters:
+
+-icon1 xpm_file_with_full_path -icon2 the same -icon3 the same -icon4 the same
+-iconboom the same
+
+You may also use -display command line parameter.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..ca9b659
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,135 @@
+License is "Artistic". Debian GNU/Linux may redistribute this program under
+GPL. Yes, I understand what does it mean (it means that anyone who get this
+program from Debian project can redistribute fookb under GPL). But do you
+understand what does this mean? It means that if you downloaded fookb from my
+site you cannot use GPL :)
+
+P.S. Yes, Debian is the best.
+P.P.S. No, there's no sense in this license.
+
+
+P.P.P.S.		The "Artistic License"
+
+                             Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the Package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+It also grants you the rights to reuse parts of a Package in your own
+programs without transferring this License to those programs, provided
+that you meet some reasonable requirements.
+
+Definitions:
+
+        "Package" refers to the collection of files distributed by the
+        Copyright Holder, and derivatives of that collection of files
+        created through textual modification.
+
+        "Standard Version" refers to such a Package if it has not been
+        modified, or has been modified in accordance with the wishes
+        of the Copyright Holder as specified below.
+
+        "Copyright Holder" is whoever is named in the copyright or
+        copyrights for the package.
+
+        "You" is you, if you're thinking about copying or distributing
+        this Package.
+
+        "Reasonable copying fee" is whatever you can justify on the
+        basis of media cost, duplication charges, time of people involved,
+        and so on.  (You will not be required to justify it to the
+        Copyright Holder, but only to the computing community at large
+        as a market that must bear the fee.)
+
+        "Freely Available" means that no fee is charged for the item
+        itself, though there may be fees involved in handling the item.
+        It also means that recipients of the item may redistribute it
+        under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder.  A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+    a) place your modifications in the Public Domain or otherwise make them
+    Freely Available, such as by posting said modifications to Usenet or
+    an equivalent medium, or placing the modifications on a major archive
+    site such as uunet.uu.net, or by allowing the Copyright Holder to include
+    your modifications in the Standard Version of the Package.
+
+    b) use the modified Package only within your corporation or organization.
+
+    c) rename any non-standard executables so the names do not conflict
+    with standard executables, which must also be provided, and provide
+    a separate manual page for each non-standard executable that clearly
+    documents how it differs from the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+    a) distribute a Standard Version of the executables and library files,
+    together with instructions (in the manual page or equivalent) on where
+    to get the Standard Version.
+
+    b) accompany the distribution with the machine-readable source of
+    the Package with your modifications.
+
+    c) give non-standard executables non-standard names, and clearly
+    document the differences in manual pages (or equivalent), together
+    with instructions on where to get the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package.  You may charge any fee you choose for support of this
+Package.  You may not charge a fee for this Package itself.  However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whomever generated
+them, and may be sold commercially, and may be aggregated with this
+Package.  If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. You may reuse parts of this Package in your own programs, provided that
+you explicitly state where you got them from, in the source code (and, left
+to your courtesy, in the documentation), duplicating all the associated
+copyright notices and disclaimers. Besides your changes, if any, must be
+clearly marked as such. Parts reused that way will no longer fall under this
+license if, and only if, the name of your program(s) have no immediate
+connection with the name of the Package itself or its associated programs.
+You may then apply whatever restrictions you wish on the reused parts or
+choose to place them in the Public Domain--this will apply only within the
+context of your package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+                                The End
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..df1dbd7
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,65 @@
+BIN_PATH=@prefix@/bin
+SHARE_PATH=@prefix@/share/fookb
+MAN_PATH=@prefix@/man/man1
+
+srcdir = ..
+
+# FLAGS=-Wall -g -DDEBUG @DEFS@
+FLAGS=-Wall @DEFS@
+
+GCC=@CC@
+
+INCLUDEDIR=@X_CFLAGS@
+
+LIBDIR=@X_LIBS@
+
+LIBS=@LIBS@
+
+# DEBUG
+# DLIBS=-lefence
+DLIBS=
+
+
+
+fookb: fookb.o params.o images.o sound.o opts.o globals.o
+	${GCC} ${LIBDIR} ${DLIBS} ${LIBS} -o fookb fookb.o params.o images.o sound.o opts.o globals.o
+
+fookb.o: $(srcdir)/fookb.c $(srcdir)/fookb.h $(srcdir)/params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/fookb.c
+
+params.o: $(srcdir)/params.c $(srcdir)/params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/params.c
+
+images.o: $(srcdir)/images.c $(srcdir)/images.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/images.c
+
+sound.o: $(srcdir)/sound.h $(srcdir)/sound.c $(srcdir)/params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/sound.c
+
+opts.o: $(srcdir)/opts.h $(srcdir)/fookb.h $(srcdir)/opts.c
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/opts.c
+
+globals.o: $(srcdir)/globals.c
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} -I$(srcdir) $(srcdir)/globals.c
+	
+
+clean:
+	rm -f fookb fookb.o params.o images.o sound.o opts.o globals.o
+
+superclean: clean
+	rm -f Makefile config.*
+
+install: fookb
+	# mkdir -p ${BIN_PATH}
+	#mkdir -p ${SHARE_PATH}
+	#mkdir -p ${MAN_PATH}
+	#cp fookb ${BIN_PATH}
+	cp $(srcdir)/1.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/2.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/3.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/4.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/rus.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/lat.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/boom.xpm ${DESTDIR}${SHARE_PATH}
+	cp $(srcdir)/beep_spring.au ${DESTDIR}${SHARE_PATH}
+	#cp fookb.1x ${MAN_PATH}
diff --git a/README b/README
new file mode 100644
index 0000000..36802a1
--- /dev/null
+++ b/README
@@ -0,0 +1,7 @@
+Icons was submitted by LionN <xpert at mail.ru>
+
+USER GUIDE
+
+Left click - next Xkb group
+Middle click - previous Xkb group
+Right click - exit
diff --git a/README.russian b/README.russian
new file mode 100644
index 0000000..4129486
--- /dev/null
+++ b/README.russian
@@ -0,0 +1,7 @@
+***** ���� ����� �� ��������� ���� README! *****
+
+���� �� ����� ��� ��������� �� ������, ����������� � �����-���� ����� (���
+����� �������� ���), �� ������ � ����, ��� ���������� �� ���������� �
+��������� fookb, ����������� � ���� ������, ��������!
+
+������� ��� ���, ��� �������� � INSTALL.
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..5ea3442
--- /dev/null
+++ b/TODO
@@ -0,0 +1,5 @@
+To find English-speaking editor for all documentation.
+
+??? WINGs-based config utility for fookb.
+
+[This is a place for your suggestion.]
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..4059702
--- /dev/null
+++ b/VERSION
@@ -0,0 +1,51 @@
+2.21-unstable
+
+One more step to the lint happiness.
+Some #include:s added. Why did it work before???
+
+2.20-unstable
+
+LICENSE was changed! Please read.
+
+--enable/disable-libproplist/wmaker options for configure.
+Some cosmetic changes to make lint happy (he's still very sad).
+Makefile.in was simplified (of course configure.in has some complex changes).
+
+2.13
+
+Seems to be stable version. Minor cosmetic changes.
+
+2.12-unstable
+
+Final (I hope) fixes in Makefile.in for non-proplist version.
+
+2.11-unstable
+
+Small error in Makefine.in for non-proplist version was fixed.
+
+2.1-unstable
+
+libPropList-free version. Command line parameters. X resource
+management. ``configure'' script. I hope non-WindowMaker version still 
+work?
+
+0.9
+New icons for Xkb groups. Nasty bug was fixed: fookb plays sound twice 
+if you change locked Xkb group with mouse. Documentation updates.
+0.8
+Fookb now can play sounds.
+0.7
+No more #define pixmaps. Configuration file in use.
+0.6
+No more #define NUMG
+0.5
+XpmReadFileToImage error check added.
+0.4
+No more ass. Window Maker support happened. I hope fookb still work 
+w/o -DWMAKER.
+0.3
+The ass. Intended to be Window Maker support.
+0.2
+Support for all 4 Xkb groups
+0.1
+Basic functionality
diff --git a/beep_spring.au b/beep_spring.au
new file mode 100644
index 0000000..abdd9a2
Binary files /dev/null and b/beep_spring.au differ
diff --git a/boom.xpm b/boom.xpm
new file mode 100644
index 0000000..ca3b276
--- /dev/null
+++ b/boom.xpm
@@ -0,0 +1,158 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 104 2",
+"   c Gray0",
+".  c #080000",
+"X  c #080800",
+"o  c #100800",
+"O  c #101000",
+"+  c #181000",
+"@  c #181008",
+"#  c #181808",
+"$  c #211808",
+"%  c #291808",
+"&  c #292108",
+"*  c #312108",
+"=  c #312908",
+"-  c #312910",
+";  c #392910",
+":  c #393110",
+">  c #423110",
+",  c #4a3910",
+"<  c #523910",
+"1  c #4a4218",
+"2  c #524218",
+"3  c #5a4218",
+"4  c #5a4a18",
+"5  c #634a18",
+"6  c #6b5218",
+"7  c #735221",
+"8  c #735a21",
+"9  c #7b5a21",
+"0  c #7b6321",
+"q  c #846321",
+"w  c #846b21",
+"e  c #8c6b29",
+"r  c #946b29",
+"t  c #947329",
+"y  c #9c7329",
+"u  c #9c7b29",
+"i  c #a56b29",
+"p  c #a57b29",
+"a  c #ce6b31",
+"s  c #ce7331",
+"d  c #ce7b31",
+"f  c #d67331",
+"g  c #a58429",
+"h  c #ad8431",
+"j  c #b58431",
+"k  c #b58c31",
+"l  c #bd8431",
+"z  c #bd8c31",
+"x  c #bd8c39",
+"c  c #bd9431",
+"v  c #bd9439",
+"b  c #bd9c39",
+"n  c #c68431",
+"m  c #ce8c31",
+"M  c #c69431",
+"N  c #c69439",
+"B  c #c69c39",
+"V  c #ce9439",
+"C  c #ce9c39",
+"Z  c #d68431",
+"A  c #d68c39",
+"S  c #de8c31",
+"D  c #d6a539",
+"F  c #dea539",
+"G  c #dead39",
+"H  c #e79439",
+"J  c #e79c31",
+"K  c #e79c39",
+"L  c #e7a539",
+"P  c #e7ad39",
+"I  c #efa539",
+"U  c #c69c42",
+"Y  c #ce9442",
+"T  c #cea542",
+"R  c #d6a542",
+"E  c #d6ad42",
+"W  c #dead42",
+"Q  c #dead4a",
+"!  c #e7ad42",
+"~  c #e7b542",
+"^  c #efb542",
+"/  c #efbd42",
+"(  c #efbd4a",
+")  c #e7b552",
+"_  c #f7b542",
+"`  c #f7bd42",
+"'  c #f7bd4a",
+"]  c #ffb542",
+"[  c #ffbd42",
+"{  c #ffc642",
+"}  c #ffc64a",
+"|  c #f7c652",
+" . c #f7c65a",
+".. c #ffc652",
+"X. c #ffd65a",
+"o. c #ffde73",
+"O. c #ffe773",
+"+. c #ffe77b",
+"@. c #ffef84",
+"#. c #fff784",
+"$. c #ffff94",
+"%. c #ffff9c",
+"&. c #ffffbd",
+"*. c Gray100",
+/* pixels */
+"h M C G ~ ( ' | ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ....X.O.$.#.' ! ",
+"t h v C E  .o.+. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .@. at .%.&.*.*.%.W C ",
+"9 e h k x N B C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y T Q ) ) D B c ",
+"6 0 e u h k c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c k k k k h ",
+"3 7 q e C ! ~ ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! D h h h u ",
+"2 5 8 t G / ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` } ` ` W h u u y ",
+"1 5 8 t W ` { } { } } { } { } } { } { } { } } { } { } } { } { } { } } { } { } } [ } ` W h y u t ",
+"< 4 8 e G ' } { } } { [ } [ } [ } [ } [ } [ } / z u j G } } ' [ } { [ } } [ } ` { ' ` ! p t y t ",
+"1 5 7 e ! ` { } } [ ' } } ' { } ' } ` } } } ~ 7 7 e 0 3 e ` } } } ` } } ` } } } } { ' G h t t t ",
+", 4 7 e W ` } [ } } [ } [ } } } [ } } [ ' } q 9 ` } } W 5 e } [ } } [ } [ } [ ` } [ ' W p t y t ",
+"1 4 6 t W ` } } } [ } ` } [ ' { ' [ } } { } 7 c } } } } / 2 h } [ ` } } } ` } } { ' ` G h t t t ",
+", 4 7 r W ` } [ } ` } } ' [ } [ } } } [ } } 8 p } [ } [ } z 2 ^ } } } } [ } [ ~ / } ` ~ p t t t ",
+", 5 7 e P ' } { } } [ ' { } } } } ` } ' ! W y t ~ ' } ` } } 7 q } } [ ' ` ` ( v W } ` W p t y t ",
+"1 4 6 t W ` } } [ } } [ } [ ` [ } [ } G t 9 7 9 t C } } [ } ~ 1 j } ` } [ H R b _ [ ` W h t t t ",
+", 4 8 e G ' { { } } ` } ' } } ' } } ' h 3 & $ & 2 q ! } } [ } N < ! _ H L H x S H } ` ! p t y t ",
+"1 4 7 e ! ` } } } } [ } [ } } { [ } [ t - @ @ @ $ 2 k ` } } [ } e 3 W H V A a H E N N D h y t t ",
+", 5 7 e G ' { } [ } [ ' } [ ' } } } } y - @ O @ $ , p ' } [ ' } ` 0 1 8 0 n f x U U R G p t t t ",
+"1 3 6 t W ` } { } [ } { } } [ } [ ! N 0 & @ o X @ - e ^ } } } [ } } D l i m s Z J { ` ! h t y t ",
+", 4 7 r W ` } } } } [ ' } { } ~ h 6 : $ @ X X X o - 7 k C ~ } } } } ] d a s n U ^ [ ` W p t t t ",
+"1 4 8 e G ' } [ } ` } } [ } C 7 - X X .       X   o # ; > 8 M } [ } ' K A Y A N x / ' G h y t t ",
+", 5 7 e ! ` { } } } [ } } W 7 #     . X o o X X X X X X o @ 2 k ` } } } ! Y I I / ' ` W p t t t ",
+"1 3 6 t W ` } [ } [ ' } D e : + X . X @ $ & & @ o X . X X   @ 1 z _ } } ^ U ' } } { ` W g t y t ",
+", 4 7 e G ' { } } } } ! t 3 - $ @ & - & $ & & @ X X X . . X X @ 5 c ` } ( x ` { [ ` ` ! p y t t ",
+"1 4 8 e ! ` } } [ } ` h 1 & % - 2 7 5 & @ o @ o X X X X X .   X & e _ } ` ^ ' } } } ' G h t t t ",
+", 5 7 e G ' { } } } D 9 - $ $ 1 q t 7 : $ X @ @ o X X . X X . X X 2 W } } } } [ ` { ` W p t y t ",
+"1 3 6 t W ` } [ } } N 3 % $ % 5 h t 8 3 - @ @ # @ o X   . X   X X & h [ } [ } } } ' ` ~ p t t t ",
+", 4 7 r G ' } { } ` h > @ @ - 5 u t 7 7 ; # @ $ $ o X     X X . X @ q ' } [ } ` [ } ` W h t y t ",
+"1 4 8 e W ' { } } ` t - # # & : 7 7 1 : & $ $ - # X X       X X   X 3 G } ' [ } } ` ` W p t t t ",
+", 5 7 e P ` } } [ ' e * @ @ & - - = - % $ - * * @ X . . X   . X X X > C } { } [ ` } ' G h t y t ",
+"1 3 6 t W ` { } } ` e - @ @ ; ; $ % - & & & # X . X   X       X .   & k } } } } [ ` ` W p t t t ",
+", 4 7 e G ' } { } ' h > @ $ : , - > > - $ @ .       X X       X X   @ r } } [ ' } } ` W h t y t ",
+"1 4 8 e ! ` } [ } } D 2 @ $ - - % - - - @         X o X     X o X   $ y } [ } } ` { ` ! p t t t ",
+", 5 7 e G ' { } } [ / q $ @ # $ @ o @ @ O o X X X X .       X X .   : v } } ` } [ ' ` W g t y t ",
+"1 3 6 t W ` } [ } } } v > @ o # $ @ O X X X X . .           . X   X 7 ! } [ } [ } { ' G p t t t ",
+", 4 7 r W ' { } } [ } ^ q & O @ $ $ @ .                 X X X X   ; h ` } ' } } ` } ` W h t y t ",
+"1 4 8 e G ` { } [ } } } N 1 @ o # $ @ X           . X o X X     $ e ` } } [ } [ ` } ` ! p t t t ",
+", 5 7 e ! ' } { } ` [ } ` h ; o X @ O o o X o # @ O o X X   . $ q ^ } [ ` } } ` } [ ` W h t y t ",
+"1 3 6 t G ' { } } } ' { } ^ p 1 @ X X X @ o @ @ @ X X . X @ > u ~ } } } } [ } } ` } ` G p t t t ",
+", 4 7 e W ` } [ } } [ } [ } ' h 5 & @ .   X X   X     @ & 7 N ' } } [ [ } ' } [ } { ' W h t y t ",
+"1 4 8 e ! ` } { } ' [ } ' [ } [ R u 4 ; $ @ X @ @ & : 7 h W } { } [ } ' [ } { ' [ ' ` ! p t t t ",
+", 5 7 e G ' { } [ { } ` { } ` } } } W v t e 7 6 q h C / } { } ` } ` } [ ' { ' { { } ` G p t y t ",
+"1 3 6 e W ` } } } ` } [ ' } { ` { [ } { } ` / ^ ` } } { } } [ } [ ' { } { ` } } ` ` ' W p t t t ",
+"> 2 5 q D ^ ` ` ` ' ` ' ` ` ' ' ' ' ` ' ` ' ` ' ' ` ` ' ` ` ' ` ' ` ` ' ` ' ` ` ' ` / W t e e e ",
+"> 2 4 5 c D W F W G W G W F W G G G F W F W G W G F W W F W F W G W F W F W F W F W D v 0 q e w ",
+"- : 1 2 3 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 7 7 8 9 ",
+"$ % - ; ; : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , 1 2 4 5 ",
+"X o @ + @ $ # @ $ @ # $ @ # $ # @ $ # # $ # # $ @ # $ # @ $ # # $ # # $ # # $ # # $ $ $ & - > , ",
+"                                                                                        . o @ & "
+};
diff --git a/build-stamp b/build-stamp
new file mode 100644
index 0000000..e69de29
diff --git a/configure b/configure
new file mode 100755
index 0000000..1711998
--- /dev/null
+++ b/configure
@@ -0,0 +1,2274 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+  --with-x                use the X Window System"
+ac_help="$ac_help
+--enable-libproplist  Try to compile libproplist-enabled version"
+ac_help="$ac_help
+--enable-wmaker  Create windowmaker dockable application"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.13"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=fookb.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='	'
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:536: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:566: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_prog_rejected=no
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+	continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  if test -z "$CC"; then
+    case "`uname -s`" in
+    *win32* | *WIN32*)
+      # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:617: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="cl"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ ;;
+    esac
+  fi
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:649: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 660 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:691: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:696: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:724: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+
+
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:758: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    # This must be in double quotes, not single quotes, because CPP may get
+  # substituted into the Makefile and "${CC-cc}" will confuse make.
+  CPP="${CC-cc} -E"
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp.
+  cat > conftest.$ac_ext <<EOF
+#line 773 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+  cat > conftest.$ac_ext <<EOF
+#line 790 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -nologo -E"
+  cat > conftest.$ac_ext <<EOF
+#line 807 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+  ac_cv_prog_CPP="$CPP"
+fi
+  CPP="$ac_cv_prog_CPP"
+else
+  ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+# If we find X, set shell vars x_includes and x_libraries to the
+# paths, otherwise set no_x=yes.
+# Uses ac_ vars as temps to allow command line to override cache and checks.
+# --without-x overrides everything else, but does not touch the cache.
+echo $ac_n "checking for X""... $ac_c" 1>&6
+echo "configure:842: checking for X" >&5
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+  withval="$with_x"
+  :
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+    # Both variables are already set.
+    have_x=yes
+  else
+if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=NO ac_x_libraries=NO
+rm -fr conftestdir
+if mkdir conftestdir; then
+  cd conftestdir
+  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+  cat > Imakefile <<'EOF'
+acfindx:
+	@echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl; do
+      if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+        test -f $ac_im_libdir/libX11.$ac_extension; then
+        ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case "$ac_im_incroot" in
+	/usr/include) ;;
+	*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
+    esac
+    case "$ac_im_usrlibdir" in
+	/usr/lib | /lib) ;;
+	*) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;;
+    esac
+  fi
+  cd ..
+  rm -fr conftestdir
+fi
+
+if test "$ac_x_includes" = NO; then
+  # Guess where to find include files, by looking for this one X11 .h file.
+  test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+  # First, try using that file with no special directory specified.
+cat > conftest.$ac_ext <<EOF
+#line 904 "configure"
+#include "confdefs.h"
+#include <$x_direct_test_include>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  # Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+  for ac_dir in               \
+    /usr/X11/include          \
+    /usr/X11R6/include        \
+    /usr/X11R5/include        \
+    /usr/X11R4/include        \
+                              \
+    /usr/include/X11          \
+    /usr/include/X11R6        \
+    /usr/include/X11R5        \
+    /usr/include/X11R4        \
+                              \
+    /usr/local/X11/include    \
+    /usr/local/X11R6/include  \
+    /usr/local/X11R5/include  \
+    /usr/local/X11R4/include  \
+                              \
+    /usr/local/include/X11    \
+    /usr/local/include/X11R6  \
+    /usr/local/include/X11R5  \
+    /usr/local/include/X11R4  \
+                              \
+    /usr/X386/include         \
+    /usr/x386/include         \
+    /usr/XFree86/include/X11  \
+                              \
+    /usr/include              \
+    /usr/local/include        \
+    /usr/unsupported/include  \
+    /usr/athena/include       \
+    /usr/local/x11r5/include  \
+    /usr/lpp/Xamples/include  \
+                              \
+    /usr/openwin/include      \
+    /usr/openwin/share/include \
+    ; \
+  do
+    if test -r "$ac_dir/$x_direct_test_include"; then
+      ac_x_includes=$ac_dir
+      break
+    fi
+  done
+fi
+rm -f conftest*
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+  # Check for the libraries.
+
+  test -z "$x_direct_test_library" && x_direct_test_library=Xt
+  test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS="$LIBS"
+  LIBS="-l$x_direct_test_library $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 978 "configure"
+#include "confdefs.h"
+
+int main() {
+${x_direct_test_function}()
+; return 0; }
+EOF
+if { (eval echo configure:985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+    /usr/X11/lib          \
+    /usr/X11R6/lib        \
+    /usr/X11R5/lib        \
+    /usr/X11R4/lib        \
+                          \
+    /usr/lib/X11          \
+    /usr/lib/X11R6        \
+    /usr/lib/X11R5        \
+    /usr/lib/X11R4        \
+                          \
+    /usr/local/X11/lib    \
+    /usr/local/X11R6/lib  \
+    /usr/local/X11R5/lib  \
+    /usr/local/X11R4/lib  \
+                          \
+    /usr/local/lib/X11    \
+    /usr/local/lib/X11R6  \
+    /usr/local/lib/X11R5  \
+    /usr/local/lib/X11R4  \
+                          \
+    /usr/X386/lib         \
+    /usr/x386/lib         \
+    /usr/XFree86/lib/X11  \
+                          \
+    /usr/lib              \
+    /usr/local/lib        \
+    /usr/unsupported/lib  \
+    /usr/athena/lib       \
+    /usr/local/x11r5/lib  \
+    /usr/lpp/Xamples/lib  \
+    /lib/usr/lib/X11	  \
+                          \
+    /usr/openwin/lib      \
+    /usr/openwin/share/lib \
+    ; \
+do
+  for ac_extension in a so sl; do
+    if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f conftest*
+fi # $ac_x_libraries = NO
+
+if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then
+  # Didn't find X anywhere.  Cache the known absence of X.
+  ac_cv_have_x="have_x=no"
+else
+  # Record where we found X for the cache.
+  ac_cv_have_x="have_x=yes \
+	        ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+  fi
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  echo "$ac_t""$have_x" 1>&6
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes \
+		ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+  echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+  cat >> confdefs.h <<\EOF
+#define X_DISPLAY_MISSING 1
+EOF
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    case "`(uname -sr) 2>/dev/null`" in
+    "SunOS 5"*)
+      echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
+echo "configure:1091: checking whether -R must be followed by a space" >&5
+      ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
+      cat > conftest.$ac_ext <<EOF
+#line 1094 "configure"
+#include "confdefs.h"
+
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:1101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_R_nospace=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_R_nospace=no
+fi
+rm -f conftest*
+      if test $ac_R_nospace = yes; then
+	echo "$ac_t""no" 1>&6
+	X_LIBS="$X_LIBS -R$x_libraries"
+      else
+	LIBS="$ac_xsave_LIBS -R $x_libraries"
+	cat > conftest.$ac_ext <<EOF
+#line 1117 "configure"
+#include "confdefs.h"
+
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:1124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_R_space=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_R_space=no
+fi
+rm -f conftest*
+	if test $ac_R_space = yes; then
+	  echo "$ac_t""yes" 1>&6
+	  X_LIBS="$X_LIBS -R $x_libraries"
+	else
+	  echo "$ac_t""neither works" 1>&6
+	fi
+      fi
+      LIBS="$ac_xsave_LIBS"
+    esac
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn.Johnson at cl.cam.ac.uk says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And karl at cs.umb.edu says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
+echo "configure:1156: checking for dnet_ntoa in -ldnet" >&5
+ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1164 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char dnet_ntoa();
+
+int main() {
+dnet_ntoa()
+; return 0; }
+EOF
+if { (eval echo configure:1175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
+echo "configure:1197: checking for dnet_ntoa in -ldnet_stub" >&5
+ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet_stub  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1205 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char dnet_ntoa();
+
+int main() {
+dnet_ntoa()
+; return 0; }
+EOF
+if { (eval echo configure:1216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # msh at cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # chad at anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to dickey at clark.net.
+    echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+echo "configure:1245: checking for gethostbyname" >&5
+if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1250 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char gethostbyname(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gethostbyname();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+choke me
+#else
+gethostbyname();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_gethostbyname=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_gethostbyname=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
+echo "configure:1294: checking for gethostbyname in -lnsl" >&5
+ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lnsl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1302 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gethostbyname();
+
+int main() {
+gethostbyname()
+; return 0; }
+EOF
+if { (eval echo configure:1313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # lieder at skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says simon at lia.di.epfl.ch: it contains
+    # gethostby* variants that don't use the nameserver (or something).
+    # -lsocket must be given before -lnsl if both are needed.
+    # We assume that if connect needs -lnsl, so does gethostbyname.
+    echo $ac_n "checking for connect""... $ac_c" 1>&6
+echo "configure:1343: checking for connect" >&5
+if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1348 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char connect(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char connect();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_connect) || defined (__stub___connect)
+choke me
+#else
+connect();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_connect=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_connect=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_connect = no; then
+      echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
+echo "configure:1392: checking for connect in -lsocket" >&5
+ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1400 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char connect();
+
+int main() {
+connect()
+; return 0; }
+EOF
+if { (eval echo configure:1411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # gomez at mi.uni-erlangen.de says -lposix is necessary on A/UX.
+    echo $ac_n "checking for remove""... $ac_c" 1>&6
+echo "configure:1435: checking for remove" >&5
+if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1440 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char remove(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char remove();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_remove) || defined (__stub___remove)
+choke me
+#else
+remove();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_remove=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_remove=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_remove = no; then
+      echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
+echo "configure:1484: checking for remove in -lposix" >&5
+ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lposix  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1492 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char remove();
+
+int main() {
+remove()
+; return 0; }
+EOF
+if { (eval echo configure:1503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    echo $ac_n "checking for shmat""... $ac_c" 1>&6
+echo "configure:1527: checking for shmat" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1532 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shmat(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char shmat();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shmat) || defined (__stub___shmat)
+choke me
+#else
+shmat();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
+echo "configure:1576: checking for shmat in -lipc" >&5
+ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lipc  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1584 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char shmat();
+
+int main() {
+shmat()
+; return 0; }
+EOF
+if { (eval echo configure:1595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS="$LDFLAGS"
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  #  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
+  echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
+echo "configure:1628: checking for IceConnectionNumber in -lICE" >&5
+ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1636 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char IceConnectionNumber();
+
+int main() {
+IceConnectionNumber()
+; return 0; }
+EOF
+if { (eval echo configure:1647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  LDFLAGS="$ac_save_LDFLAGS"
+
+fi
+
+
+echo $ac_n "checking for XkbOpenDisplay in -lX11""... $ac_c" 1>&6
+echo "configure:1673: checking for XkbOpenDisplay in -lX11" >&5
+ac_lib_var=`echo X11'_'XkbOpenDisplay | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lX11 $X_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1681 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char XkbOpenDisplay();
+
+int main() {
+XkbOpenDisplay()
+; return 0; }
+EOF
+if { (eval echo configure:1692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_lib=HAVE_LIB`echo X11 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+  LIBS="-lX11 $LIBS"
+
+else
+  echo "$ac_t""no" 1>&6
+echo "Fatal error! No libX11 found!"; exit 1
+fi
+
+
+echo $ac_n "checking for XpmReadFileToImage in -lXpm""... $ac_c" 1>&6
+echo "configure:1722: checking for XpmReadFileToImage in -lXpm" >&5
+ac_lib_var=`echo Xpm'_'XpmReadFileToImage | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lXpm $X_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1730 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char XpmReadFileToImage();
+
+int main() {
+XpmReadFileToImage()
+; return 0; }
+EOF
+if { (eval echo configure:1741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_lib=HAVE_LIB`echo Xpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+  LIBS="-lXpm $LIBS"
+
+else
+  echo "$ac_t""no" 1>&6
+echo "Fatal error! No libXpm found!"; exit 1
+fi
+
+
+# Check whether --enable-libproplist or --disable-libproplist was given.
+if test "${enable_libproplist+set}" = set; then
+  enableval="$enable_libproplist"
+  if test $enable_libproplist = yes ; then
+	
+	echo $ac_n "checking for PLGetProplistWithPath in -lPropList""... $ac_c" 1>&6
+echo "configure:1776: checking for PLGetProplistWithPath in -lPropList" >&5
+ac_lib_var=`echo PropList'_'PLGetProplistWithPath | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lPropList $X_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1784 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char PLGetProplistWithPath();
+
+int main() {
+PLGetProplistWithPath()
+; return 0; }
+EOF
+if { (eval echo configure:1795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_lib=HAVE_LIB`echo PropList | sed -e 's/^a-zA-Z0-9_/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+  LIBS="-lPropList $LIBS"
+
+else
+  echo "$ac_t""no" 1>&6
+echo "No libPropList found. You should use X resources for customizing fookb."
+fi
+
+	
+	for ac_hdr in proplist.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1828: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1833 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+echo "No proplist.h found -- cannot compile libPropList version. You should use X resources for customizing fookb."
+fi
+done
+
+
+fi
+
+
+else
+  echo $ac_n "checking for PLGetProplistWithPath in -lPropList""... $ac_c" 1>&6
+echo "configure:1871: checking for PLGetProplistWithPath in -lPropList" >&5
+ac_lib_var=`echo PropList'_'PLGetProplistWithPath | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lPropList $X_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1879 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char PLGetProplistWithPath();
+
+int main() {
+PLGetProplistWithPath()
+; return 0; }
+EOF
+if { (eval echo configure:1890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_lib=HAVE_LIB`echo PropList | sed -e 's/^a-zA-Z0-9_/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+  LIBS="-lPropList $LIBS"
+
+else
+  echo "$ac_t""no" 1>&6
+echo "No libPropList found. You should use X resources for customizing fookb."
+fi
+
+
+for ac_hdr in proplist.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1923: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1928 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1933: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+echo "No proplist.h found -- cannot compile libPropList version. You should use X resources for customizing fookb."
+fi
+done
+
+
+
+fi
+
+
+# Extract the first word of "wmaker", so it can be a program name with args.
+set dummy wmaker; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1968: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_HAVE_WMAKER'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$HAVE_WMAKER"; then
+  ac_cv_prog_HAVE_WMAKER="$HAVE_WMAKER" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_HAVE_WMAKER="yes"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_HAVE_WMAKER" && ac_cv_prog_HAVE_WMAKER="no"
+fi
+fi
+HAVE_WMAKER="$ac_cv_prog_HAVE_WMAKER"
+if test -n "$HAVE_WMAKER"; then
+  echo "$ac_t""$HAVE_WMAKER" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+# Check whether --enable-wmaker or --disable-wmaker was given.
+if test "${enable_wmaker+set}" = set; then
+  enableval="$enable_wmaker"
+  if test $enable_wmaker = yes ; then
+	cat >> confdefs.h <<\EOF
+#define WMAKER 1
+EOF
+
+fi
+
+
+else
+  if test $HAVE_WMAKER = yes ; then
+	cat >> confdefs.h <<\EOF
+#define WMAKER 1
+EOF
+
+fi
+
+fi
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set | grep ac_space) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.13"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@X_CFLAGS@%$X_CFLAGS%g
+s%@X_PRE_LIBS@%$X_PRE_LIBS%g
+s%@X_LIBS@%$X_LIBS%g
+s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
+s%@HAVE_WMAKER@%$HAVE_WMAKER%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..3aea77a
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,59 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl (c) 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+
+AC_INIT(fookb.c)
+
+dnl AC_CONFIG_HEADER(foofig.h)
+
+dnl Checks for programs.
+AC_PROG_CC
+
+dnl Checks for libraries.
+
+AC_PATH_XTRA
+
+AC_CHECK_LIB(X11, XkbOpenDisplay,, echo "Fatal error! No libX11 found!"; exit 1, $X_LIBS)
+
+AC_CHECK_LIB(Xpm, XpmReadFileToImage,, echo "Fatal error! No libXpm found!"; exit 1, $X_LIBS)
+
+AC_ARG_ENABLE(libproplist,
+	
+  --enable-libproplist  Try to compile libproplist-enabled version,
+
+if test $enable_libproplist = yes ; then
+	
+	AC_CHECK_LIB(PropList, PLGetProplistWithPath,,
+	echo "No libPropList found. You should use X resources for customizing fookb.", $X_LIBS)
+	
+	AC_CHECK_HEADERS(proplist.h,,
+	echo "No proplist.h found -- cannot compile libPropList version. You should use X resources for customizing fookb.")
+
+fi
+
+,
+
+AC_CHECK_LIB(PropList, PLGetProplistWithPath,,
+echo "No libPropList found. You should use X resources for customizing fookb.", $X_LIBS)
+
+AC_CHECK_HEADERS(proplist.h,,
+echo "No proplist.h found -- cannot compile libPropList version. You should use X resources for customizing fookb.")
+
+)
+
+AC_CHECK_PROG(HAVE_WMAKER, wmaker, yes, no)
+
+AC_ARG_ENABLE(wmaker,
+  --enable-wmaker  Create windowmaker dockable application,
+
+if test $enable_wmaker = yes ; then
+	AC_DEFINE(WMAKER)
+fi
+
+,
+
+if test $HAVE_WMAKER = yes ; then
+	AC_DEFINE(WMAKER)
+fi
+)
+
+AC_OUTPUT(Makefile)
diff --git a/copyright b/copyright
new file mode 100644
index 0000000..0e74c0b
--- /dev/null
+++ b/copyright
@@ -0,0 +1,6 @@
+(c) 1998,99,2000,2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+
+Icons (c) 1999 LionN <xpert at mail.ru>
+
+ If you want to distribute, use or modificate this program, please look in
+ file "LICENSE".
diff --git a/fookb-plainx.1x b/fookb-plainx.1x
new file mode 100644
index 0000000..cc76762
--- /dev/null
+++ b/fookb-plainx.1x
@@ -0,0 +1,145 @@
+.\" Copyright (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the Artistic License
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.TH fookb 1 "17 Mar 2001" "fookb" "FOOcrosoft"
+.SH NAME
+fookb \- Xkb state indicator with optional Window Maker support
+.SH SYNOPSIS
+.B fookb [options]
+
+.SH DESCRIPTION
+\fBfookb\fP is a Xkb state indicator. It displays
+the icon corresponding to the number of Xkb locked group. You may use
+mouse-clicks to change Xkb locked group with mouse. Additionally,
+\fBfookb\fP can be configured to execute a program on changing group.
+.P
+\fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program
+was written from scratch.
+.P
+To use \fBfookb\fP with the Window Maker Dock, simply drag the
+\fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled 
+with Window Maker support).
+
+.SH OPTIONS
+.TP
+NB! Command line parameters take precedence over config file or X resources!
+.TP
+.B -icon1
+.TP
+.B -icon2
+.TP
+.B -icon3
+.TP
+.B -icon4
+.TP
+.B -iconboom
+.TP
+.B -display
+
+.SH CONFIGURATION FILE (for libPropList-enabled version)
+The configuration file consist of a single PropList dictionary, which
+in turn is composed of several PropList key\-value pairs. The
+recognized keys is:
+.TP
+.B Icon1 Filename (mandatory)
+XPM file contains an icon (48x48) for 1st XKB group.
+.TP
+.B Icon2 Filename (mandatory)
+XPM file contains an icon (48x48) for 2nd XKB group.
+.TP
+.B Icon3 Filename (mandatory)
+XPM file contains an icon (48x48) for 3rd XKB group.
+.TP
+.B Icon4 Filename (mandatory)
+XPM file contains an icon (48x48) for 4th XKB group.
+.TP
+.B IconBoom Filename (mandatory)
+XPM file contains an icon (48x48) for "broken Xkb". Please look in
+BUGS section.
+.TP
+.B Sound (Yes|No)
+\fBfookb\fP will run command from "Command" value (see below), if this 
+parameter is set to "Yes". You'll receive (non-fatal) error message if 
+this parameter is not defined. In any other case command will not be
+run.
+.TP
+.B Command command_to_run
+This command will be run if XKB locked group is changed and "Sound" is 
+set to "Yes".
+
+.SH X resources
+.TP
+NB! Parameters in PropList config file take precednece over X resources!
+.TP
+.B fookb.icon1 Filename
+.TP
+.B fookb.icon2 Filename
+.TP
+.B fookb.icon3 Filename
+.TP
+.B fookb.icon4 Filename
+.TP
+.B fookb.iconBoom Filename
+.TP
+.B fookb.sound Yes/No
+.TP
+.B fookb.command Command
+
+.SH EXAMPLES
+Here is an example of configuration file.
+.P
+.nf
+{
+  Icon1 = "/usr/local/share/fookb/icon1.xpm";
+  Icon2 = "/usr/local/share/fookb/icon2.xpm";
+  Icon3 = "/usr/local/share/fookb/icon3.xpm";
+  Icon4 = "/usr/local/share/fookb/icon4.xpm";
+  IconBoom = "/usr/local/share/fookb/crash.xpm";
+  Sound = "Yes";
+  Command = "/usr/bin/play /usr/local/share/fookb/click.au";
+}
+.fi
+
+Here is an example of app-defaults file.
+.P
+.nf
+fookb.icon1: /usr/local/share/fookb/icon1.xpm
+fookb.icon2: /usr/local/share/fookb/icon2.xpm
+fookb.icon3: /usr/local/share/fookb/icon3.xpm
+fookb.icon4: /usr/local/share/fookb/icon4.xpm
+fookb.iconBoom: /usr/local/share/fookb/crash.xpm
+fookb.sound: Yes
+fookb.command: /home/bgates/bin/playmssound
+.fi
+
+.SH FILES
+.TP
+.B ~/GNUstep/Defaults/FOOkb
+\fBfookb\fP defaults (for Window Maker enabled version).
+.TP
+.B ~/.fookb
+\fBfookb\fP defaults (for Window Maker disabled version).
+
+.SH BUGS
+Sometimes \fBfookb\fP receives message about changing XKB group, but
+message.state.group does not point to any existing XKB group. In this
+case \fBfookb\fP will show IconBoom (from config file) picture.
+.P
+As far as I know the only way to look at this bug is run vmware.
+
+.SH VERSION
+This man page is up-to-date for version 2.13 of \fBfookb\fP.
+
+.SH AUTHORS
+.P
+\fBfookb\fP is (c) 1998, 99, 2000, 20001 Alexey Vyskubov <alexey at pepper.spb.ru>.
+.P
+This manpage was written by Alexey Vyskubov <alexey at pepper.spb.ru>.
+
+
+
+
diff --git a/fookb-wmaker.1x b/fookb-wmaker.1x
new file mode 100644
index 0000000..cc76762
--- /dev/null
+++ b/fookb-wmaker.1x
@@ -0,0 +1,145 @@
+.\" Copyright (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the Artistic License
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.TH fookb 1 "17 Mar 2001" "fookb" "FOOcrosoft"
+.SH NAME
+fookb \- Xkb state indicator with optional Window Maker support
+.SH SYNOPSIS
+.B fookb [options]
+
+.SH DESCRIPTION
+\fBfookb\fP is a Xkb state indicator. It displays
+the icon corresponding to the number of Xkb locked group. You may use
+mouse-clicks to change Xkb locked group with mouse. Additionally,
+\fBfookb\fP can be configured to execute a program on changing group.
+.P
+\fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program
+was written from scratch.
+.P
+To use \fBfookb\fP with the Window Maker Dock, simply drag the
+\fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled 
+with Window Maker support).
+
+.SH OPTIONS
+.TP
+NB! Command line parameters take precedence over config file or X resources!
+.TP
+.B -icon1
+.TP
+.B -icon2
+.TP
+.B -icon3
+.TP
+.B -icon4
+.TP
+.B -iconboom
+.TP
+.B -display
+
+.SH CONFIGURATION FILE (for libPropList-enabled version)
+The configuration file consist of a single PropList dictionary, which
+in turn is composed of several PropList key\-value pairs. The
+recognized keys is:
+.TP
+.B Icon1 Filename (mandatory)
+XPM file contains an icon (48x48) for 1st XKB group.
+.TP
+.B Icon2 Filename (mandatory)
+XPM file contains an icon (48x48) for 2nd XKB group.
+.TP
+.B Icon3 Filename (mandatory)
+XPM file contains an icon (48x48) for 3rd XKB group.
+.TP
+.B Icon4 Filename (mandatory)
+XPM file contains an icon (48x48) for 4th XKB group.
+.TP
+.B IconBoom Filename (mandatory)
+XPM file contains an icon (48x48) for "broken Xkb". Please look in
+BUGS section.
+.TP
+.B Sound (Yes|No)
+\fBfookb\fP will run command from "Command" value (see below), if this 
+parameter is set to "Yes". You'll receive (non-fatal) error message if 
+this parameter is not defined. In any other case command will not be
+run.
+.TP
+.B Command command_to_run
+This command will be run if XKB locked group is changed and "Sound" is 
+set to "Yes".
+
+.SH X resources
+.TP
+NB! Parameters in PropList config file take precednece over X resources!
+.TP
+.B fookb.icon1 Filename
+.TP
+.B fookb.icon2 Filename
+.TP
+.B fookb.icon3 Filename
+.TP
+.B fookb.icon4 Filename
+.TP
+.B fookb.iconBoom Filename
+.TP
+.B fookb.sound Yes/No
+.TP
+.B fookb.command Command
+
+.SH EXAMPLES
+Here is an example of configuration file.
+.P
+.nf
+{
+  Icon1 = "/usr/local/share/fookb/icon1.xpm";
+  Icon2 = "/usr/local/share/fookb/icon2.xpm";
+  Icon3 = "/usr/local/share/fookb/icon3.xpm";
+  Icon4 = "/usr/local/share/fookb/icon4.xpm";
+  IconBoom = "/usr/local/share/fookb/crash.xpm";
+  Sound = "Yes";
+  Command = "/usr/bin/play /usr/local/share/fookb/click.au";
+}
+.fi
+
+Here is an example of app-defaults file.
+.P
+.nf
+fookb.icon1: /usr/local/share/fookb/icon1.xpm
+fookb.icon2: /usr/local/share/fookb/icon2.xpm
+fookb.icon3: /usr/local/share/fookb/icon3.xpm
+fookb.icon4: /usr/local/share/fookb/icon4.xpm
+fookb.iconBoom: /usr/local/share/fookb/crash.xpm
+fookb.sound: Yes
+fookb.command: /home/bgates/bin/playmssound
+.fi
+
+.SH FILES
+.TP
+.B ~/GNUstep/Defaults/FOOkb
+\fBfookb\fP defaults (for Window Maker enabled version).
+.TP
+.B ~/.fookb
+\fBfookb\fP defaults (for Window Maker disabled version).
+
+.SH BUGS
+Sometimes \fBfookb\fP receives message about changing XKB group, but
+message.state.group does not point to any existing XKB group. In this
+case \fBfookb\fP will show IconBoom (from config file) picture.
+.P
+As far as I know the only way to look at this bug is run vmware.
+
+.SH VERSION
+This man page is up-to-date for version 2.13 of \fBfookb\fP.
+
+.SH AUTHORS
+.P
+\fBfookb\fP is (c) 1998, 99, 2000, 20001 Alexey Vyskubov <alexey at pepper.spb.ru>.
+.P
+This manpage was written by Alexey Vyskubov <alexey at pepper.spb.ru>.
+
+
+
+
diff --git a/fookb.1x b/fookb.1x
new file mode 100644
index 0000000..cc76762
--- /dev/null
+++ b/fookb.1x
@@ -0,0 +1,145 @@
+.\" Copyright (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the Artistic License
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.TH fookb 1 "17 Mar 2001" "fookb" "FOOcrosoft"
+.SH NAME
+fookb \- Xkb state indicator with optional Window Maker support
+.SH SYNOPSIS
+.B fookb [options]
+
+.SH DESCRIPTION
+\fBfookb\fP is a Xkb state indicator. It displays
+the icon corresponding to the number of Xkb locked group. You may use
+mouse-clicks to change Xkb locked group with mouse. Additionally,
+\fBfookb\fP can be configured to execute a program on changing group.
+.P
+\fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program
+was written from scratch.
+.P
+To use \fBfookb\fP with the Window Maker Dock, simply drag the
+\fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled 
+with Window Maker support).
+
+.SH OPTIONS
+.TP
+NB! Command line parameters take precedence over config file or X resources!
+.TP
+.B -icon1
+.TP
+.B -icon2
+.TP
+.B -icon3
+.TP
+.B -icon4
+.TP
+.B -iconboom
+.TP
+.B -display
+
+.SH CONFIGURATION FILE (for libPropList-enabled version)
+The configuration file consist of a single PropList dictionary, which
+in turn is composed of several PropList key\-value pairs. The
+recognized keys is:
+.TP
+.B Icon1 Filename (mandatory)
+XPM file contains an icon (48x48) for 1st XKB group.
+.TP
+.B Icon2 Filename (mandatory)
+XPM file contains an icon (48x48) for 2nd XKB group.
+.TP
+.B Icon3 Filename (mandatory)
+XPM file contains an icon (48x48) for 3rd XKB group.
+.TP
+.B Icon4 Filename (mandatory)
+XPM file contains an icon (48x48) for 4th XKB group.
+.TP
+.B IconBoom Filename (mandatory)
+XPM file contains an icon (48x48) for "broken Xkb". Please look in
+BUGS section.
+.TP
+.B Sound (Yes|No)
+\fBfookb\fP will run command from "Command" value (see below), if this 
+parameter is set to "Yes". You'll receive (non-fatal) error message if 
+this parameter is not defined. In any other case command will not be
+run.
+.TP
+.B Command command_to_run
+This command will be run if XKB locked group is changed and "Sound" is 
+set to "Yes".
+
+.SH X resources
+.TP
+NB! Parameters in PropList config file take precednece over X resources!
+.TP
+.B fookb.icon1 Filename
+.TP
+.B fookb.icon2 Filename
+.TP
+.B fookb.icon3 Filename
+.TP
+.B fookb.icon4 Filename
+.TP
+.B fookb.iconBoom Filename
+.TP
+.B fookb.sound Yes/No
+.TP
+.B fookb.command Command
+
+.SH EXAMPLES
+Here is an example of configuration file.
+.P
+.nf
+{
+  Icon1 = "/usr/local/share/fookb/icon1.xpm";
+  Icon2 = "/usr/local/share/fookb/icon2.xpm";
+  Icon3 = "/usr/local/share/fookb/icon3.xpm";
+  Icon4 = "/usr/local/share/fookb/icon4.xpm";
+  IconBoom = "/usr/local/share/fookb/crash.xpm";
+  Sound = "Yes";
+  Command = "/usr/bin/play /usr/local/share/fookb/click.au";
+}
+.fi
+
+Here is an example of app-defaults file.
+.P
+.nf
+fookb.icon1: /usr/local/share/fookb/icon1.xpm
+fookb.icon2: /usr/local/share/fookb/icon2.xpm
+fookb.icon3: /usr/local/share/fookb/icon3.xpm
+fookb.icon4: /usr/local/share/fookb/icon4.xpm
+fookb.iconBoom: /usr/local/share/fookb/crash.xpm
+fookb.sound: Yes
+fookb.command: /home/bgates/bin/playmssound
+.fi
+
+.SH FILES
+.TP
+.B ~/GNUstep/Defaults/FOOkb
+\fBfookb\fP defaults (for Window Maker enabled version).
+.TP
+.B ~/.fookb
+\fBfookb\fP defaults (for Window Maker disabled version).
+
+.SH BUGS
+Sometimes \fBfookb\fP receives message about changing XKB group, but
+message.state.group does not point to any existing XKB group. In this
+case \fBfookb\fP will show IconBoom (from config file) picture.
+.P
+As far as I know the only way to look at this bug is run vmware.
+
+.SH VERSION
+This man page is up-to-date for version 2.13 of \fBfookb\fP.
+
+.SH AUTHORS
+.P
+\fBfookb\fP is (c) 1998, 99, 2000, 20001 Alexey Vyskubov <alexey at pepper.spb.ru>.
+.P
+This manpage was written by Alexey Vyskubov <alexey at pepper.spb.ru>.
+
+
+
+
diff --git a/fookb.c b/fookb.c
new file mode 100644
index 0000000..0ab92c6
--- /dev/null
+++ b/fookb.c
@@ -0,0 +1,286 @@
+/*
+ * fookb.c
+ *
+ * (c) 1998, 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ */
+
+#include <stdlib.h>		/* malloc() */
+#include <stdio.h>		/* puts() */
+
+/* X Window headers */
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+/* Command line parsing and X resource manager */
+#include <X11/Xresource.h>
+
+/* XKB fun */
+#include <X11/XKBlib.h>
+
+/* My own fun */
+#include "fookb.h"
+#include "images.h"
+#include "sound.h"
+#include "opts.h"
+
+#define sterror(x) (void)printf("Strange error, please report! %s:%d, %s\n", __FILE__, __LINE__, x)
+
+static void getGC(win, gc)
+Window win;
+GC *gc;
+{
+	unsigned long valuemask = 0;	/* No data in ``values'' */
+	XGCValues values;
+	*gc = XCreateGC(dpy, win, valuemask, &values);
+/*	XSetForeground(dpy, *gc, BlackPixel(dpy, scr)); */
+}
+
+
+int main(argc, argv)
+int argc;
+register char *argv[];
+{
+	int err;
+
+	int *event_rtrn;	/* stupid things for XkbOpenDisplay */
+	int *error_rtrn;
+	int *reason_rtrn;
+
+	XkbEvent labuda;	/* Xkb event. X event will be labuda.core */
+
+	Window billy;		/*   _The_ Window  */
+
+#ifdef WMAKER
+	Window dilly;		/* ...and his icon */
+#endif
+
+	int border = 0;		/* _The_ Window parameters */
+	unsigned int wth = 48;	/* Well, you understood */
+	unsigned int hth = 48;
+
+	XWMHints *wm_hints;
+	XClassHint class_hints;
+
+#ifdef WMAKER			/* If we use Windowmaker, _The_ Window will */
+	XSizeHints *BigBunny;	/* be withdrawn. And we do not want to
+				   place empty border by hand. */
+#endif
+
+	GC gc;			/* Graphic context */
+
+	char resn[] = "fookb";
+	char resc[] = "Fookb";
+
+
+	int state = 0;		/* We suppose that latin keyboard is the
+				   primal state FIXME */
+
+	event_rtrn = malloc(sizeof(int));
+	error_rtrn = malloc(sizeof(int));
+	reason_rtrn = malloc(sizeof(int));
+
+	XrmInitialize();	/* We should initialize X resource
+				   manager before doing something else 
+				 */
+
+	ParseOptions(&argc, argv);	/* We should parse command line
+					   options and try to find '-display'
+					   before opening X display */
+
+/* Go, fighters, go! */
+	dpy = XkbOpenDisplay(mydispname,
+			     event_rtrn,
+			     error_rtrn, NULL, NULL, reason_rtrn);
+
+/* Oops. */
+	if (dpy == NULL) {
+		(void)puts("Cannot open display.");
+		exit(EXIT_FAILURE);
+	}
+
+	scr = DefaultScreen(dpy);
+	root = RootWindow(dpy, scr);
+
+	MoreOptions();		/* Now we can parse X server resource
+				   database. It is not available
+				   before display is opened */
+
+/* We would like receive the only Xkb event: XkbStateNotify. And only
+ * when XkbLockGroup happens. */
+	if (False == XkbSelectEventDetails(dpy, XkbUseCoreKbd, XkbStateNotify, 0xFFF,
+			      XkbGroupLockMask)) {
+		sterror("Cannot XkbSelectEventDetails. It's your problems -- not mine.");
+		exit(EXIT_FAILURE);
+	}
+
+/* Run out! */
+	billy = XCreateSimpleWindow(dpy,
+				    root,
+				    0, 0,
+				    wth, hth,
+				    border,
+				    BlackPixel(dpy, scr),
+				    WhitePixel(dpy, scr));
+
+#ifdef WMAKER
+	dilly = XCreateSimpleWindow(dpy,
+				    root,
+				    0, 0,
+				    wth, hth,
+				    border,
+				    BlackPixel(dpy, scr),
+				    WhitePixel(dpy, scr));
+#endif
+
+	class_hints.res_name = resn;
+	class_hints.res_class = resc;
+
+	err = XSetClassHint(dpy, billy, &class_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+
+	wm_hints = XAllocWMHints();
+	wm_hints->window_group = billy;
+
+#ifdef WMAKER
+	wm_hints->icon_window = dilly;
+#endif
+
+	wm_hints->input = False;
+	wm_hints->flags = InputHint | WindowGroupHint;
+
+#ifdef WMAKER
+	wm_hints->flags = wm_hints->flags | IconWindowHint;
+	err = XSetWMHints(dpy, dilly, wm_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+	wm_hints->initial_state = WithdrawnState;
+	wm_hints->flags = wm_hints->flags | StateHint;
+#endif
+
+	err = XSetWMHints(dpy, billy, wm_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+
+#ifdef WMAKER			/* Look at the comment for XSizeHints * BigBunny */
+	BigBunny = XAllocSizeHints();
+	if (NULL == BigBunny) {
+		(void)printf("Not enough memory, %s:%d.\n", __FILE__, __LINE__);
+		exit(EXIT_FAILURE);
+	}
+/* Nasty Hack. XSizeHints.x & XSizeHints.y are obsolete. */
+	BigBunny->x = 0;
+	BigBunny->y = 0;
+	BigBunny->flags = PPosition;
+	XSetWMNormalHints(dpy, billy, BigBunny);
+	XFree(BigBunny);
+#endif
+
+/* The only thing we would like to do - update our billy */
+#ifndef WMAKER
+	XSelectInput(dpy, billy, ExposureMask | ButtonPressMask);
+#else				/* ...or dilly?! */
+	XSelectInput(dpy, dilly, ExposureMask | ButtonPressMask);
+#endif
+
+	XSetCommand(dpy, billy, argv, argc);
+
+/* Programmer supplied functions */
+#ifndef WMAKER
+	getGC(billy, &gc);
+#else
+	getGC(dilly, &gc);
+#endif
+
+	read_images();		/* Let's read icon images */
+
+/* Let's look */
+	XMapWindow(dpy, billy);	/* We would like to see the window. */
+
+/* HELLO! HELLO! HELLO! Is that our GOOD FRIEND main loop here? */
+	while (1) {
+		XNextEvent(dpy, &labuda.core);
+		switch (labuda.core.type) {
+
+		case Expose:	/* We should update our window. */
+			if (labuda.core.xexpose.count != 0)
+				/* Well, I knew what does it mean,
+				   but I forgot :) */
+				break;
+#ifndef WMAKER
+			update_window(billy, gc, state);
+#else
+			update_window(dilly, gc, state);
+#endif
+			break;
+		case ButtonPress:
+
+			switch (labuda.core.xbutton.button) {
+			case Button1:
+#ifdef DEBUG
+				puts("Button1 pressed.");
+#endif
+				XkbLockGroup(dpy,
+					     XkbUseCoreKbd,
+					     (state + 1) % 4);
+				break;
+			case Button2:
+#ifdef DEBUG
+				puts("Button2 pressed.");
+#endif
+				XkbLockGroup(dpy,
+					     XkbUseCoreKbd,
+					     (state + 3) % 4);
+				break;
+			case Button3:
+#ifdef DEBUG
+				puts("Button3 pressed, bye.");
+#endif
+				XFreeGC(dpy, gc);
+				XDestroyWindow(dpy, billy);
+#ifdef WMAKER
+				XDestroyWindow(dpy, dilly);
+#endif
+				XCloseDisplay(dpy);
+				exit(0);
+			}
+			break;
+		default:	/* XkbLockGroup happens : FIXME */
+			drip();
+			state = labuda.state.group;
+#ifdef DEBUG
+			printf("%u\n", state);
+#endif
+			if ((state < 0) || (state > 4))
+				state = 4;
+#ifndef WMAKER
+			update_window(billy, gc, state);
+#else
+			update_window(dilly, gc, state);
+#endif
+
+#ifdef DEBUG
+			puts(".");	/* XkbLockGroup happens */
+#endif
+		}
+	}
+
+}
diff --git a/fookb.cf b/fookb.cf
new file mode 100644
index 0000000..fcdbbff
--- /dev/null
+++ b/fookb.cf
@@ -0,0 +1,11 @@
+{
+#	Icon1 = "/usr/share/fookb/1.xpm";
+#	Icon2 = "/usr/share/fookb/2.xpm";
+	Icon1 = "/usr/share/fookb/lat.xpm";
+	Icon2 = "/usr/share/fookb/rus.xpm";
+	Icon3 = "/usr/share/fookb/3.xpm";
+	Icon4 = "/usr/share/fookb/4.xpm";
+	IconBoom = "/usr/share/fookb/boom.xpm";
+	Sound = "Yes";
+	Command = "/usr/bin/play /usr/share/fookb/beep_spring.au";
+}
diff --git a/fookb.h b/fookb.h
new file mode 100644
index 0000000..e459b2b
--- /dev/null
+++ b/fookb.h
@@ -0,0 +1,19 @@
+/*
+ * fookb.h
+ * 
+ * (c) 1998, 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ *
+ */
+
+#ifndef FOOKB_H
+#define FOOKB_H
+
+//void getGC(Window, GC *);
+void update_window(Window, GC, unsigned int);
+
+extern Display *dpy;		/* X display */
+extern int scr;			/* X screen */
+extern Window root;		/* X root window */
+extern char mydispname[256];	/* X display name */
+
+#endif				/* FOOKB_H */
diff --git a/fookb.resources b/fookb.resources
new file mode 100644
index 0000000..b547dbe
--- /dev/null
+++ b/fookb.resources
@@ -0,0 +1,7 @@
+fookb.icon1: /usr/share/fookb/1.xpm
+fookb.icon2: /usr/share/fookb/2.xpm
+fookb.icon3: /usr/share/fookb/3.xpm
+fookb.icon4: /usr/share/fookb/4.xpm
+fookb.iconBoom: /usr/share/fookb/boom.xpm
+fookb.sound: Yes
+fookb.command: /usr/bin/play /usr/share/fookb/beep_spring.au
diff --git a/globals.c b/globals.c
new file mode 100644
index 0000000..9f78aae
--- /dev/null
+++ b/globals.c
@@ -0,0 +1,23 @@
+/*
+ * File: globals.c
+ *
+ * (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ *
+ * Created: Sun Sep 26 13:54:08 1999
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+
+Display *dpy;			/* X Window display */
+int scr;			/* X Window screen */
+Window root;			/* X root window */
+char mydispname[256];		/* X display name */
+
+XImage *stupid_picture[5];	/* Icons for fookb */
+
+XrmDatabase cmdlineDB;		/* X resource database generated from
+				   command line */
+XrmDatabase finalDB;		/* X resource database generated from
+				   app-defaults and X resource
+				   database */
diff --git a/images.c b/images.c
new file mode 100644
index 0000000..df501e6
--- /dev/null
+++ b/images.c
@@ -0,0 +1,138 @@
+/*
+ * images.c
+ *
+ * (c) 1998, 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ */
+
+#include <stdio.h>		/* puts() */
+#include <stdlib.h>
+#include <string.h>
+
+/* Xpm fun */
+#include <X11/xpm.h>
+
+#include "fookb.h"
+#include "params.h"
+#include "images.h"
+
+/* Let us make lint happy! */
+#define lputs(x) (void)(puts(x))
+
+static int get_one_image(name, index)
+char *name;
+int index;
+{
+	int foo;
+
+	foo = XpmReadFileToImage(dpy, name, &stupid_picture[index],
+				 NULL, NULL);
+	return (foo);
+}
+
+void read_images()
+{
+	int i;
+	int res;
+	int status = 0;
+
+	for (i = 0; i < 5; i++) {
+
+		switch (i) {
+		case 0:
+			res = get_one_image(read_param("Icon1"), 0);
+			break;
+		case 1:
+			res = get_one_image(read_param("Icon2"), 1);
+			break;
+		case 2:
+			res = get_one_image(read_param("Icon3"), 2);
+			break;
+		case 3:
+			res = get_one_image(read_param("Icon4"), 3);
+			break;
+		default:
+			res = get_one_image(read_param("IconBoom"), 4);
+			break;
+		}
+
+		switch (res) {
+		case XpmOpenFailed:
+			lputs("Xpm file open failed:");
+			status = 1 << 5;
+			break;
+		case XpmFileInvalid:
+			lputs("Xpm file is invalid:");
+			status = 1 << 6;
+			break;
+		case XpmNoMemory:
+			lputs("No memory for open xpm file:");
+			status = 1 << 7;
+			break;
+		default:
+			break;
+		}
+
+		if (!(status == 0)) {
+			status += 1 << i;
+			switch (i) {
+			case 0:
+				lputs(read_param("Icon1"));
+				break;
+			case 1:
+				lputs(read_param("Icon2"));
+				break;
+			case 2:
+				lputs(read_param("Icon3"));
+				break;
+			case 3:
+				lputs(read_param("Icon4"));
+				break;
+			case 4:
+				lputs(read_param("IconBoom"));
+				break;
+			default:
+				lputs("UNKNOWN ERROR! PLEASE REPORT!!!");
+				exit(-2);
+			}
+			exit(status);
+		}
+	}
+
+}
+
+void update_window(win, gc, whattodo)
+Window win;
+GC gc;
+unsigned int whattodo;
+{
+	int err;
+	
+	err = XPutImage(dpy, win, gc, stupid_picture[whattodo],
+			0, 0, 0, 0, 48, 48);
+
+	if (0 == err) return;
+
+	switch (err) {
+		case BadDrawable:
+			lputs("Fatal error, XPutImage returns BadDrawable. "
+					"Please report!");
+			break;
+		case BadGC:
+			lputs("Fatal error, XPutImage returns BadGC. "
+					"Please report!");
+			break;
+		case BadMatch:
+			lputs("Fatal error, XPutImage returns BadMatch. "
+					"Please report!");
+			break;
+		case BadValue:
+			lputs("Fatal error, XPutImage returns BadValue. "
+					"Please report!");
+			break;
+		default:
+			lputs("Fatal error, XPutImage returns unknown error. "
+					"Please report, but probably "
+					"it is a bug in X.");
+			break;
+	}
+}
diff --git a/images.h b/images.h
new file mode 100644
index 0000000..018064e
--- /dev/null
+++ b/images.h
@@ -0,0 +1,16 @@
+/*
+ * images.h
+ * 
+ * (c) 1998, 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ */
+
+#ifndef IMAGES_H
+#define IMAGES_H
+
+/* int get_one_image(char *, int); */
+void read_images(void);
+char *get_me_name(int);
+
+extern XImage *stupid_picture[5];	/* Icons for fookb */
+
+#endif				/* IMAGES_H */
diff --git a/lat.xpm b/lat.xpm
new file mode 100644
index 0000000..c891c28
--- /dev/null
+++ b/lat.xpm
@@ -0,0 +1,301 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 247 2",
+"   c #080000",
+".  c Gray3",
+"X  c #100808",
+"o  c #180000",
+"O  c #080821",
+"+  c #000031",
+"@  c #080831",
+"#  c #101029",
+"$  c #181831",
+"%  c #210000",
+"&  c #210810",
+"*  c #290810",
+"=  c #211010",
+"-  c #291010",
+";  c #310008",
+":  c #390008",
+">  c #291821",
+",  c #292129",
+"<  c #292939",
+"1  c #312929",
+"2  c #313131",
+"3  c #000042",
+"4  c #000052",
+"5  c #00005a",
+"6  c #080852",
+"7  c #08085a",
+"8  c #180042",
+"9  c #101042",
+"0  c #181842",
+"q  c #181852",
+"w  c #00006b",
+"e  c #000073",
+"r  c #00007b",
+"t  c #080873",
+"y  c #18006b",
+"u  c #181063",
+"i  c #181863",
+"p  c #101073",
+"a  c #10107b",
+"s  c #181873",
+"d  c #18187b",
+"f  c #21005a",
+"g  c #29184a",
+"h  c #311852",
+"j  c #290073",
+"k  c #290873",
+"l  c #21187b",
+"z  c #39106b",
+"x  c #21214a",
+"c  c #393942",
+"v  c #313152",
+"b  c #393952",
+"n  c #212163",
+"m  c #21216b",
+"M  c #21296b",
+"N  c #292963",
+"B  c #21217b",
+"V  c #292973",
+"C  c #29317b",
+"Z  c #31216b",
+"A  c #39396b",
+"S  c #31317b",
+"D  c #39397b",
+"F  c #420818",
+"G  c #4a0010",
+"H  c #520818",
+"J  c #5a0010",
+"K  c #5a0818",
+"L  c #5a0821",
+"P  c #4a2931",
+"I  c #5a3139",
+"U  c #6b0010",
+"Y  c #730010",
+"T  c #730018",
+"R  c #7b0018",
+"E  c #630821",
+"W  c #631021",
+"Q  c #6b1021",
+"!  c #6b1029",
+"~  c #730031",
+"^  c #731029",
+"/  c #7b1829",
+"(  c #732939",
+")  c #4a2973",
+"_  c #52397b",
+"`  c Gray29",
+"'  c #42425a",
+"]  c #4a4a5a",
+"[  c #5a525a",
+"{  c #42426b",
+"}  c #42427b",
+"|  c #525263",
+" . c #52526b",
+".. c #5a6373",
+"X. c #734252",
+"o. c #7b4a5a",
+"O. c Gray39",
+"+. c #63636b",
+"@. c Gray42",
+"#. c #7b6b73",
+"$. c #7b737b",
+"%. c #000084",
+"&. c #080884",
+"*. c #000094",
+"=. c #101084",
+"-. c #10108c",
+";. c #18188c",
+":. c #182184",
+">. c #212184",
+",. c #292984",
+"<. c #21219c",
+"1. c #293194",
+"2. c #29319c",
+"3. c #313184",
+"4. c #39398c",
+"5. c #313194",
+"6. c #393994",
+"7. c #39399c",
+"8. c #3131a5",
+"9. c #424284",
+"0. c #4a4a84",
+"q. c #424294",
+"w. c #4a4a9c",
+"e. c #4a529c",
+"r. c #525284",
+"t. c #52529c",
+"y. c #525a94",
+"u. c #5a5a9c",
+"i. c #4242bd",
+"p. c #4a4abd",
+"a. c #5252a5",
+"s. c #5a5aa5",
+"d. c #5252b5",
+"f. c #5a63b5",
+"g. c #636384",
+"h. c #636394",
+"j. c #73738c",
+"k. c #6363a5",
+"l. c #6b6bad",
+"z. c #7373a5",
+"x. c #7373ad",
+"c. c #7b7bad",
+"v. c #7373b5",
+"b. c #4a4ac6",
+"n. c #7373c6",
+"m. c #7b84b5",
+"M. c #840018",
+"N. c #8c0018",
+"B. c #940018",
+"V. c #941031",
+"C. c #842131",
+"Z. c #ad0021",
+"A. c #a51839",
+"S. c #b50021",
+"D. c #b50829",
+"F. c #bd0021",
+"G. c #bd0831",
+"H. c #b51839",
+"J. c #8c1852",
+"K. c #940842",
+"L. c #9c0042",
+"P. c #94185a",
+"I. c #9c185a",
+"U. c #9c2163",
+"Y. c #ad0852",
+"T. c #a5215a",
+"R. c #845263",
+"E. c #8c5263",
+"W. c #847b7b",
+"Q. c #a5424a",
+"!. c #ad4a5a",
+"~. c #bd5a6b",
+"^. c #b5637b",
+"/. c #ce0018",
+"(. c #c60021",
+"). c #c60029",
+"_. c #ce0021",
+"`. c #d60021",
+"'. c #d60029",
+"]. c #de0029",
+"[. c #de0031",
+"{. c #c61842",
+"}. c #ce1842",
+"|. c #ff4a73",
+" X c #9c73ad",
+".X c #ad7394",
+"XX c #bd7384",
+"oX c #bd738c",
+"OX c #bd73a5",
+"+X c #d64a84",
+"@X c #c67384",
+"#X c #c6738c",
+"$X c #ce738c",
+"%X c #ce7b94",
+"&X c #ff5a84",
+"*X c #848484",
+"=X c #8c8484",
+"-X c Gray55",
+";X c #94848c",
+":X c Gray58",
+">X c #8484ad",
+",X c #8484b5",
+"<X c #848cb5",
+"1X c #8c8cb5",
+"2X c #8c8cbd",
+"3X c #8c94bd",
+"4X c #9494bd",
+"5X c #9c9cb5",
+"6X c #9c9cbd",
+"7X c #a5949c",
+"8X c #a5a5a5",
+"9X c Gray68",
+"0X c #a5a5bd",
+"qX c #ada5bd",
+"wX c #b5adad",
+"eX c #8484c6",
+"rX c #9c9cc6",
+"tX c #adadc6",
+"yX c #a5add6",
+"uX c #b5b5c6",
+"iX c #bdbdce",
+"pX c #bdc6ce",
+"aX c #ce8494",
+"sX c #d68494",
+"dX c #ff84ad",
+"fX c #c6bdce",
+"gX c #cebdc6",
+"hX c #cecece",
+"jX c #c6c6d6",
+"kX c #cecede",
+"lX c #ced6de",
+"zX c #d6c6ce",
+"xX c #d6dede",
+"cX c #dedeef",
+"vX c #e7cee7",
+"bX c #e7d6ef",
+"nX c #ffcef7",
+"mX c #f7dee7",
+"MX c #ffdee7",
+"NX c #e7e7e7",
+"BX c #e7e7ef",
+"VX c #efe7f7",
+"CX c #efeff7",
+"ZX c #f7e7ef",
+"AX c #ffe7ef",
+"SX c Gray97",
+"DX c Gray100",
+/* pixels */
+"$ @ 3 3 6 q n q q q n n i q q 0 q n i q q x q i m 0 ' v q m n q q q g ( C.C.C.C.C.C.( Q.~.!./ Q ",
+"@ n j.N B <.7.f.cXyXd.p.p.eXcXjXeXi.b.n.kXcXyXp.d.yXSXCXn.b.p.yXcXkX X+X|.|.|.|.|.&XdXnXDX&XG.D.",
+"# ' 9X*XV r a r.hX8XS t t 9.hXhX9.t t i 0XhXr.t t r.hX5Xi t t 0.lX4Xh K.D.S.D.D.G.G.G.}.}.G.Z.Z.",
+"O < =X0.3 5 4 Z :Xj.3 5 5 6 j.j.4 u m 4 0.g.q 7 4 n A { 3 m 7 q g.{ 8 ~ B.B.B.N.N.N.N.N.N.N.M.M.",
+"O 0 9 x r.5X>Xz.7 4.z.0X1X3.e w S 0XpX3.r e 4.uXqXD e e 3.iX0XD r %.s .X at XXXXXoXoXoXXXXXR.E.R.R.",
+"O + 3 3 0.SXjXt %.r y.SXjXa %.*.t 0XDXm %.%.t 0XtXt &.r B DX5Xt *.*.=.SXDXSXDXSXDXSXCXNX9X8X7X7X",
+"O @ x 9 A c.l.d w.,.} ,Xh.d >.9.s 3XrXd s.tXD >X4XM c.k.s 6XrXB q.>.l vXmXmXmXZXmXmXmXzX7X;X;X-X",
+"# c @.*X9.r a 6XDXNXw.e r v.SXDXz.e %.4.fXDXl.%.r l.DXiX3.r e rXDXcX_ P.H.H.H.H.A.H.A.A.^ ! ! Q ",
+"O # #.| 5 %.r m CX1X5 %.r m SXCXs %.%.5 rXjX9.e r a CXtXw %.e s CXm.f Y.].].].[.[.[.).).N.R R R ",
+"O < <  .S 0Xs.6.:.7.=.c.l.:.3.3.w.rXtX,Xw.a v.rX3Xw.3.9.a.4XtXz.p 8.z Y.].].].[.[.[.[.).B.M.M.M.",
+"O + + 3 g.DXjX3.%.%.6.DXfX3.%.%.=.kXDXy.e *.a xXcXp %.e 0.DXDXe.%.*.k Y.].].].'.[.'.).).N.R M.R ",
+"O + 3 3 D iX6Xw %.r t CXtXw =.5.w h.iX9.t q.w h.l.p >.q.i 6X6Xt 7.-.y U.{.H.{.H.H.H.H.A./ ! ! ! ",
+"# < ]  .l.t w.>XtX4Xw.S 4.q.iXkXk.-.a l.uXSXl.&.r x.SXDXl.e e z.DXyX9.vXZXMXZXSXVXSXZXkX7X;X:X;X",
+"O $ #. at .t %.%.u.DXkXa r %.a 6XDXD %.*.t 6XSX} %.*.>.CXCX>.*.%.3.DX5Xq SXDXDXDXDXDXDXSXNX8X:X:X:X",
+"O $ b b 5 w.:.r 0Xh.r 5.=.&.,Xh.k.t 5.t ,Xy.x.V :.>.4.D d >.9.k.t.m.Z OXsXsX$XsXsX%X%XXXE.o.o.o.",
+"O @ + 6 g.CXuX6.%.*.6.kXiX4.%.%.4.iXkXh.&.r q.BXBX6.%.%.l.SXDXx.e *.k L././.(.(.F.F.F.Z.Y Y Y Y ",
+"O + 3 3 A CX0Xt %.%.B DXtXt %.%.t 0XDXS w &.5 6XrXw %.r p SXCXi %.*.j Y.].].].].[.'.'.).B.M.M.M.",
+"# # ] v h.u.2XC c.l.m rX4X:.k.c.,.2Xy.0X2XyX,X3.3.a.4XtXt.4.9.1.yXl.z Y.].].'.].[.[.).).N.R R M.",
+"O < @. at .S r t l.DXpX4.r r 3.fXDXh.=.r d kXDXu.%.%.e.DXDXy.%.%.z.DXiX) I.{.H.{.H.H.H.H.A./ ^ ! ! ",
+"O $ [  .5 %.*.7 CXtXw %.%.t 6XjX0.e %.&.k.,X>.r %.t rX0Xt %.w 4.jX4Xu bXZXMXZXVXAXVXZXzX7X;X;X;X",
+"O $ @ x m 6.>.;.5.q.>.c.l.;.6.t w.h.,Xa *.r w.rX4X6.e w q.uX4Xx.a 7.>.SXDXDXDXDXDXDXSXNX8X:X7X:X",
+"O + 3 3 ,XDXcX7.%.e h.DXfX1.%.%.,.jXDX3.*.*.a hXkX:.%.r y.DXjXa *.*.=.vXmXmXmXmXmXmXvXzX7X-X-X=X",
+"O + x 3 i cX1Xu >.4.r.jX6Xs ,.q.i tXCXm C q.s 0XtXp k.c.n tXk.m q.1.z J.A.A.A.V.A.A.A.V.Q E E E ",
+"# # @.| D a ,.s.DXDX4Xt 5.w.lXDX1Xw.1.w.kXDX3Xq.7.q.lXDXl.%.a m.DXkX_ L.`.`.`.'._.).(.S.M.R Y T ",
+"O < [ ..t *.*.-.6XrX&.*.*.&.l.<X1.*.*.%.v.3X,.*.*.*.3XrX&.*.*.2.m.f.j Y.].].'.[.].[.'.).N.M.M.M.",
+"O $ # v m -.-.:.i p d =.;.;.s t >.-.;.-.d p >.;.-.:.p p ;.-.=.>.t d z T.{.{.{.{.{.{.H.A./ ^ ^ ! ",
+", [ +.*XxXBXCXVXVXCXCXCXCXCXCXCXCXCXCXCXCXBXCXCXCXCXCXCXCXCXCXCXCXCXCXSXZXZXZXZXBXZXZXkX7X;X;X;X",
+"1 O. at .:XxXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X",
+"2 [ @.:XxXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X7X:X:X",
+"> P I X.^. at X@X at X#X at X#X at X$X at X@X$X at X$X at X@X at X@X at X$X at X@X at X@X at X@X$X at X#X$X#X$X at X$X at X$X#X#X at X^.o.X.X.X.",
+"= G G U B.S.F.F.S.F.S.F.S.F.S.F.S.S.F.F.S.F.S.S.F.F.F.S.F.S.S.S.S.Z.S.S.S.Z.S.Z.S.Z.Z.B.Y U U J ",
+"- G J Y F._._.`.`.`.).`.`.`.).`.`.`._.`.'.`.`.`.`._.`.'.`._.`.`.'.).`.'._.'.).`.'.).).).N.R R R ",
+"* G J R ).'.'.[.[.[.'.].'.[.].[.[.[.'.'.].'.[.[.[.[.'.'.[.'.].[.[.].'.].[.'.].[.'.].'.(.N.R M.M.",
+"- F L ! A.{.{.{.H.{.{.{.{.{.{.{.H.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.H.A./ ^ ^ ! ",
+"2 [ O.-XzXmXZXZXVXZXVXZXVXBXZXZXVXZXVXBXZXVXZXBXZXVXZXBXZXVXZXBXZXVXBXZXVXZXZXVXZXVXZXkX7X;X;X;X",
+"2 [ #.;XcXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X",
+"1 [ @.*XzXmXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXmXzX7X;X:X;X",
+"= F F W V.A.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.A.H.H.H.H.A.H.H.A.A.A.Q Q Q W ",
+"- G J Y S.(._._._.).)._._.)._._._.).).)._.)._._.).).)._.)._._._.).).)._.)._._._._.)._.S.M.R Y Y ",
+"- G J T F.).).'.).'.).'.).'.).).'.)._.'.'.'.).).'.).'.'.'.).).'.'.'.'.'.'.).).'.'.).(.).N.R R R ",
+"* G G U Z.S.F.F.F.F.F.F.F.S.).F.F.F.F.S.F.S.).F.F.S.F.F.S.).F.F.S.S.S.F.S.).F.F.S.F.S.Z.T T U T ",
+"> I I X.XX%X%XaXsX%XaXaXsXaXaXaX%XaX%XaXaXaXaXaXsX%XaXaXaXaXaXaXsX%XaXaXaXaXaXaXsX%X%XXXR.X.o.o.",
+", [ +.*XxXSXSXSXSXSXDXSXSXSXSXDXSXDXSXDXSXDXSXSXSXDXSXDXSXSXDXSXSXDXSXDXSXSXDXSXDXSXCXxX7X-X:X-X",
+", ` [ [ wXgXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXwX#.$.W.W.",
+"= * * F F H K L L L K L L L L L L L K L L L L L L K L L L L L L L K L L L L L L L H H H F L L L ",
+"X ; ; ; ; ; : ; : ; : ; : ; : ; : ; : ; ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : : G G : G J ",
+"X       X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % ; ; : ",
+"= . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X X & * "
+};
diff --git a/opts.c b/opts.c
new file mode 100644
index 0000000..9cd33a6
--- /dev/null
+++ b/opts.c
@@ -0,0 +1,115 @@
+/*
+ * File: opts.c
+ *
+ * Created: Sun Sep 26 00:10:42 1999
+ */
+
+#include <stdio.h>
+
+#ifdef HAVE_LIBPROPLIST
+#ifdef HAVE_PROPLIST_H
+#define PROPLIST
+#endif
+#endif
+
+#include <string.h>
+
+#include <X11/Xlib.h>		/* X Window standard header */
+#include <X11/Xresource.h>	/* X resource manager stuff */
+
+#include "fookb.h"
+#include "opts.h"
+
+static int tblentr = 6;		/* There are 6 recognized
+				   options */
+static XrmOptionDescRec tbl[] = {
+	{"-icon1", ".icon1",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon2", ".icon2",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon3", ".icon3",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon4", ".icon4",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-iconboom", ".iconBoom",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-display", ".display",
+	 XrmoptionSepArg,
+	 (XPointer) NULL}
+};
+
+void ParseOptions(argc, argv)
+int *argc;
+register char *argv[];
+{
+	XrmValue value;
+	char *str_type[20];
+	mydispname[0] = '\0';
+
+	XrmParseCommand(&cmdlineDB, tbl, tblentr, "fookb", argc, argv);
+
+#ifdef DEBUG
+	puts("Hereiam");
+#endif
+
+	if (1 != *argc) {
+		puts("Fookb v 2.13");
+		puts("\tUsage: fookb [options]");
+		puts("Possible options:");
+		puts("-icon1 xpm_file\t\tIcon to show for the 1st Xkb group");
+		puts("-icon2 xpm_file\t\tIcon to show for the 2nd Xkb group");
+		puts("-icon3 xpm_file\t\tIcon to show for the 3rd Xkb group");
+		puts("-icon4 xpm_file\t\tIcon to show for the 4th Xkb group");
+		puts("-iconboom xpm_file\tIcon to show when Xkb system goes crazy");
+		puts("-display X_display\tX display to use (normally not needed)");
+		puts("");
+#ifdef PROPLIST
+		puts("Command line parameters takes precedence over X resources or configuration file!");
+		printf("Configuration file location: ");
+#ifdef WMAKER
+		puts("~/GNUstep/Defaults/FOOkb");
+#else
+		puts("~/.fookb");
+#endif
+#else
+		puts("Command line paramaters takes precedence over X resources!");
+#endif
+		exit(0);
+	}
+
+	/* We should get display now -- we need it for access to other
+	   databases */
+	if (XrmGetResource(cmdlineDB, "fookb.display", "Fookb.Display",
+			   str_type, &value) == True) {
+		(void) strncpy(mydispname, value.addr, (size_t)value.size);
+#ifdef DEBUG
+		puts(mydispname);
+#endif
+	}
+
+}
+
+void MoreOptions()
+{
+
+	XrmDatabase servDB, appDB;
+
+	appDB = XrmGetFileDatabase
+		("/usr/X11R6/lib/X11/app-defaults/Fookb");
+	(void) XrmMergeDatabases(appDB, &finalDB);	/* Fookb defaults file
+							   added into final
+							   database */
+
+	/* Let's look: does xrdb load server defautls? (As a property of
+	   root window.) */
+	if (XResourceManagerString(dpy) != NULL) {
+		servDB = XrmGetStringDatabase(XResourceManagerString(dpy));
+		XrmMergeDatabases(servDB, &finalDB);
+	}
+
+}
diff --git a/opts.h b/opts.h
new file mode 100644
index 0000000..9ba2082
--- /dev/null
+++ b/opts.h
@@ -0,0 +1,33 @@
+/*
+ * File: opts.h
+ *
+ * (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ *
+ * Created: Sun Sep 26 00:10:23 1999
+ */
+
+#ifndef OPTS_H
+#define OPTS_H
+
+/* X Window resource management */
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+extern XrmDatabase cmdlineDB;	/* Database for resources from command 
+				   line */
+
+extern XrmDatabase finalDB;	/* Database for resources from other
+				   sources -- app-defaults and X
+				   Window resources */
+
+void ParseOptions(int *argc, register char *argv[]);	/* Parse
+							   command
+							   line
+							   options */
+
+void MoreOptions(void);		/* Parse
+				   app-defaults
+				   and X
+				   resources
+				   database */
+
+#endif				/* OPTS_H */
diff --git a/params.c b/params.c
new file mode 100644
index 0000000..e45b644
--- /dev/null
+++ b/params.c
@@ -0,0 +1,92 @@
+#include <stdio.h>
+#include <string.h>		/* strlen & strcat */
+#include <ctype.h>		/* toupper */
+#include <stdlib.h>
+#ifdef HAVE_LIBPROPLIST
+#ifdef HAVE_PROPLIST_H
+#define PROPLIST
+#endif
+#endif
+#include "params.h"
+#include "opts.h"
+
+char *read_param(string)
+char *string;
+{
+
+	XrmValue xvalue;
+
+#ifdef HAVE_LIBPROPLIST
+#ifdef HAVE_PROPLIST_H
+#define PROPLIST
+#endif
+#endif
+
+#ifdef PROPLIST
+	proplist_t pl, value;
+#endif
+
+	char *newstring;
+	char *newString;
+	char *result;
+	char *str_type[20];
+
+	newstring = (char *) malloc(7 + strlen(string));	/* 7 is
+								   strlen("fookb.") + 1 */
+	newString = (char *) malloc(7 + strlen(string));	/* The same */
+
+	strcpy(newstring, "fookb.");
+	strcpy(newString, "Fookb.");
+
+	strcat(newstring, string);
+	strcat(newString, string);
+	newstring[6] = tolower(newstring[6]);
+	newString[6] = toupper(newString[6]);
+
+/* Command line parameters take precedence over all */
+
+	if (XrmGetResource(cmdlineDB, newstring, newString, str_type,
+			   &xvalue) == True) {
+		result = (char *) malloc((int) xvalue.size + 1);
+		strncpy(result, xvalue.addr, (int) xvalue.size);
+		result[(int) xvalue.size + 1] = '\0';
+		return result;
+	}
+#ifdef PROPLIST
+
+	pl = PLGetProplistWithPath(DEFAULTS_FILE);
+
+	if (!pl) {
+		puts("Cannot open config file: ");
+		puts(DEFAULTS_FILE);
+		exit(20);
+	}
+
+	value = PLGetDictionaryEntry(pl, PLMakeString(string));
+
+	if (!value) {
+		puts("Cannot find in config file value for: ");
+		puts(string);
+		exit(21);
+	}
+
+	result = (char *) malloc(strlen(PLGetString(value)) + 1);
+	strcpy(result, PLGetString(value));
+	return result;
+
+#else				/* PROPLIST */
+
+	if (XrmGetResource(finalDB, newstring, newString, str_type,
+			   &xvalue) == True) {
+		result = (char *) malloc((int) xvalue.size + 1);
+		strncpy(result, xvalue.addr, (int) xvalue.size);
+		result[(int) xvalue.size + 1] = '\0';
+		return result;
+	} else {
+		printf("Fatal error: cannot find configuration parameter %s\n", newstring);
+		exit(25);
+	}
+
+#endif
+
+}
diff --git a/params.h b/params.h
new file mode 100644
index 0000000..95b9423
--- /dev/null
+++ b/params.h
@@ -0,0 +1,27 @@
+/*
+ * params.h
+ *
+ * (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ *
+ */
+
+#ifndef PARAMS_H
+#define PARAMS_H
+
+#ifdef PROPLIST
+#include <proplist.h>
+
+#ifdef WMAKER
+#define DEFAULTS_FILE "~/GNUstep/Defaults/FOOkb"
+#else
+#define DEFAULTS_FILE "~/.fookb"
+#endif				/* WMAKER */
+
+#endif				/* PROPLIST */
+
+#include <X11/Xlib.h>		/* X Window standard header */
+#include <X11/Xresource.h>	/* X resource manager stuff */
+
+char *read_param(char *);
+
+#endif				/* PARAMS_H */
diff --git a/rus.xpm b/rus.xpm
new file mode 100644
index 0000000..f0fbbd5
--- /dev/null
+++ b/rus.xpm
@@ -0,0 +1,310 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 256 2",
+"   c Gray0",
+".  c #070000",
+"X  c #0c0000",
+"o  c #130000",
+"O  c #1d0001",
+"+  c #150c27",
+"@  c #1f1234",
+"#  c #1c1927",
+"$  c #270002",
+"%  c #3d0002",
+"&  c #330002",
+"*  c #362b2b",
+"=  c #3d3838",
+"-  c #00034c",
+";  c #00045e",
+":  c #1b0756",
+">  c #1b084a",
+",  c #00056e",
+"<  c #1b0676",
+"1  c #1e086a",
+"2  c #321f5c",
+"3  c #271456",
+"4  c #2f1b6b",
+"5  c #311d6e",
+"6  c #382b55",
+"7  c #3d3a4a",
+"8  c #372270",
+"9  c #410003",
+"0  c #450003",
+"q  c #4c0003",
+"w  c #42080a",
+"e  c #5d0004",
+"r  c #550004",
+"t  c #5c1c1f",
+"y  c #481214",
+"u  c #4e3e3e",
+"i  c #592526",
+"p  c #5e3436",
+"a  c #6d0005",
+"s  c #670205",
+"d  c #660e11",
+"f  c #730005",
+"g  c #780005",
+"h  c #7e0005",
+"j  c #7b181b",
+"k  c #733739",
+"l  c #433858",
+"z  c #412e7d",
+"x  c #4a3a75",
+"c  c #4c4a4a",
+"v  c #564040",
+"b  c #544e58",
+"n  c #5b595a",
+"m  c #4a4757",
+"M  c #4a4163",
+"N  c #534d65",
+"B  c #554778",
+"V  c #5b5a69",
+"C  c #684f50",
+"Z  c #675a5b",
+"A  c #775556",
+"S  c #764345",
+"D  c #6e5f60",
+"F  c #635a7d",
+"G  c #6d6b6b",
+"H  c #646367",
+"J  c #696877",
+"K  c #716d6d",
+"L  c #7c6565",
+"P  c #716e7c",
+"I  c #747373",
+"U  c #7c7b7b",
+"Y  c #72737e",
+"T  c #000796",
+"R  c #000690",
+"E  c #1c099f",
+"W  c #190785",
+"Q  c #0007a5",
+"!  c #180aba",
+"~  c #1808a8",
+"^  c #210d9a",
+"/  c #2a14a8",
+"(  c #2e18b2",
+")  c #3c238b",
+"_  c #3e26af",
+"`  c #3323bc",
+"'  c #0e0adc",
+"]  c #140ac8",
+"[  c #140cd7",
+"{  c #1f1adb",
+"}  c #000ae2",
+"|  c #0c0ce9",
+" . c #000bf7",
+".. c #040bf7",
+"X. c #000bfd",
+"o. c #010cfd",
+"O. c #1111eb",
+"+. c #2114d2",
+"@. c #3827c4",
+"#. c #432b97",
+"$. c #4f368e",
+"%. c #51348f",
+"&. c #553d97",
+"*. c #48318f",
+"=. c #553aa1",
+"-. c #4636c5",
+";. c #59458a",
+":. c #5d499d",
+">. c #4a41bc",
+",. c #614e8a",
+"<. c #6a5495",
+"1. c #735d9e",
+"2. c #654dab",
+"3. c #755ea5",
+"4. c #6e6587",
+"5. c #7a689b",
+"6. c #7e7d8c",
+"7. c #777686",
+"8. c #7d7793",
+"9. c #7f8585",
+"0. c #850006",
+"q. c #8e0006",
+"w. c #960007",
+"e. c #910006",
+"r. c #940309",
+"t. c #9e1f24",
+"y. c #97292c",
+"u. c #a40007",
+"i. c #ab0107",
+"p. c #b60209",
+"a. c #b01015",
+"s. c #ba1d23",
+"d. c #9d3f42",
+"f. c #9b4649",
+"g. c #9d5c5e",
+"h. c #816767",
+"j. c #857b7b",
+"k. c #957879",
+"l. c #916668",
+"z. c #a27779",
+"x. c #c6020a",
+"c. c #d5000a",
+"v. c #dc000a",
+"b. c #db000a",
+"n. c #d21017",
+"m. c #d0282e",
+"M. c #c7282e",
+"N. c #e2000a",
+"B. c #e0040d",
+"V. c #ea010a",
+"C. c #f7000b",
+"Z. c #f5010b",
+"A. c #f2010c",
+"S. c #fd000b",
+"D. c #fe010c",
+"F. c #fc020d",
+"G. c #fa010c",
+"H. c #d04045",
+"J. c #837b8c",
+"K. c #827993",
+"L. c #887ba7",
+"P. c #83838e",
+"I. c #8f8c8c",
+"U. c #8d8d8d",
+"Y. c #888586",
+"T. c #848592",
+"R. c #878994",
+"E. c #888796",
+"W. c #898a95",
+"Q. c #8f8e9c",
+"!. c #8c8c9a",
+"~. c #8d9094",
+"^. c #8d9099",
+"/. c #918e8e",
+"(. c #9a8787",
+"). c #908f9d",
+"_. c #9c8f90",
+"`. c #929191",
+"'. c #969393",
+"]. c #969797",
+"[. c #91919f",
+"{. c #93959d",
+"}. c #959a9c",
+"|. c #9a9595",
+" X c #9c9a9a",
+".X c #928aa4",
+"XX c #9495a2",
+"oX c #9798a4",
+"OX c #999aa6",
+"+X c #9a9ba8",
+"@X c #9f9fad",
+"#X c #9c9daa",
+"$X c #9a95a9",
+"%X c #9ca2a5",
+"&X c #9fa0ab",
+"*X c #a48a8a",
+"=X c #aa8d8d",
+"-X c #a59b9b",
+";X c #aa9596",
+":X c #ab9c9c",
+">X c #a29495",
+",X c #ba9b9b",
+"<X c #b39797",
+"1X c #a09fad",
+"2X c #a4a2a2",
+"3X c #a1a2ae",
+"4X c #aba3a3",
+"5X c #adaaaa",
+"6X c #a4a4b1",
+"7X c #a6a8b4",
+"8X c #a9aab6",
+"9X c #acadba",
+"0X c #aeb2b2",
+"qX c #afb6bb",
+"wX c #b5aaab",
+"eX c #b7a6a7",
+"rX c #b4b3b3",
+"tX c #b1b2be",
+"yX c #bbb7b7",
+"uX c #b8b7b7",
+"iX c #bbb2b2",
+"pX c #bdbaba",
+"aX c #b5baba",
+"sX c #b8b8c7",
+"dX c #c59f9f",
+"fX c #c4898a",
+"gX c #c2a3a3",
+"hX c #c6acac",
+"jX c #c7baba",
+"kX c #d2aeae",
+"lX c #d6b6b6",
+"zX c #cbc7c7",
+"xX c #c9c5c5",
+"cX c #c9c0c0",
+"vX c #cecaca",
+"bX c #c4c5c8",
+"nX c #cbd1d1",
+"mX c #d7c9c9",
+"MX c #dad6d6",
+"NX c #ded9d9",
+"BX c #d6d2d2",
+"VX c #c6c8d3",
+"CX c #e2c7c7",
+"ZX c #e1dddd",
+"AX c #ead8d8",
+"SX c #e5e0e0",
+"DX c #eee7e7",
+"FX c #f3ecec",
+"GX c #f3e7e7",
+"HX c #f6f1f1",
+"JX c #f5f0f0",
+"KX c #fbf6f6",
+"LX c #fbf5f5",
+"PX c #fcf7f7",
+"IX c #faf2f2",
+"UX c Gray100",
+/* pixels */
+"4XpXvXMXZXDXFXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXKXUXUXUXUXFXZX",
+"/.4XpXxXMXFXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXMXvX",
+"U /.2XwXpXjXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXvXvXBXZXSXvXxXpX",
+"H U /. X2XrXyXyXyXyXpXyXyXyXpXyXpXyXyXpXyXyXpXyXyXyXpXyXpXyXyXpXyXyXpXyXyXyXpXyXyXpXyXrXrXrXwX5X",
+"n G j.I.vXNXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXZXBX2X4X2X-X",
+"b H I `.MXDXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXFXNX4X X X|.",
+"c n K /.NXJXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXIXdXkXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJXZX2X|.|.'.",
+"c n G I.NXJXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXmXdX;X,XkXlXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJXZX2X'.'.'.",
+"c n K /.NXHXKXKXPXPXPXPXPXPXPXPXPXPXPXPXPXkX5XnXpXuXbXrXCXPXPXPXPXPXPXPXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G /.NXHXKXKXPXPXPXPXPXPXPXPXAXDXPXPXmXh.aXuXuXrXpXqXlXPXPXPXDXAXIXPXPXPXPXPXKXKXJXZX-X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXPXKXCXeX(.lXPX,X* U  X2X2X}.4XAXFXPXlX(.;XCXPXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXPXCX,XpX=XhXgX:Xn b 5X X].2XgXlX;X,XiX<XgXlXAXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXKX=XaX(.k.vX/.Y.Y.0X`.= c |.eXj.9.9.nXk.<XcXlXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXKXAX>X;XeXu I.`.I U yX*XL u A rXY.K U.wXL <XgXhXJXPXPXPXKXKXJXZX-X'.'.`.",
+"c n K I.NXHXKXKXPXPXPXPXlX*XwX=XAXh.G ].`.U.*XGXFX=X* K `.Y.].:X<X*X*XhXkXkXPXPXKXKXJXZX2X'.'.`.",
+"c n K /.NXHXKXKXPXPXKXlX;X%X0XY.AX*XY.I U  X].,XIXmXK ].I.G j.|.*XL U uX2XjXCXKXKXKXJXZX2X'.'.`.",
+"- ; , R }  .o.o.o.o.| ;.{.[.{.oX;.4 H V [.).[.%X#.) ~.[.[.^.,.,.8 x R.XX[.$X5.O.o.o...} Q T T T ",
+"- ; , R }  .o.o.o.../ 7.oX#XE.7XT.8 N P [.T.T.Q.K.E.Q.T.T..X<.$.6 6.6X!. at X}.L.+...o...} Q T T T ",
+"- ; , R '  .o.o.o.' 5.R.&XE.OX at X&Xx < > + # 7.T.#X&XE.7.5 E ] W l OX+XXXQ.3X.X1...o...} Q T T R ",
+"- ; , R }  .o.o.o.! 4.3XW.3X3X at X3XoX( ' W + Y P.XXXXP.7./ o.| 5 ~.3X6X3X6X!.%X2.| o...} Q T T T ",
+"- ; , R }  .o.o...*.}.3XXX[.+XOX#X0X&.o.~ V #XoXOX at X+X%X<.| ~ N 8X3XOX#X[.[.1XK.-.o. .} Q T T T ",
+"- ; , R '  .o.o.' 4 XXW.P.+X+XXX6X%X;.[ z T.8XtXXXoX at X8XXX;.3 N OX6XXXOX#XE.P..X{ o. .} Q T T T ",
+"- ; , R }  .o.o.[ F T.XXXX[.#X+X#X at XQ.7.{.oX8X9XR.P E.XXoX{.9.E. at X3XoX#XoXQ.W.J.>.o. .} Q T T T ",
+"- ; , R }  .o...! M R.T.9XoXoXXX#X at X6X3X&XQ.#X7X at X!.OXE.Q. at X7X6X6X#XXXOXOXQ.W.OX-.o. .} Q T T T ",
+"- ; , R }  .o.o.! 6 {.8X3XOX+X#X#X#X6X at XXX6.[.sX7XXX at XQ.6.Q.+X@X#X+X at X@X).6.W.J.` o. .} Q T T R ",
+"- ; , R }  .o.o.] x R.#XoXoXOX3X#X+XOX[.W.T.XX#XoXQ.Q.XXR.T.T.).[.XX#X#XXXQ.XX5. at .o. .} Q T T T ",
+"- ; , R '  .o.o.' 1 7 T.Q.[.[.XX[.oXXX[.6.[.Q.!.+XQ.T.XXQ.T.[.XXXX[.Q.XXXXQ.3X=...o. .} Q T T T ",
+"- ; , R }  .o.o.o.^ J XXXX6.T.T.[.Q.Q.oX7.6X#XW.OX3XoX6XOX6.Q.XXQ.XXE.Q.Q.oX.X3.| o. .} Q T T T ",
+"- ; , R }  .o.o.o.] : 7 P.6X3XQ.T.6.T.#X3X[.7.E.Q.[.W.J H oXXXE.E. at XE.E.8X9.%.| o.o. .} Q T T T ",
+"- ; , R }  .o.o.o...~ 6 J 7.bXoXP.oXW.6XsXQ.Q.8XT.T.7XE.6.sX7X at XE.E.7X%X8.2._ o.o.o. .} Q T T T ",
+"- ; , R '  .o.o.o.o.| ~ : m P.oX7.4.N b +X+X9X8X at X@X8X9XOX+XV m !.VXsX5.&.o.o.o.o.o. .} Q T T T ",
+"- ; , R }  .o.o.o.o.o.o.] : @ 7.*.~ : V XX+X3XoX#X3XoX6X#XXX7.V #XtX at X( ..o.o.o.o.o. .} Q T T T ",
+"- ; , R }  .o.o.o.o.o.o.o.' < B L.:.B tXtX3XQ.P T.7.Y [.6X8XtX7X#X{.$X+.o.o.o.o.o.o. .} Q T T T ",
+"q e a e.v.C.S.S.D.D.D.D.D.D.p.L ~.0XpX(.p S h.L -X>Xj.Y.A i j.5X2X XH.G.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.S.u.b I.;Xs.p.k *X(.:XiXwX:X(.=XS w t y.n.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.S.x.y A z.M.a.wX;X4X:X>X:X:X4XfXgXs.N.G.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.D.C.p.g f.z.k J.C -X_.:XeX;XjXf.g.m.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.D.D.D.D.c.x.a.d A Z k.h.(.j.j.;XA d.A.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.D.D.D.D.D.G.V.i.r.a i K /.j.l.t.x.G.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.v.C.S.S.D.D.D.D.D.D.D.D.D.D.D.G.Z.c.q.d j a.B.G.D.D.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.A.v.V.G.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.N.u.w.w.w.",
+"q r a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.v.u.e.w.e.",
+"0 r s 0.b.A.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.A.b.w.q.q.q.",
+"9 q r s p.c.b.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.b.c.x.h 0.0.0.",
+"& % q r r f g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g s a f g g ",
+"$ $ & % % % 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 q r e s ",
+"X o o o O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O $ $ $ & % q ",
+"                                                                                        X o O $ "
+};
diff --git a/sound.c b/sound.c
new file mode 100644
index 0000000..7280aff
--- /dev/null
+++ b/sound.c
@@ -0,0 +1,50 @@
+/*
+ * File: sound.c
+ *
+ * Created: Sun Sep 19 16:53:19 1999
+ */
+
+#include <unistd.h>		/* fork() */
+#include <sys/types.h>		/* pid_t */
+#include <stdlib.h>		/* system */
+#include <errno.h>
+#include <stdio.h>		/* puts() */
+
+
+#include "sound.h"
+#include "params.h"
+
+void drip()
+{
+
+	pid_t pid;
+
+	pid = fork();
+
+	if (pid == (pid_t) (-1)) {
+		puts("Cannot fork!");
+		switch (errno) {
+		case ENOMEM:
+			puts("Not enough memory!");
+			exit(22);
+			break;
+		case EAGAIN:
+			puts("To many processes!");
+			exit(23);
+			break;
+		default:
+			puts("Unknown error, please report!");
+		}
+	}
+
+	if (pid == (pid_t) 0) {
+		return;
+	}
+
+	if (!strcmp(read_param("Sound"), "Yes")) {
+		exit(system(read_param("Command")));
+	} else {
+		exit(0);
+	}
+
+}
diff --git a/sound.h b/sound.h
new file mode 100644
index 0000000..a91aa23
--- /dev/null
+++ b/sound.h
@@ -0,0 +1,14 @@
+/*
+ * File: sound.h
+ *
+ * (c) 1999, 2000, 2001 Alexey Vyskubov <alexey at pepper.spb.ru>
+ *
+ * Created: Sun Sep 19 16:52:45 1999
+ */
+
+#ifndef SOUND_H
+#define SOUND_H
+
+void drip(void);
+
+#endif
diff --git a/xrmdb.h b/xrmdb.h
new file mode 100644
index 0000000..072230b
--- /dev/null
+++ b/xrmdb.h
@@ -0,0 +1,7 @@
+extern XrmDatabase cmdlineDB;	/* Database for resources from command 
+				   line */
+
+extern XrmDatabase finalDB;	/* Database for resources from other
+				   sources -- app-defaults and X
+				   Window resources */
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/fookb.git



More information about the Pkg-wmaker-commits mailing list