From:
http://gentoo.osuosl.org/distfiles/wmfortune-0.241.tar.gz
---
 wmfortune/CHANGES                      |   34 +
 wmfortune/INSTALL                      |   17 +
 wmfortune/Makefile                     |   35 +
 wmfortune/README                       |   28 +
 wmfortune/TODO                         |    2 +
 wmfortune/XPM/panel.xpm                | 1143 ++++++++++++++++++++++++++++++++
 wmfortune/XPM/panel_button_pressed.xpm | 1083 ++++++++++++++++++++++++++++++
 wmfortune/XPM/panel_window.xpm         |   70 ++
 wmfortune/dockapp.c                    |  565 ++++++++++++++++
 wmfortune/dockapp.h                    |  230 +++++++
 wmfortune/wmfortune.c                  |  222 +++++++
 11 files changed, 3429 insertions(+)
 create mode 100644 wmfortune/CHANGES
 create mode 100644 wmfortune/INSTALL
 create mode 100644 wmfortune/Makefile
 create mode 100644 wmfortune/README
 create mode 100644 wmfortune/TODO
 create mode 100644 wmfortune/XPM/panel.xpm
 create mode 100644 wmfortune/XPM/panel_button_pressed.xpm
 create mode 100644 wmfortune/XPM/panel_window.xpm
 create mode 100644 wmfortune/dockapp.c
 create mode 100644 wmfortune/dockapp.h
 create mode 100644 wmfortune/wmfortune.c

diff --git a/wmfortune/CHANGES b/wmfortune/CHANGES
new file mode 100644
index 0000000..0feeb3c
--- /dev/null
+++ b/wmfortune/CHANGES
@@ -0,0 +1,34 @@
+
+RCS file: RCS/wmfortune.c,v
+Working file: wmfortune.c
+head: 0.24
+branch:
+locks: strict
+access list:
+symbolic names:
+keyword substitution: kv
+total revisions: 5;    selected revisions: 5
+description:
+wmfortune: DockApp that shows the fortune messages.
+----------------------------
+revision 0.24
+date: 2000/03/28 01:49:58;  author: sugano;  state: Exp;  lines: +4 -2
+found the small bug arround the button press.
+----------------------------
+revision 0.23
+date: 2000/03/27 00:18:55;  author: sugano;  state: Exp;  lines: +6 -6
+changed the UI a little.
+----------------------------
+revision 0.22
+date: 2000/03/26 23:39:58;  author: sugano;  state: Exp;  lines: +30 -27
+very stable, but UI's not finished.
+----------------------------
+revision 0.21
+date: 2000/03/25 17:03:52;  author: sugano;  state: Exp;  lines: +136 -87
+beautifulized the code a little.
+much better to read.
+----------------------------
+revision 0.20
+date: 2000/03/25 14:50:27;  author: sugano;  state: Exp;
+Started using the RCS.
+=============================================================================
diff --git a/wmfortune/INSTALL b/wmfortune/INSTALL
new file mode 100644
index 0000000..5039c03
--- /dev/null
+++ b/wmfortune/INSTALL
@@ -0,0 +1,17 @@
+WMFORTUNE INSTALLATION
+
+Before installation.
+
+    Make sure fortune command is in your path.
+
+
+To compile and install wmfortune.
+
+    (1) Edit Makefile as you like.
+    (2) Type "make"
+    (3) Then type "make install"
+
+
+To uninstall.
+
+     Just type "make uninstall".
diff --git a/wmfortune/Makefile b/wmfortune/Makefile
new file mode 100644
index 0000000..000cd71
--- /dev/null
+++ b/wmfortune/Makefile
@@ -0,0 +1,35 @@
+### Edit here as you like :)
+BINDIR = /usr/local/bin
+############################
+
+DEST = wmfortune
+
+# Programs used to move the binary to the proper place.
+INSTALL = /usr/bin/install
+INSTALL_PROGRAM = ${INSTALL} -m 755
+UNINSTALL_PROGRAM = rm -f
+
+CC = gcc
+OPTIMIZE = -O2
+XLIBDIR = /usr/X11R6/lib
+#XLIB = -ldockapp -lXpm -lXext -lX11
+XLIB = -lXpm -lXext -lX11
+OBJ = wmfortune.o dockapp.o
+
+$(DEST) : $(OBJ)
+       $(CC) $(OBJ) -L$(XLIBDIR) $(XLIB) -o $(DEST)
+
+dockapp.o: dockapp.c
+       $(CC) $(OPTIMIZE) $< -c
+
+wmfortune.o: wmfortune.c
+       $(CC) $(OPTIMIZE) $< -c
+
+install:
+       $(INSTALL_PROGRAM) ./$(DEST) $(BINDIR)/$(DEST)
+
+uninstall:
+       $(UNINSTALL_PROGRAM) $(BINDIR)/$(DEST)
+
+clean:
+       rm -rf $(DEST) $(OBJ) *~
diff --git a/wmfortune/README b/wmfortune/README
new file mode 100644
index 0000000..71472e2
--- /dev/null
+++ b/wmfortune/README
@@ -0,0 +1,28 @@
+
+                               WMFORTUNE
+                  Copyrigth(C) 2000, Makoto SUGANO.
+                        (m-sug...@01.246.ne.jp)
+
+
+What is this?
+============
+
+       It's a dock-app that shows you forune messages.
+
+       The latest version will be in available in:
+       http://www.01.246.ne.jp/~m-sugano/apps.html
+
+
+
+How I install it?
+=================
+
+       Read INSTALL files.
+
+
+License?
+========
+
+       wmfortune is based on GPL'ed software.
+       This program is distributed under the GPL license.
+
diff --git a/wmfortune/TODO b/wmfortune/TODO
new file mode 100644
index 0000000..9b6653d
--- /dev/null
+++ b/wmfortune/TODO
@@ -0,0 +1,2 @@
+2000 JAN 25
+       ...
diff --git a/wmfortune/XPM/panel.xpm b/wmfortune/XPM/panel.xpm
new file mode 100644
index 0000000..f13b989
--- /dev/null
+++ b/wmfortune/XPM/panel.xpm
@@ -0,0 +1,1143 @@
+/* XPM */
+static char * panel_xpm[] = {
+"64 64 1076 2",
+"      c None",
+".     c #000000",
+"+     c #FFFFFF",
+"@     c #555555",
+"#     c #E7C69A",
+"$     c #DCBD93",
+"%     c #D3B48A",
+"&     c #D9BC90",
+"*     c #D7BD91",
+"=     c #E2C59A",
+"-     c #D7BE92",
+";     c #DBC598",
+">     c #EAD1A4",
+",     c #E5CDA1",
+"'     c #E0C89F",
+")     c #E4CAA3",
+"!     c #E2C9A2",
+"~     c #E1C599",
+"{     c #DEC297",
+"]     c #E2C79B",
+"^     c #EED6A5",
+"/     c #DCC291",
+"(     c #DFC797",
+"_     c #DDC598",
+":     c #DFC397",
+"<     c #D8B98F",
+"[     c #E0BD91",
+"}     c #E7C495",
+"|     c #EFCF9F",
+"1     c #ECCF9E",
+"2     c #EBCD9C",
+"3     c #E1C292",
+"4     c #E2C493",
+"5     c #E7C798",
+"6     c #E9CA9A",
+"7     c #E6C99B",
+"8     c #DFC698",
+"9     c #E0C99C",
+"0     c #DDC599",
+"a     c #DFC799",
+"b     c #DFC79A",
+"c     c #F1D8AB",
+"d     c #E6CB9F",
+"e     c #DCBE94",
+"f     c #D9BA8F",
+"g     c #D1B389",
+"h     c #DCC095",
+"i     c #D9BD91",
+"j     c #E0C398",
+"k     c #D7C093",
+"l     c #E0C99D",
+"m     c #EAD2A5",
+"n     c #E1C89D",
+"o     c #E4CDA5",
+"p     c #DEC49D",
+"q     c #B5A180",
+"r     c #E7C79C",
+"s     c #D1B289",
+"t     c #D9BC95",
+"u     c #DDC199",
+"v     c #DABF96",
+"w     c #D9BE95",
+"x     c #D5BB92",
+"y     c #DAC39A",
+"z     c #CCB78E",
+"A     c #CFB78F",
+"B     c #D2B68F",
+"C     c #D2B78F",
+"D     c #CDB38A",
+"E     c #D4B890",
+"F     c #D2B68D",
+"G     c #D8BC93",
+"H     c #D0B691",
+"I     c #D3B992",
+"J     c #D5BA95",
+"K     c #CFB58C",
+"L     c #D2B88F",
+"M     c #D1B690",
+"N     c #CDAA86",
+"O     c #CFAD88",
+"P     c #CEAF89",
+"Q     c #D8BA92",
+"R     c #CFB188",
+"S     c #D2B48A",
+"T     c #CCB084",
+"U     c #CBAF87",
+"V     c #CCB088",
+"W     c #C8AB80",
+"X     c #CBB48C",
+"Y     c #D9C196",
+"Z     c #DBC49C",
+"`     c #D3BA90",
+" .    c #C7AE86",
+"..    c #CDB48B",
+"+.    c #D1B38C",
+"@.    c #CBAD86",
+"#.    c #DEC199",
+"$.    c #DCC199",
+"%.    c #D8BD94",
+"&.    c #D8BD95",
+"*.    c #D7BE94",
+"=.    c #D6C197",
+"-.    c #CBB58C",
+";.    c #D2B690",
+">.    c #D4B88F",
+",.    c #C1A984",
+"'.    c #625542",
+").    c #E0C096",
+"!.    c #C0A580",
+"~.    c #C0A683",
+"{.    c #B69A78",
+"].    c #BBA07E",
+"^.    c #BDA17E",
+"/.    c #BFA784",
+"(.    c #C3AD88",
+"_.    c #BEA681",
+":.    c #BAA37E",
+"<.    c #BAA27E",
+"[.    c #C3AA85",
+"}.    c #C3AA88",
+"|.    c #B89E7B",
+"1.    c #BAA07D",
+"2.    c #C5AA88",
+"3.    c #B89E7E",
+"4.    c #B29879",
+"5.    c #B49C7C",
+"6.    c #B19B78",
+"7.    c #BEA682",
+"8.    c #B89B79",
+"9.    c #BA9B7B",
+"0.    c #B79A7A",
+"a.    c #BCA380",
+"b.    c #BCA37D",
+"c.    c #BDA37F",
+"d.    c #BEA480",
+"e.    c #BEA481",
+"f.    c #BEA484",
+"g.    c #B89D7A",
+"h.    c #BCA480",
+"i.    c #B8A17C",
+"j.    c #B69F7A",
+"k.    c #C5AD89",
+"l.    c #BFA581",
+"m.    c #BDA481",
+"n.    c #C0A682",
+"o.    c #B79E7A",
+"p.    c #BCA17E",
+"q.    c #BDA380",
+"r.    c #B69C7A",
+"s.    c #BCA07E",
+"t.    c #C2AA85",
+"u.    c #C2AC87",
+"v.    c #BDA47F",
+"w.    c #B29B7B",
+"x.    c #514638",
+"y.    c #E9CBA1",
+"z.    c #BCA17C",
+"A.    c #BBA27F",
+"B.    c #C1A381",
+"C.    c #BC9F7E",
+"D.    c #BDA07D",
+"E.    c #C3A684",
+"F.    c #C1AA87",
+"G.    c #C2A986",
+"H.    c #C4AB86",
+"I.    c #C6AB85",
+"J.    c #BFA47F",
+"K.    c #BDA27D",
+"L.    c #C5A886",
+"M.    c #BD9F7E",
+"N.    c #C2A381",
+"O.    c #C2A682",
+"P.    c #C0A782",
+"Q.    c #C1A985",
+"R.    c #C3AC88",
+"S.    c #BEA17D",
+"T.    c #C3A680",
+"U.    c #C5AB84",
+"V.    c #C3AA83",
+"W.    c #BFA685",
+"X.    c #B59A77",
+"Y.    c #BEA683",
+"Z.    c #B89D7E",
+"`.    c #B39978",
+" +    c #B49979",
+".+    c #B8A07D",
+"++    c #BCA482",
+"@+    c #BBA37F",
+"#+    c #C2A784",
+"$+    c #C0A584",
+"%+    c #BFA583",
+"&+    c #B39976",
+"*+    c #C0A280",
+"=+    c #BC9E7C",
+"-+    c #BFA280",
+";+    c #C2A885",
+">+    c #C2AA86",
+",+    c #C1A986",
+"'+    c #C5AB86",
+")+    c #C5A984",
+"!+    c #AD9472",
+"~+    c #524738",
+"{+    c #DBBA8F",
+"]+    c #C5AA86",
+"^+    c #C4A986",
+"/+    c #BBA07A",
+"(+    c #B69B75",
+"_+    c #B39974",
+":+    c #B59B76",
+"<+    c #B29976",
+"[+    c #BEA581",
+"}+    c #B69C78",
+"|+    c #B69B78",
+"1+    c #BC9F7A",
+"2+    c #BA9F7C",
+"3+    c #B89D79",
+"4+    c #B79C78",
+"5+    c #B89E79",
+"6+    c #B49975",
+"7+    c #B49876",
+"8+    c #BC9F7D",
+"9+    c #BDA17F",
+"0+    c #BCA27E",
+"a+    c #BEA57D",
+"b+    c #C6AD87",
+"c+    c #C4AC83",
+"d+    c #C7AC86",
+"e+    c #BFA682",
+"f+    c #BEA580",
+"g+    c #C0A886",
+"h+    c #C5AB88",
+"i+    c #BDA080",
+"j+    c #B19B77",
+"k+    c #BFA883",
+"l+    c #BAA480",
+"m+    c #AF9773",
+"n+    c #B9A07C",
+"o+    c #B79F7B",
+"p+    c #BFA582",
+"q+    c #BA9E79",
+"r+    c #B49A74",
+"s+    c #B49A75",
+"t+    c #B49B79",
+"u+    c #C0A784",
+"v+    c #BAA17D",
+"w+    c #B59B77",
+"x+    c #A88E6E",
+"y+    c #4E4333",
+"z+    c #E2C198",
+"A+    c #C1A580",
+"B+    c #B79E7B",
+"C+    c #B69B79",
+"D+    c #BEA684",
+"E+    c #C7AE8B",
+"F+    c #C3AC87",
+"G+    c #BAA37F",
+"H+    c #B8A07C",
+"I+    c #C3A885",
+"J+    c #C3A583",
+"K+    c #BCA27D",
+"L+    c #C1A881",
+"M+    c #C1A783",
+"N+    c #B99F7C",
+"O+    c #BAA07B",
+"P+    c #C0A381",
+"Q+    c #BEA27F",
+"R+    c #BA9E7A",
+"S+    c #B69B77",
+"T+    c #B69B76",
+"U+    c #BBA17D",
+"V+    c #B29974",
+"W+    c #BBA17B",
+"X+    c #C1A781",
+"Y+    c #BA9E7C",
+"Z+    c #B8A27D",
+"`+    c #B8A37E",
+" @    c #B59F7A",
+".@    c #B59E79",
+"+@    c #C6AD89",
+"@@    c #C0A885",
+"#@    c #BCA17F",
+"$@    c #B99E7B",
+"%@    c #B79D7B",
+"&@    c #C3AA87",
+"*@    c #C5AE8B",
+"=@    c #C3AA86",
+"-@    c #C0A883",
+";@    c #B7A07D",
+">@    c #BBA27E",
+",@    c #B39A7A",
+"'@    c #514535",
+")@    c #EFD0A6",
+"!@    c #CAAF8B",
+"~@    c #BFA383",
+"{@    c #BEA385",
+"]@    c #C0A587",
+"^@    c #C1A887",
+"/@    c #C5AD88",
+"(@    c #C0A884",
+"_@    c #C4AD88",
+":@    c #C4AD8A",
+"<@    c #C2A985",
+"[@    c #BFA380",
+"}@    c #C0A681",
+"|@    c #C6AB86",
+"1@    c #C6AC88",
+"2@    c #C1A784",
+"3@    c #BEA483",
+"4@    c #B89F7C",
+"5@    c #B89E7D",
+"6@    c #B79C79",
+"7@    c #C3A482",
+"8@    c #B09270",
+"9@    c #B99C7A",
+"0@    c #BAA07E",
+"a@    c #C4A381",
+"b@    c #C0A481",
+"c@    c #CCB792",
+"d@    c #C8AC8A",
+"e@    c #C5AC89",
+"f@    c #C2A683",
+"g@    c #C5AB89",
+"h@    c #BFA683",
+"i@    c #BEA384",
+"j@    c #BFA485",
+"k@    c #C0A588",
+"l@    c #C5AC88",
+"m@    c #C5AF8A",
+"n@    c #AF9978",
+"o@    c #4F4535",
+"p@    c #CEB28D",
+"q@    c #BBA17F",
+"r@    c #BDA480",
+"s@    c #AB9375",
+"t@    c #958063",
+"u@    c #B7A07E",
+"v@    c #C4AC8A",
+"w@    c #CBB590",
+"x@    c #CAB892",
+"y@    c #C6B08C",
+"z@    c #C2A782",
+"A@    c #C3A984",
+"B@    c #BEA47F",
+"C@    c #C2A886",
+"D@    c #B79D79",
+"E@    c #BBA481",
+"F@    c #C4AC86",
+"G@    c #BEA583",
+"H@    c #C0A686",
+"I@    c #B99F7F",
+"J@    c #B99E7D",
+"K@    c #BA9F7E",
+"L@    c #BDA482",
+"M@    c #B79E79",
+"N@    c #B19672",
+"O@    c #BAA17E",
+"P@    c #BBA07F",
+"Q@    c #BFA482",
+"R@    c #C5A786",
+"S@    c #C7AA88",
+"T@    c #C6A986",
+"U@    c #C7AD8A",
+"V@    c #C1A683",
+"W@    c #BCA280",
+"X@    c #C0A783",
+"Y@    c #C6AE8B",
+"Z@    c #CDB893",
+"`@    c #C8B58F",
+" #    c #B39E7E",
+".#    c #514637",
+"+#    c #D9C094",
+"@#    c #C3AD87",
+"##    c #BFAC85",
+"$#    c #C3AD85",
+"%#    c #8F7B5F",
+"&#    c #2B251C",
+"*#    c #1A1510",
+"=#    c #1B1813",
+"-#    c #B7A17F",
+";#    c #BFA884",
+">#    c #C0AB85",
+",#    c #BBA37D",
+"'#    c #C4AD85",
+")#    c #BB9E7D",
+"!#    c #BCA37F",
+"~#    c #C1A882",
+"{#    c #C5AD85",
+"]#    c #C0A881",
+"^#    c #C3AC83",
+"/#    c #BAA37B",
+"(#    c #BBA57E",
+"_#    c #BAA681",
+":#    c #BBA784",
+"<#    c #C1AC83",
+"[#    c #BBA37E",
+"}#    c #B19773",
+"|#    c #B49B78",
+"1#    c #C3A985",
+"2#    c #B49C77",
+"3#    c #B7A079",
+"4#    c #B59D78",
+"5#    c #B8A27E",
+"6#    c #B9A680",
+"7#    c #C4B08B",
+"8#    c #C0A87F",
+"9#    c #C0A77E",
+"0#    c #C2A87F",
+"a#    c #C3A986",
+"b#    c #C6B08D",
+"c#    c #C1AA85",
+"d#    c #BFA983",
+"e#    c #AA9472",
+"f#    c #534938",
+"g#    c #E5CCA0",
+"h#    c #CCB58F",
+"i#    c #C7B08C",
+"j#    c #342D23",
+"k#    c #42372B",
+"l#    c #786853",
+"m#    c #020201",
+"n#    c #927D60",
+"o#    c #B29B79",
+"p#    c #B9A07D",
+"q#    c #B7A07B",
+"r#    c #BCA680",
+"s#    c #BEAA82",
+"t#    c #BEA582",
+"u#    c #BF9F81",
+"v#    c #C0A684",
+"w#    c #BCA580",
+"x#    c #BDA67D",
+"y#    c #B49E76",
+"z#    c #BAA27B",
+"A#    c #BEA67F",
+"B#    c #AC9770",
+"C#    c #B29A75",
+"D#    c #BDA782",
+"E#    c #BBA27C",
+"F#    c #C2AC86",
+"G#    c #C2A984",
+"H#    c #C4AB81",
+"I#    c #C2AB88",
+"J#    c #BCA882",
+"K#    c #B4A17B",
+"L#    c #B9A17D",
+"M#    c #B59D7B",
+"N#    c #BCA180",
+"O#    c #B9A07B",
+"P#    c #BDA680",
+"Q#    c #C4AF8A",
+"R#    c #C0A984",
+"S#    c #BA9C7A",
+"T#    c #BEA784",
+"U#    c #B39C7A",
+"V#    c #AE9573",
+"W#    c #A79270",
+"X#    c #514837",
+"Y#    c #E9C79F",
+"Z#    c #C7A883",
+"`#    c #B19574",
+" $    c #B79D7E",
+".$    c #0C0A08",
+"+$    c #2D261E",
+"@$    c #A78F6F",
+"#$    c #938166",
+"$$    c #BDA583",
+"%$    c #B69F7D",
+"&$    c #B8A280",
+"*$    c #B39A79",
+"=$    c #C5AA87",
+"-$    c #BEA07E",
+";$    c #BAA181",
+">$    c #B9A07A",
+",$    c #B89F7D",
+"'$    c #BDA585",
+")$    c #BBA283",
+"!$    c #584C3E",
+"~$    c #5D4F3D",
+"{$    c #B09371",
+"]$    c #B69C79",
+"^$    c #B39B77",
+"/$    c #B8A07B",
+"($    c #B69F76",
+"_$    c #AF9876",
+":$    c #B7A480",
+"<$    c #C5B08B",
+"[$    c #B59879",
+"}$    c #B5987A",
+"|$    c #BBA07D",
+"1$    c #BA9C79",
+"2$    c #B39675",
+"3$    c #B99E7F",
+"4$    c #BDA283",
+"5$    c #B89C7E",
+"6$    c #BBA382",
+"7$    c #B49C7A",
+"8$    c #A89374",
+"9$    c #4C4232",
+"0$    c #E7C69D",
+"a$    c #C5A985",
+"b$    c #BEA280",
+"c$    c #A3896C",
+"d$    c #050403",
+"e$    c #16130F",
+"f$    c #A38F70",
+"g$    c #B19A79",
+"h$    c #BBA381",
+"i$    c #B0997A",
+"j$    c #8D785F",
+"k$    c #9D896F",
+"l$    c #B39B7D",
+"m$    c #B59B7A",
+"n$    c #B89D78",
+"o$    c #A99275",
+"p$    c #917C5F",
+"q$    c #BBA380",
+"r$    c #AF9779",
+"s$    c #907D64",
+"t$    c #0F0D0B",
+"u$    c #504436",
+"v$    c #A48C6D",
+"w$    c #C0A482",
+"x$    c #B59E7D",
+"y$    c #988467",
+"z$    c #AC9574",
+"A$    c #BAA17B",
+"B$    c #B6A081",
+"C$    c #A49174",
+"D$    c #B19F7D",
+"E$    c #BCA381",
+"F$    c #977F64",
+"G$    c #A1896D",
+"H$    c #B9A080",
+"I$    c #9B866D",
+"J$    c #A48C6E",
+"K$    c #B99D7B",
+"L$    c #B99C7C",
+"M$    c #938065",
+"N$    c #958367",
+"O$    c #A99372",
+"P$    c #BEA786",
+"Q$    c #B49B7B",
+"R$    c #B69B7B",
+"S$    c #B19B7E",
+"T$    c #4E4436",
+"U$    c #DDBF94",
+"V$    c #645642",
+"W$    c #080706",
+"X$    c #4A4234",
+"Y$    c #9B876A",
+"Z$    c #9B8669",
+"`$    c #2C261E",
+" %    c #3E362A",
+".%    c #433C2F",
+"+%    c #29231C",
+"@%    c #8C775E",
+"#%    c #554938",
+"$%    c #352E24",
+"%%    c #635745",
+"&%    c #100E0B",
+"*%    c #6E614C",
+"=%    c #342F25",
+"-%    c #221E18",
+";%    c #5A503E",
+">%    c #85745C",
+",%    c #26211A",
+"'%    c #14120E",
+")%    c #917D62",
+"!%    c #938162",
+"~%    c #28221B",
+"{%    c #161310",
+"]%    c #796C54",
+"^%    c #988666",
+"/%    c #2F281F",
+"(%    c #14110E",
+"_%    c #625646",
+":%    c #453D31",
+"<%    c #1D1914",
+"[%    c #A08A6C",
+"}%    c #BDA580",
+"|%    c #AF9472",
+"1%    c #41372A",
+"2%    c #332D23",
+"3%    c #423B2F",
+"4%    c #252018",
+"5%    c #9D896B",
+"6%    c #B8A07F",
+"7%    c #B7A080",
+"8%    c #AA9577",
+"9%    c #4E4335",
+"0%    c #E3C79F",
+"a%    c #B9A17E",
+"b%    c #B69E7C",
+"c%    c #BDA684",
+"d%    c #B09876",
+"e%    c #2F2920",
+"f%    c #0D0B09",
+"g%    c #AA9775",
+"h%    c #B6A582",
+"i%    c #11100C",
+"j%    c #2E291F",
+"k%    c #968568",
+"l%    c #080705",
+"m%    c #1E1914",
+"n%    c #010100",
+"o%    c #7B6D57",
+"p%    c #786B54",
+"q%    c #5B5141",
+"r%    c #C6B390",
+"s%    c #342D25",
+"t%    c #958368",
+"u%    c #B7A47F",
+"v%    c #4E4535",
+"w%    c #726651",
+"x%    c #BAA683",
+"y%    c #554D3D",
+"z%    c #2A251E",
+"A%    c #8F7E64",
+"B%    c #41392D",
+"C%    c #635644",
+"D%    c #B79F7C",
+"E%    c #635643",
+"F%    c #8C7B62",
+"G%    c #AD9778",
+"H%    c #030302",
+"I%    c #40372B",
+"J%    c #B9A37F",
+"K%    c #BFAA85",
+"L%    c #B3A480",
+"M%    c #514939",
+"N%    c #D8BB92",
+"O%    c #C1A886",
+"P%    c #C8AF8E",
+"Q%    c #060504",
+"R%    c #BFA989",
+"S%    c #A48F70",
+"T%    c #29241B",
+"U%    c #BFAB87",
+"V%    c #2E2921",
+"W%    c #A3906F",
+"X%    c #A48F6E",
+"Y%    c #0F0D0A",
+"Z%    c #191611",
+"`%    c #9D8768",
+" &    c #6D5D48",
+".&    c #AF9878",
+"+&    c #73624D",
+"@&    c #5D5342",
+"#&    c #BFAA87",
+"$&    c #BCA784",
+"%&    c #3E362B",
+"&&    c #958267",
+"*&    c #5A4F3D",
+"=&    c #776753",
+"-&    c #5F513F",
+";&    c #6B5E4B",
+">&    c #C7B08E",
+",&    c #81715A",
+"'&    c #4F4436",
+")&    c #302A22",
+"!&    c #0A0807",
+"~&    c #B7A180",
+"{&    c #BAA485",
+"]&    c #12100C",
+"^&    c #13100C",
+"/&    c #BBA67F",
+"(&    c #B2A080",
+"_&    c #4E4435",
+":&    c #DDC097",
+"<&    c #C2A987",
+"[&    c #B9A17F",
+"}&    c #B29A79",
+"|&    c #B8A17F",
+"1&    c #948267",
+"2&    c #040303",
+"3&    c #3F382C",
+"4&    c #C2AC89",
+"5&    c #C3AB86",
+"6&    c #483E32",
+"7&    c #937F64",
+"8&    c #211D16",
+"9&    c #B39C7B",
+"0&    c #B8A17D",
+"a&    c #7B6C56",
+"b&    c #5B5140",
+"c&    c #BFAC88",
+"d&    c #B7A280",
+"e&    c #3A3226",
+"f&    c #C1AB87",
+"g&    c #5E5240",
+"h&    c #786B55",
+"i&    c #C2A989",
+"j&    c #665A48",
+"k&    c #70624E",
+"l&    c #8A7963",
+"m&    c #050404",
+"n&    c #574C3E",
+"o&    c #4E4537",
+"p&    c #C5AF8C",
+"q&    c #C0A986",
+"r&    c #B49E7C",
+"s&    c #504536",
+"t&    c #E4C89F",
+"u&    c #D4BB97",
+"v&    c #C7AF8D",
+"w&    c #17130F",
+"x&    c #BBA584",
+"y&    c #938167",
+"z&    c #3F382D",
+"A&    c #C0A985",
+"B&    c #42372A",
+"C&    c #88745A",
+"D&    c #9F8668",
+"E&    c #0E0C09",
+"F&    c #1F1C16",
+"G&    c #B4A680",
+"H&    c #BAA882",
+"I&    c #B3A07A",
+"J&    c #5A4F3E",
+"K&    c #BAA783",
+"L&    c #BFAA88",
+"M&    c #423A30",
+"N&    c #98856C",
+"O&    c #5F5643",
+"P&    c #70644E",
+"Q&    c #B09E79",
+"R&    c #615644",
+"S&    c #756753",
+"T&    c #B9A281",
+"U&    c #807058",
+"V&    c #574D3E",
+"W&    c #B8A181",
+"X&    c #14110D",
+"Y&    c #090807",
+"Z&    c #A38D71",
+"`&    c #A59075",
+" *    c #A18E71",
+".*    c #A79376",
+"+*    c #C4AD89",
+"@*    c #A89070",
+"#*    c #4A3E2F",
+"$*    c #D8BB90",
+"%*    c #C3AB87",
+"&*    c #C6AF89",
+"**    c #17140F",
+"=*    c #B69D79",
+"-*    c #9A8365",
+";*    c #060503",
+">*    c #2F291F",
+",*    c #B6A27D",
+"'*    c #C1AB86",
+")*    c #393228",
+"!*    c #9E8C6D",
+"~*    c #A39170",
+"{*    c #211E17",
+"]*    c #BEAD89",
+"^*    c #B29B7A",
+"/*    c #756651",
+"(*    c #544836",
+"_*    c #B9A181",
+":*    c #BFA786",
+"<*    c #3E3629",
+"[*    c #958A6C",
+"}*    c #BFAA84",
+"|*    c #584E3C",
+"1*    c #6E614B",
+"2*    c #BFA984",
+"3*    c #635742",
+"4*    c #B59F79",
+"5*    c #7E6E54",
+"6*    c #504637",
+"7*    c #BEA785",
+"8*    c #241F18",
+"9*    c #AD9976",
+"0*    c #B89E7A",
+"a*    c #B89B78",
+"b*    c #A68D6E",
+"c*    c #B39B76",
+"d*    c #AF9C7B",
+"e*    c #524839",
+"f*    c #E9CDA1",
+"g*    c #B9A17C",
+"h*    c #050503",
+"i*    c #171410",
+"j*    c #B8A27F",
+"k*    c #B7A27C",
+"l*    c #1A1611",
+"m*    c #1B1812",
+"n*    c #B49F7D",
+"o*    c #A79271",
+"p*    c #201C15",
+"q*    c #B09B78",
+"r*    c #B69F7C",
+"s*    c #B8A07E",
+"t*    c #7A6E58",
+"u*    c #483F32",
+"v*    c #C5AD8C",
+"w*    c #B89E80",
+"x*    c #625744",
+"y*    c #BDA784",
+"z*    c #70624B",
+"A*    c #655A46",
+"B*    c #776A54",
+"C*    c #86775C",
+"D*    c #4D4233",
+"E*    c #B9A27E",
+"F*    c #4B4131",
+"G*    c #010000",
+"H*    c #695C48",
+"I*    c #C4AB88",
+"J*    c #A48F71",
+"K*    c #473E30",
+"L*    c #C1AA84",
+"M*    c #A89472",
+"N*    c #524838",
+"O*    c #EBCFA3",
+"P*    c #CAB18B",
+"Q*    c #BDA582",
+"R*    c #78684F",
+"S*    c #050504",
+"T*    c #72644E",
+"U*    c #73654E",
+"V*    c #090806",
+"W*    c #645844",
+"X*    c #675B46",
+"Y*    c #0B0907",
+"Z*    c #72634D",
+"`*    c #655742",
+" =    c #0C0B08",
+".=    c #B6A07E",
+"+=    c #A38F73",
+"@=    c #0A0907",
+"#=    c #070605",
+"$=    c #383127",
+"%=    c #AB9679",
+"&=    c #766852",
+"*=    c #232019",
+"==    c #2D281F",
+"-=    c #393227",
+";=    c #8C7C62",
+">=    c #342E24",
+",=    c #AE9A77",
+"'=    c #574C3B",
+")=    c #2A251D",
+"!=    c #9E896B",
+"~=    c #938063",
+"{=    c #13110D",
+"]=    c #242019",
+"^=    c #89775A",
+"/=    c #BAA57F",
+"(=    c #A89372",
+"_=    c #524939",
+":=    c #E5C79B",
+"<=    c #C7AD88",
+"[=    c #89775D",
+"}=    c #7A6954",
+"|=    c #766650",
+"1=    c #82735A",
+"2=    c #AE9A75",
+"3=    c #C0AB87",
+"4=    c #988769",
+"5=    c #605542",
+"6=    c #655945",
+"7=    c #8F7C61",
+"8=    c #BEA382",
+"9=    c #837159",
+"0=    c #7E6D55",
+"a=    c #796850",
+"b=    c #817058",
+"c=    c #BCA481",
+"d=    c #B49D7B",
+"e=    c #C3AB8A",
+"f=    c #81725A",
+"g=    c #917D60",
+"h=    c #B8A081",
+"i=    c #B7A882",
+"j=    c #6C614B",
+"k=    c #9D8B6C",
+"l=    c #A59373",
+"m=    c #7E7057",
+"n=    c #786A51",
+"o=    c #8D7C60",
+"p=    c #807158",
+"q=    c #7C6E56",
+"r=    c #B8A380",
+"s=    c #807057",
+"t=    c #7C6D54",
+"u=    c #7C6C55",
+"v=    c #9F8B6B",
+"w=    c #BCA382",
+"x=    c #958166",
+"y=    c #615442",
+"z=    c #5C5240",
+"A=    c #958366",
+"B=    c #C4AE89",
+"C=    c #AF9B79",
+"D=    c #E6CD9F",
+"E=    c #B49C7B",
+"F=    c #BEA987",
+"G=    c #B5A17E",
+"H=    c #B19C79",
+"I=    c #B7A37F",
+"J=    c #BAA881",
+"K=    c #B29F79",
+"L=    c #B09A75",
+"M=    c #C0AA87",
+"N=    c #BBA581",
+"O=    c #BDA681",
+"P=    c #BBA682",
+"Q=    c #B49C79",
+"R=    c #B7A27B",
+"S=    c #C6AF88",
+"T=    c #BDA67E",
+"U=    c #C0A882",
+"V=    c #B8A57E",
+"W=    c #C4B18A",
+"X=    c #B5A27D",
+"Y=    c #C2AE89",
+"Z=    c #BDA77F",
+"`=    c #BCA67F",
+" -    c #C3AD86",
+".-    c #BBA680",
+"+-    c #B29D7C",
+"@-    c #BEA584",
+"#-    c #B19978",
+"$-    c #BDA685",
+"%-    c #BCA785",
+"&-    c #B6A17D",
+"*-    c #B4A07D",
+"=-    c #B19C78",
+"--    c #BAA682",
+";-    c #A89673",
+">-    c #4B4232",
+",-    c #CAB38E",
+"'-    c #C4AC8B",
+")-    c #B9A180",
+"!-    c #BAA27F",
+"~-    c #B69E7D",
+"{-    c #C2AA88",
+"]-    c #C3AC89",
+"^-    c #BCAA84",
+"/-    c #BEAA85",
+"(-    c #C8B38E",
+"_-    c #C8B38F",
+":-    c #BBA781",
+"<-    c #B49F7A",
+"[-    c #B9A37E",
+"}-    c #B7A27D",
+"|-    c #B5A17C",
+"1-    c #C4B08A",
+"2-    c #BFA783",
+"3-    c #BEA883",
+"4-    c #C7B08B",
+"5-    c #B9A27D",
+"6-    c #B29A74",
+"7-    c #C2AC83",
+"8-    c #C3AB85",
+"9-    c #C2AC84",
+"0-    c #BFAB86",
+"a-    c #B39F7C",
+"b-    c #B49E7D",
+"c-    c #C4AE8B",
+"d-    c #C1AA89",
+"e-    c #B69D7B",
+"f-    c #BDA683",
+"g-    c #B79E7D",
+"h-    c #C3AC8A",
+"i-    c #BFA885",
+"j-    c #B9A580",
+"k-    c #A79473",
+"l-    c #52493A",
+"m-    c #E2C69D",
+"n-    c #C7AE8A",
+"o-    c #B69D7C",
+"p-    c #BAA17F",
+"q-    c #BFA785",
+"r-    c #C2AC88",
+"s-    c #C5AE89",
+"t-    c #C0AD88",
+"u-    c #C2AD88",
+"v-    c #C5B08A",
+"w-    c #B9A480",
+"x-    c #C3AE88",
+"y-    c #CAB18D",
+"z-    c #BFA680",
+"A-    c #BEA780",
+"B-    c #BDA780",
+"C-    c #BAA37D",
+"D-    c #BCA682",
+"E-    c #C3AB8B",
+"F-    c #BDA786",
+"G-    c #C1A989",
+"H-    c #B79E7C",
+"I-    c #BDA484",
+"J-    c #C4AC89",
+"K-    c #BAA280",
+"L-    c #C4AE8A",
+"M-    c #B39F7D",
+"N-    c #53493A",
+"O-    c #D2B393",
+"P-    c #948066",
+"Q-    c #816E54",
+"R-    c #827058",
+"S-    c #7D6C53",
+"T-    c #8D7A61",
+"U-    c #85725A",
+"V-    c #8A775F",
+"W-    c #837057",
+"X-    c #89785D",
+"Y-    c #8A785D",
+"Z-    c #8B7A60",
+"`-    c #89785F",
+" ;    c #87765C",
+".;    c #86755B",
+"+;    c #8A7B60",
+"@;    c #87775B",
+"#;    c #8C7E63",
+"$;    c #8B7D62",
+"%;    c #87775C",
+"&;    c #88775D",
+"*;    c #8A7A5E",
+"=;    c #84745A",
+"-;    c #89795F",
+";;    c #86745A",
+">;    c #84735A",
+",;    c #8D7C61",
+"';    c #8B7A5B",
+");    c #857557",
+"!;    c #847258",
+"~;    c #88775E",
+"{;    c #817057",
+"];    c #8D7D63",
+"^;    c #8A7A60",
+"/;    c #8A785F",
+"(;    c #87745E",
+"_;    c #88755C",
+":;    c #826F54",
+"<;    c #806F56",
+"[;    c #7E6D54",
+"};    c #84735B",
+"|;    c #8B7860",
+"1;    c #89775E",
+"2;    c #8A795F",
+"3;    c #817157",
+"4;    c #958165",
+"5;    c #504738",
+"6;    c #4E4637",
+"7;    c #4D4434",
+"8;    c #4C4334",
+"9;    c #4D4536",
+"0;    c #4B4233",
+"a;    c #4C4233",
+"b;    c #4C4234",
+"c;    c #4A4031",
+"d;    c #493F30",
+"e;    c #4D4334",
+"f;    c #4A4133",
+"g;    c #4B4334",
+"h;    c #493F31",
+"i;    c #4D4435",
+"j;    c #4B4132",
+"k;    c #4B4134",
+"l;    c #473C2E",
+"m;    c #494032",
+"n;    c #494031",
+"o;    c #493D30",
+"p;    c #463E2E",
+"q;    c #4A4233",
+"r;    c #463D2E",
+"s;    c #483E2E",
+"t;    c #4D4537",
+"u;    c #4F4637",
+"v;    c #4C4333",
+"w;    c #4C4433",
+"x;    c #4D4535",
+"y;    c #635743",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
. . . . . . . . . . . . . . . . . . . . +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ +         ",
+"        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 
+ + + + + + + + + + + + + + + + + + + + +         ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"            # $ % & * = - ; > , ' ) ! ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 
9 0 a b c d e f g h i j k l m n o p q             ",
+"            r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X 
Y Z `  ...x +.@.#.$.%.&.*.=.-.;.>.,.'.            ",
+"            
).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.1.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.q.t.u.h.:.v.w.x.
            ",
+"            y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.O.P.Q.R.d.S.T.U.V.W.X.Y.Z.`. 
+.+++@+7.p.#+$+%+&+e.*+=+-+;+>+,+'+)+!+~+            ",
+"            
{+]+^+/+(+_+:+<+[+[+}+|+1+2+3+4+c.5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+A.j+k+l+m+n+o+|+G.p+q+r+s+:+t+u+v+w+x+y+
            ",
+"            
z+A+p+B+C+D+E+F+Q.G+H+I+J+K+L+M+N+a.O+8.P+Q+R+S+T+U+V+W+X+Y+w+u+Z+`+ 
@.@+@@@#@$@U+p+t+%@&@*@=@-@;@>@,@'@            ",
+"            
)@!@e.~@{@]@^@/@(@_@:@<@[@<.}@|@1@2@3@}@4@5@6@7@8@9@%@e.0@a@b@c@G.&@H.d@e@f@;+g@h@d.i@j@k@&@l@@@m@R.n@o@
            ",
+"            
)@p@q@r@h@s@t@u@v@w@x@y@/.z@A@B@C@;+D@E@<.F@G@W.H@I@J@K@q@e+L@M@N@O@P@Q@R@S@T@U@V@W@l.X@#@h.G.Y@Z@`@
 #.#            ",
+"            
+#@###$#%#&#*#=#-#;#>#,#-@'#z@)#!#~#v.{#]#^#/#(#_#:#H+B+e@<#[#}#|#1#S+N+2#3#4#5#6#7#8#9#0#a#b#Q.c#d#e#f#
            ",
+"            
g#h#i#F+j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#u.E#F#G#H#I#J#K#L#M#N#.+O#P#c#Q#y@R#t+S#T#U#V#M#H+W#X#
            ",
+"            Y#Z#`# 
$.$+$@$#$$$%$|#&$*$o+=$-$;$O@>$,$'$)$!$~${$]$^$:./$($_$:$<$F+@+[$}$|$p.f@1$2$3$4$5$<+6$Y.M#7$8$9$
            ",
+"            
0$a$b$c$d$e$f$g$h$i$j$k$l$m$t#n$o$p$q$k$r$s$t$u$v$w$x$y$z$A$B$C$D$>+E$F$G$H$I$J$%+K$L$J@M$N$O$P$Q$R$S$T$
            ",
+"            U$G#h.V$m#W$X$Y$Z$`$ %.%+%@%e.#%=#$%%%&%*%=%. 
-%;%>%,%'%)%!%~%{%]%^%/%(%_%:%&%<%[%}%|%1%2%3%4%5%6%7%8%9%            ",
+"            0%u+a%b%d$e$c%d%e%f%g%h%i%j%_#k%.$l%m%n%o%p%. q%r%q s%. t%u%v%. 
w%x%y%. z%A%B%. C%D%E%d$F%G%H%I%J%K%L%M%            ",
+"            N%h+O%P%Q%e$R%S%l%T%`+U%V%H%W%X%Y%Z%`% &.&+&. @&#&$&%&. &&!#*&. 
=&++-&. ;&>&,&. '&g+)&!&~&{&]&^&/./&(&_&            ",
+"            :&<&[&}&d$e$|&1&2&3&4&5&6&. 7&_$&%8&9&0&7.a&. b&c&d&e&. 1&f&g&. 
h&i&j&. k&T#l&. '&.&e$m&n&o&f%&%p&q&r&s&            ",
+"            t&u&v&%@d$w&x&y&H%z&A&<.B&. C&D&E&F&G&H&I&]%. J&K&L&M&. N&J#O&. 
P&Q&R&. S&T&U&. V&W&X&Y&Z&`& *.*+*T#@*#*            ",
+"            $*[.%*&*Q%**=*-*;*>*,*'*)*. !*~*Y%{*]*f&^*/*. (*_*:*<*. [*}*|*. 
1*2*3*. 1*4*5*. 6*7*8*l%9*0*a*b*c*D#d*e*            ",
+"            f*O#a%g*h*i*@@D+Z%Z%j*k*l*m*n*o*Y%p*q*r*s*t*. u*v*w*I%. x*y*2%. 
z*F+A*. B*+*C*. D*E*F*G*H*I*J*K*:.L*M*N*            ",
+"            O*P*Q*R*m#S*T*a%U*V*W*X*Y*Z*.+`*d$ =B*.=s*+=@=#=$=%=&=. d$*===. 
-=;=>=. 3&,='=. )=!=~={=#=)&]=^=5#/=(=_=            ",
+"            
:=<=a%[=}=|=1=2=3=4=5=6=7=8=C+9=0=a=b=c=d=e=f=C%g=h=i=j=g&k=l=m=n=o=1=p=q=r=s=t=u=v=w=x=y=z=A=B=K%R#C=.#
            ",
+"            
D=(@C=$$E=[&F=,*G=H=I=J=K=L=Z+M=N=i.O=P='*Q=Q=c#E@G+R=S=T=T=U=Q.V=W=X=Y=Z=`= 
-.-x$+-@-#-$-%-&-*-=---;->-            ",
+"            
O*,-'-)-!-~-{-]-u@]-^-&-/-(-_-:-<-[-}-|-1-2-E*3-4-5-6-/@P#7-8-r@9-0-a-b-c-J%]-(.d-e=e-f-g-h-i-)-Q#j-k-l-
            ",
+"            
m-n-o-p-q-v@q-q$E$h.r-B=s-s-(-m@@#R#F+t-u-R#p#v-w-x-y-q&h.z-A-~#B-C-D-E-F-g$G-w=++H-I-W.J-D+K-++w#L-M-N-
            ",
+"            O-P-Q-R-S-s=T-U-V-W-X-Y-Z-X-`- 
;.;+;@;#;$;%;&;*;=;-;Z-;;>;;=,;';);!;~;{;];^;/;(;_;:;<;[;};|;U-1;W-2;3;6*       
     ",
+"            
4;5;6;7;8;8;7;6;9;7;9$0;7;a;_&b;c;d;e;f;g;h;i;0;j;k;b;f;l;m;n;o;p;q;r;i;T$s;j;m;t;u;v;8;i;w;u;x;e;0;a;y;
            ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  "};
diff --git a/wmfortune/XPM/panel_button_pressed.xpm 
b/wmfortune/XPM/panel_button_pressed.xpm
new file mode 100644
index 0000000..4970c7e
--- /dev/null
+++ b/wmfortune/XPM/panel_button_pressed.xpm
@@ -0,0 +1,1083 @@
+/* XPM */
+static char * panel_button_pressed_xpm[] = {
+"64 64 1016 2",
+"      c None",
+".     c #5F513F",
+"+     c #493E30",
+"@     c #453B2D",
+"#     c #494031",
+"$     c #484031",
+"%     c #4A4133",
+"&     c #463E2F",
+"*     c #494233",
+"=     c #4C4435",
+"-     c #4D4536",
+";     c #4B4336",
+">     c #4B4235",
+",     c #4A4132",
+"'     c #473E2F",
+")     c #4E4636",
+"!     c #463E2D",
+"~     c #494232",
+"{     c #494132",
+"]     c #473D2F",
+"^     c #493E2F",
+"/     c #4C4131",
+"(     c #504536",
+"_     c #4E4432",
+":     c #4F4534",
+"<     c #4B4131",
+"[     c #4C4231",
+"}     c #4D4332",
+"|     c #4E4434",
+"1     c #4E4535",
+"2     c #4B4334",
+"3     c #484132",
+"4     c #4F4739",
+"5     c #493F31",
+"6     c #473D2E",
+"7     c #494032",
+"8     c #473F30",
+"9     c #4A4334",
+"0     c #4C4535",
+"a     c #4B4435",
+"b     c #4C4437",
+"c     c #4D4437",
+"d     c #9C8A6D",
+"e     c #4D4233",
+"f     c #7A6850",
+"g     c #8D7A61",
+"h     c #8F7D63",
+"i     c #8D7C62",
+"j     c #8A785F",
+"k     c #87765B",
+"l     c #8C7D62",
+"m     c #7E7056",
+"n     c #84745A",
+"o     c #87755B",
+"p     c #87765C",
+"q     c #837358",
+"r     c #89765C",
+"s     c #8A775D",
+"t     c #8A785E",
+"u     c #86745D",
+"v     c #87765E",
+"w     c #8B7A62",
+"x     c #86755A",
+"y     c #89785D",
+"z     c #89775E",
+"A     c #856E57",
+"B     c #846E57",
+"C     c #836F57",
+"D     c #8B785F",
+"E     c #837156",
+"F     c #887459",
+"G     c #837054",
+"H     c #847158",
+"I     c #86735A",
+"J     c #85755C",
+"K     c #8B7C60",
+"L     c #8D7E64",
+"M     c #8A7A60",
+"N     c #827258",
+"O     c #837257",
+"P     c #88775C",
+"Q     c #87745B",
+"R     c #837056",
+"S     c #907E64",
+"T     c #8E7C62",
+"U     c #8B7A60",
+"V     c #897A5F",
+"W     c #7D6F54",
+"X     c #86755C",
+"Y     c #88765B",
+"Z     c #8F7D61",
+"`     c #D2B88F",
+" .    c #4F4334",
+"..    c #A89070",
+"+.    c #C0A683",
+"@.    c #B69A78",
+"#.    c #BBA07E",
+"$.    c #BDA17E",
+"%.    c #BFA784",
+"&.    c #C3AD88",
+"*.    c #BEA681",
+"=.    c #BAA37E",
+"-.    c #BAA27E",
+";.    c #C3AA85",
+">.    c #C3AA88",
+",.    c #B89E7B",
+"'.    c #BAA07D",
+").    c #C5AA88",
+"!.    c #B89E7E",
+"~.    c #B29879",
+"{.    c #B49C7C",
+"].    c #B19B78",
+"^.    c #BEA682",
+"/.    c #B89B79",
+"(.    c #BA9B7B",
+"_.    c #B79A7A",
+":.    c #BCA380",
+"<.    c #BCA37D",
+"[.    c #BDA37F",
+"}.    c #BEA480",
+"|.    c #BEA481",
+"1.    c #BEA484",
+"2.    c #B89D7A",
+"3.    c #BCA480",
+"4.    c #B8A17C",
+"5.    c #B69F7A",
+"6.    c #C5AD89",
+"7.    c #BFA581",
+"8.    c #BDA481",
+"9.    c #C0A682",
+"0.    c #B79E7A",
+"a.    c #BCA17E",
+"b.    c #BDA380",
+"c.    c #B69C7A",
+"d.    c #BCA07E",
+"e.    c #C2AA85",
+"f.    c #C2AC87",
+"g.    c #BDA47F",
+"h.    c #CCB28D",
+"i.    c #E8CAA1",
+"j.    c #524738",
+"k.    c #A38B6B",
+"l.    c #BBA27F",
+"m.    c #E8C89D",
+"n.    c #4D4132",
+"o.    c #AC9676",
+"p.    c #C4A986",
+"q.    c #C1A381",
+"r.    c #BC9F7E",
+"s.    c #BDA07D",
+"t.    c #C3A684",
+"u.    c #C1AA87",
+"v.    c #C2A986",
+"w.    c #C4AB86",
+"x.    c #C6AB85",
+"y.    c #BFA47F",
+"z.    c #BDA27D",
+"A.    c #C5A886",
+"B.    c #BD9F7E",
+"C.    c #C2A381",
+"D.    c #C2A682",
+"E.    c #C0A782",
+"F.    c #C1A985",
+"G.    c #C3AC88",
+"H.    c #BEA17D",
+"I.    c #C3A680",
+"J.    c #C5AB84",
+"K.    c #C3AA83",
+"L.    c #BFA685",
+"M.    c #B59A77",
+"N.    c #BEA683",
+"O.    c #B89D7E",
+"P.    c #B39978",
+"Q.    c #B49979",
+"R.    c #B8A07D",
+"S.    c #BCA482",
+"T.    c #BBA37F",
+"U.    c #C2A784",
+"V.    c #C0A584",
+"W.    c #BFA583",
+"X.    c #B39976",
+"Y.    c #C0A280",
+"Z.    c #BC9E7C",
+"`.    c #BFA280",
+" +    c #C2A885",
+".+    c #C2AA86",
+"++    c #C1A986",
+"@+    c #C5AB86",
+"#+    c #C5A984",
+"$+    c #E1BF92",
+"%+    c #504436",
+"&+    c #BFA582",
+"*+    c #BBA07A",
+"=+    c #B69B75",
+"-+    c #B39974",
+";+    c #B59B76",
+">+    c #B29976",
+",+    c #BEA581",
+"'+    c #B69C78",
+")+    c #B69B78",
+"!+    c #BC9F7A",
+"~+    c #BA9F7C",
+"{+    c #B89D79",
+"]+    c #B79C78",
+"^+    c #B89E79",
+"/+    c #B49975",
+"(+    c #B49876",
+"_+    c #BC9F7D",
+":+    c #BDA17F",
+"<+    c #BCA27E",
+"[+    c #BEA57D",
+"}+    c #C6AD87",
+"|+    c #C4AC83",
+"1+    c #C7AC86",
+"2+    c #BFA682",
+"3+    c #BEA580",
+"4+    c #C0A886",
+"5+    c #C5AB88",
+"6+    c #BDA080",
+"7+    c #B19B77",
+"8+    c #BFA883",
+"9+    c #BAA480",
+"0+    c #AF9773",
+"a+    c #B9A07C",
+"b+    c #B79F7B",
+"c+    c #BA9E79",
+"d+    c #B49A74",
+"e+    c #B49A75",
+"f+    c #B49B79",
+"g+    c #C0A784",
+"h+    c #BAA17D",
+"i+    c #B59B77",
+"j+    c #E7C59A",
+"k+    c #54493B",
+"l+    c #AF9879",
+"m+    c #B79E7B",
+"n+    c #B69B79",
+"o+    c #BEA684",
+"p+    c #C7AE8B",
+"q+    c #C3AC87",
+"r+    c #BAA37F",
+"s+    c #B8A07C",
+"t+    c #C3A885",
+"u+    c #C3A583",
+"v+    c #BCA27D",
+"w+    c #C1A881",
+"x+    c #C1A783",
+"y+    c #B99F7C",
+"z+    c #BAA07B",
+"A+    c #C0A381",
+"B+    c #BEA27F",
+"C+    c #BA9E7A",
+"D+    c #B69B77",
+"E+    c #B69B76",
+"F+    c #BBA17D",
+"G+    c #B29974",
+"H+    c #BBA17B",
+"I+    c #C1A781",
+"J+    c #BA9E7C",
+"K+    c #B8A27D",
+"L+    c #B8A37E",
+"M+    c #B59F7A",
+"N+    c #B59E79",
+"O+    c #C6AD89",
+"P+    c #C0A885",
+"Q+    c #BCA17F",
+"R+    c #B99E7B",
+"S+    c #B79D7B",
+"T+    c #C3AA87",
+"U+    c #C5AE8B",
+"V+    c #C3AA86",
+"W+    c #C0A883",
+"X+    c #B7A07D",
+"Y+    c #BBA27E",
+"Z+    c #E3C497",
+"`+    c #544939",
+" @    c #B39A7A",
+".@    c #BBA17F",
+"+@    c #BFA383",
+"@@    c #BEA385",
+"#@    c #C0A587",
+"$@    c #C1A887",
+"%@    c #C5AD88",
+"&@    c #C0A884",
+"*@    c #C4AD88",
+"=@    c #C4AD8A",
+"-@    c #C2A985",
+";@    c #BFA380",
+">@    c #C0A681",
+",@    c #C6AB86",
+"'@    c #C6AC88",
+")@    c #C1A784",
+"!@    c #BEA483",
+"~@    c #B89F7C",
+"{@    c #B89E7D",
+"]@    c #B79C79",
+"^@    c #C3A482",
+"/@    c #B09270",
+"(@    c #B99C7A",
+"_@    c #BAA07E",
+":@    c #C4A381",
+"<@    c #C0A481",
+"[@    c #CCB792",
+"}@    c #C8AC8A",
+"|@    c #C5AC89",
+"1@    c #C2A683",
+"2@    c #C5AB89",
+"3@    c #BFA683",
+"4@    c #BEA384",
+"5@    c #BFA485",
+"6@    c #C0A588",
+"7@    c #C5AC88",
+"8@    c #C5AF8A",
+"9@    c #E6C99D",
+"0@    c #4C4334",
+"a@    c #AA9775",
+"b@    c #BFAC85",
+"c@    c #BDA480",
+"d@    c #AB9375",
+"e@    c #958063",
+"f@    c #B7A07E",
+"g@    c #C4AC8A",
+"h@    c #CBB590",
+"i@    c #CAB892",
+"j@    c #C6B08C",
+"k@    c #C2A782",
+"l@    c #C3A984",
+"m@    c #BEA47F",
+"n@    c #C2A886",
+"o@    c #B79D79",
+"p@    c #BBA481",
+"q@    c #C4AC86",
+"r@    c #BEA583",
+"s@    c #C0A686",
+"t@    c #B99F7F",
+"u@    c #B99E7D",
+"v@    c #BA9F7E",
+"w@    c #BDA482",
+"x@    c #B79E79",
+"y@    c #B19672",
+"z@    c #BAA17E",
+"A@    c #BBA07F",
+"B@    c #BFA482",
+"C@    c #C5A786",
+"D@    c #C7AA88",
+"E@    c #C6A986",
+"F@    c #C7AD8A",
+"G@    c #C1A683",
+"H@    c #BCA280",
+"I@    c #C0A783",
+"J@    c #C6AE8B",
+"K@    c #CDB893",
+"L@    c #C8B58F",
+"M@    c #ECCFA2",
+"N@    c #514838",
+"O@    c #B29E7D",
+"P@    c #C7B08C",
+"Q@    c #C3AD85",
+"R@    c #8F7B5F",
+"S@    c #2B251C",
+"T@    c #1A1510",
+"U@    c #1B1813",
+"V@    c #B7A17F",
+"W@    c #BFA884",
+"X@    c #C0AB85",
+"Y@    c #BBA37D",
+"Z@    c #C4AD85",
+"`@    c #BB9E7D",
+" #    c #BCA37F",
+".#    c #C1A882",
+"+#    c #C5AD85",
+"@#    c #C0A881",
+"##    c #C3AC83",
+"$#    c #BAA37B",
+"%#    c #BBA57E",
+"&#    c #BAA681",
+"*#    c #BBA784",
+"=#    c #C1AC83",
+"-#    c #BBA37E",
+";#    c #B19773",
+">#    c #B49B78",
+",#    c #C3A985",
+"'#    c #B49C77",
+")#    c #B7A079",
+"!#    c #B59D78",
+"~#    c #B8A27E",
+"{#    c #B9A680",
+"]#    c #C4B08B",
+"^#    c #C0A87F",
+"/#    c #C0A77E",
+"(#    c #C2A87F",
+"_#    c #C3A986",
+":#    c #C6B08D",
+"<#    c #C1AA85",
+"[#    c #BFA983",
+"}#    c #E4CC9C",
+"|#    c #524637",
+"1#    c #AD9272",
+"2#    c #B19574",
+"3#    c #342D23",
+"4#    c #42372B",
+"5#    c #786853",
+"6#    c #020201",
+"7#    c #927D60",
+"8#    c #B29B79",
+"9#    c #B9A07D",
+"0#    c #B7A07B",
+"a#    c #BCA680",
+"b#    c #BEAA82",
+"c#    c #BEA582",
+"d#    c #BF9F81",
+"e#    c #C0A684",
+"f#    c #BCA580",
+"g#    c #BDA67D",
+"h#    c #B49E76",
+"i#    c #BAA27B",
+"j#    c #BEA67F",
+"k#    c #AC9770",
+"l#    c #B29A75",
+"m#    c #BDA782",
+"n#    c #BBA27C",
+"o#    c #C2AC86",
+"p#    c #C2A984",
+"q#    c #C4AB81",
+"r#    c #C2AB88",
+"s#    c #BCA882",
+"t#    c #B4A17B",
+"u#    c #B9A17D",
+"v#    c #B59D7B",
+"w#    c #BCA180",
+"x#    c #B9A07B",
+"y#    c #BDA680",
+"z#    c #C4AF8A",
+"A#    c #C0A984",
+"B#    c #BA9C7A",
+"C#    c #BEA784",
+"D#    c #B39C7A",
+"E#    c #AE9573",
+"F#    c #D7BB91",
+"G#    c #524537",
+"H#    c #AD9475",
+"I#    c #BEA280",
+"J#    c #B79D7E",
+"K#    c #0C0A08",
+"L#    c #2D261E",
+"M#    c #A78F6F",
+"N#    c #938166",
+"O#    c #BDA583",
+"P#    c #B69F7D",
+"Q#    c #B8A280",
+"R#    c #B39A79",
+"S#    c #C5AA87",
+"T#    c #BEA07E",
+"U#    c #BAA181",
+"V#    c #B9A07A",
+"W#    c #B89F7D",
+"X#    c #BDA585",
+"Y#    c #BBA283",
+"Z#    c #584C3E",
+"`#    c #5D4F3D",
+" $    c #B09371",
+".$    c #B69C79",
+"+$    c #B39B77",
+"@$    c #B8A07B",
+"#$    c #B69F76",
+"$$    c #AF9876",
+"%$    c #B7A480",
+"&$    c #C5B08B",
+"*$    c #B59879",
+"=$    c #B5987A",
+"-$    c #BBA07D",
+";$    c #BA9C79",
+">$    c #B39675",
+",$    c #B99E7F",
+"'$    c #BDA283",
+")$    c #B89C7E",
+"!$    c #BBA382",
+"~$    c #B49C7A",
+"{$    c #E1C29C",
+"]$    c #4E4334",
+"^$    c #A99473",
+"/$    c #A3896C",
+"($    c #050403",
+"_$    c #16130F",
+":$    c #A38F70",
+"<$    c #B19A79",
+"[$    c #BBA381",
+"}$    c #B0997A",
+"|$    c #8D785F",
+"1$    c #9D896F",
+"2$    c #B39B7D",
+"3$    c #B59B7A",
+"4$    c #B89D78",
+"5$    c #A99275",
+"6$    c #917C5F",
+"7$    c #BBA380",
+"8$    c #AF9779",
+"9$    c #907D64",
+"0$    c #0F0D0B",
+"a$    c #A48C6D",
+"b$    c #C0A482",
+"c$    c #B59E7D",
+"d$    c #988467",
+"e$    c #AC9574",
+"f$    c #BAA17B",
+"g$    c #B6A081",
+"h$    c #A49174",
+"i$    c #B19F7D",
+"j$    c #BCA381",
+"k$    c #977F64",
+"l$    c #A1896D",
+"m$    c #B9A080",
+"n$    c #9B866D",
+"o$    c #A48C6E",
+"p$    c #B99D7B",
+"q$    c #B99C7C",
+"r$    c #938065",
+"s$    c #958367",
+"t$    c #A99372",
+"u$    c #BEA786",
+"v$    c #B49B7B",
+"w$    c #B69B7B",
+"x$    c #DFC299",
+"y$    c #504638",
+"z$    c #A89274",
+"A$    c #B9A17E",
+"B$    c #645642",
+"C$    c #080706",
+"D$    c #4A4234",
+"E$    c #9B876A",
+"F$    c #9B8669",
+"G$    c #2C261E",
+"H$    c #3E362A",
+"I$    c #433C2F",
+"J$    c #29231C",
+"K$    c #8C775E",
+"L$    c #554938",
+"M$    c #352E24",
+"N$    c #635745",
+"O$    c #100E0B",
+"P$    c #6E614C",
+"Q$    c #342F25",
+"R$    c #000000",
+"S$    c #221E18",
+"T$    c #5A503E",
+"U$    c #85745C",
+"V$    c #26211A",
+"W$    c #14120E",
+"X$    c #917D62",
+"Y$    c #938162",
+"Z$    c #28221B",
+"`$    c #161310",
+" %    c #796C54",
+".%    c #988666",
+"+%    c #2F281F",
+"@%    c #14110E",
+"#%    c #625646",
+"$%    c #453D31",
+"%%    c #1D1914",
+"&%    c #A08A6C",
+"*%    c #BDA580",
+"=%    c #AF9472",
+"-%    c #41372A",
+";%    c #332D23",
+">%    c #423B2F",
+",%    c #252018",
+"'%    c #9D896B",
+")%    c #B8A07F",
+"!%    c #B7A080",
+"~%    c #E8D2A5",
+"{%    c #4B4133",
+"]%    c #AC9677",
+"^%    c #C1A886",
+"/%    c #B69E7C",
+"(%    c #BDA684",
+"_%    c #B09876",
+":%    c #2F2920",
+"<%    c #0D0B09",
+"[%    c #B6A582",
+"}%    c #11100C",
+"|%    c #2E291F",
+"1%    c #968568",
+"2%    c #080705",
+"3%    c #1E1914",
+"4%    c #010100",
+"5%    c #7B6D57",
+"6%    c #786B54",
+"7%    c #5B5141",
+"8%    c #C6B390",
+"9%    c #B5A180",
+"0%    c #342D25",
+"a%    c #958368",
+"b%    c #B7A47F",
+"c%    c #726651",
+"d%    c #BAA683",
+"e%    c #554D3D",
+"f%    c #2A251E",
+"g%    c #8F7E64",
+"h%    c #41392D",
+"i%    c #635644",
+"j%    c #B79F7C",
+"k%    c #635643",
+"l%    c #8C7B62",
+"m%    c #AD9778",
+"n%    c #030302",
+"o%    c #40372B",
+"p%    c #B9A37F",
+"q%    c #BFAA85",
+"r%    c #DEC598",
+"s%    c #4E4335",
+"t%    c #A99376",
+"u%    c #B9A17F",
+"v%    c #C8AF8E",
+"w%    c #060504",
+"x%    c #BFA989",
+"y%    c #A48F70",
+"z%    c #29241B",
+"A%    c #BFAB87",
+"B%    c #2E2921",
+"C%    c #A3906F",
+"D%    c #A48F6E",
+"E%    c #0F0D0A",
+"F%    c #191611",
+"G%    c #9D8768",
+"H%    c #6D5D48",
+"I%    c #AF9878",
+"J%    c #73624D",
+"K%    c #5D5342",
+"L%    c #BFAA87",
+"M%    c #BCA784",
+"N%    c #3E362B",
+"O%    c #958267",
+"P%    c #5A4F3D",
+"Q%    c #776753",
+"R%    c #6B5E4B",
+"S%    c #C7B08E",
+"T%    c #81715A",
+"U%    c #4F4436",
+"V%    c #302A22",
+"W%    c #0A0807",
+"X%    c #B7A180",
+"Y%    c #BAA485",
+"Z%    c #12100C",
+"`%    c #13100C",
+" &    c #BBA67F",
+".&    c #E3C59A",
+"+&    c #BAA484",
+"@&    c #C7AF8D",
+"#&    c #B29A79",
+"$&    c #B8A17F",
+"%&    c #948267",
+"&&    c #040303",
+"*&    c #3F382C",
+"=&    c #C2AC89",
+"-&    c #C3AB86",
+";&    c #483E32",
+">&    c #937F64",
+",&    c #211D16",
+"'&    c #B39C7B",
+")&    c #B8A17D",
+"!&    c #7B6C56",
+"~&    c #5B5140",
+"{&    c #BFAC88",
+"]&    c #B7A280",
+"^&    c #3A3226",
+"/&    c #C1AB87",
+"(&    c #5E5240",
+"_&    c #786B55",
+":&    c #C2A989",
+"<&    c #665A48",
+"[&    c #70624E",
+"}&    c #8A7963",
+"|&    c #050404",
+"1&    c #574C3E",
+"2&    c #4E4537",
+"3&    c #C5AF8C",
+"4&    c #C0A986",
+"5&    c #D4B288",
+"6&    c #4C4132",
+"7&    c #AB9474",
+"8&    c #C3AB87",
+"9&    c #17130F",
+"0&    c #BBA584",
+"a&    c #938167",
+"b&    c #3F382D",
+"c&    c #C0A985",
+"d&    c #42372A",
+"e&    c #88745A",
+"f&    c #9F8668",
+"g&    c #0E0C09",
+"h&    c #1F1C16",
+"i&    c #B4A680",
+"j&    c #BAA882",
+"k&    c #B3A07A",
+"l&    c #5A4F3E",
+"m&    c #BAA783",
+"n&    c #BFAA88",
+"o&    c #423A30",
+"p&    c #98856C",
+"q&    c #5F5643",
+"r&    c #70644E",
+"s&    c #B09E79",
+"t&    c #615644",
+"u&    c #756753",
+"v&    c #B9A281",
+"w&    c #807058",
+"x&    c #574D3E",
+"y&    c #B8A181",
+"z&    c #14110D",
+"A&    c #090807",
+"B&    c #A38D71",
+"C&    c #A59075",
+"D&    c #A18E71",
+"E&    c #A79376",
+"F&    c #C4AD89",
+"G&    c #E9CFA3",
+"H&    c #524839",
+"I&    c #A18C6B",
+"J&    c #C6AF89",
+"K&    c #17140F",
+"L&    c #B69D79",
+"M&    c #9A8365",
+"N&    c #060503",
+"O&    c #2F291F",
+"P&    c #B6A27D",
+"Q&    c #C1AB86",
+"R&    c #393228",
+"S&    c #9E8C6D",
+"T&    c #A39170",
+"U&    c #211E17",
+"V&    c #BEAD89",
+"W&    c #B29B7A",
+"X&    c #756651",
+"Y&    c #544836",
+"Z&    c #B9A181",
+"`&    c #BFA786",
+" *    c #3E3629",
+".*    c #958A6C",
+"+*    c #BFAA84",
+"@*    c #584E3C",
+"#*    c #6E614B",
+"$*    c #BFA984",
+"%*    c #635742",
+"&*    c #B59F79",
+"**    c #7E6E54",
+"=*    c #504637",
+"-*    c #BEA785",
+";*    c #241F18",
+">*    c #AD9976",
+",*    c #B89E7A",
+"'*    c #B89B78",
+")*    c #A68D6E",
+"!*    c #B39B76",
+"~*    c #E8CDA1",
+"{*    c #534939",
+"]*    c #B09B79",
+"^*    c #BDA582",
+"/*    c #B9A17C",
+"(*    c #050503",
+"_*    c #171410",
+":*    c #B8A27F",
+"<*    c #B7A27C",
+"[*    c #1A1611",
+"}*    c #1B1812",
+"|*    c #B49F7D",
+"1*    c #A79271",
+"2*    c #201C15",
+"3*    c #B09B78",
+"4*    c #B69F7C",
+"5*    c #B8A07E",
+"6*    c #7A6E58",
+"7*    c #483F32",
+"8*    c #C5AD8C",
+"9*    c #B89E80",
+"0*    c #625744",
+"a*    c #BDA784",
+"b*    c #70624B",
+"c*    c #655A46",
+"d*    c #776A54",
+"e*    c #86775C",
+"f*    c #B9A27E",
+"g*    c #010000",
+"h*    c #695C48",
+"i*    c #C4AB88",
+"j*    c #A48F71",
+"k*    c #473E30",
+"l*    c #C1AA84",
+"m*    c #514636",
+"n*    c #AD9776",
+"o*    c #78684F",
+"p*    c #050504",
+"q*    c #72644E",
+"r*    c #73654E",
+"s*    c #090806",
+"t*    c #645844",
+"u*    c #675B46",
+"v*    c #0B0907",
+"w*    c #72634D",
+"x*    c #655742",
+"y*    c #0C0B08",
+"z*    c #B6A07E",
+"A*    c #A38F73",
+"B*    c #0A0907",
+"C*    c #070605",
+"D*    c #383127",
+"E*    c #AB9679",
+"F*    c #766852",
+"G*    c #232019",
+"H*    c #2D281F",
+"I*    c #393227",
+"J*    c #8C7C62",
+"K*    c #342E24",
+"L*    c #AE9A77",
+"M*    c #574C3B",
+"N*    c #2A251D",
+"O*    c #9E896B",
+"P*    c #938063",
+"Q*    c #13110D",
+"R*    c #242019",
+"S*    c #89775A",
+"T*    c #BAA57F",
+"U*    c #E5C69C",
+"V*    c #A79373",
+"W*    c #AF9B79",
+"X*    c #89775D",
+"Y*    c #7A6954",
+"Z*    c #766650",
+"`*    c #82735A",
+" =    c #AE9A75",
+".=    c #C0AB87",
+"+=    c #988769",
+"@=    c #605542",
+"#=    c #655945",
+"$=    c #8F7C61",
+"%=    c #BEA382",
+"&=    c #837159",
+"*=    c #7E6D55",
+"==    c #796850",
+"-=    c #817058",
+";=    c #BCA481",
+">=    c #B49D7B",
+",=    c #C3AB8A",
+"'=    c #81725A",
+")=    c #917D60",
+"!=    c #B8A081",
+"~=    c #B7A882",
+"{=    c #6C614B",
+"]=    c #9D8B6C",
+"^=    c #A59373",
+"/=    c #7E7057",
+"(=    c #786A51",
+"_=    c #8D7C60",
+":=    c #807158",
+"<=    c #7C6E56",
+"[=    c #B8A380",
+"}=    c #807057",
+"|=    c #7C6D54",
+"1=    c #7C6C55",
+"2=    c #9F8B6B",
+"3=    c #BCA382",
+"4=    c #958166",
+"5=    c #615442",
+"6=    c #5C5240",
+"7=    c #958366",
+"8=    c #C4AE89",
+"9=    c #D5BD8F",
+"0=    c #AF9B7C",
+"a=    c #C4AC8B",
+"b=    c #B49C7B",
+"c=    c #BEA987",
+"d=    c #B5A17E",
+"e=    c #B19C79",
+"f=    c #B7A37F",
+"g=    c #BAA881",
+"h=    c #B29F79",
+"i=    c #B09A75",
+"j=    c #C0AA87",
+"k=    c #BBA581",
+"l=    c #BDA681",
+"m=    c #BBA682",
+"n=    c #B49C79",
+"o=    c #B7A27B",
+"p=    c #C6AF88",
+"q=    c #BDA67E",
+"r=    c #C0A882",
+"s=    c #B8A57E",
+"t=    c #C4B18A",
+"u=    c #B5A27D",
+"v=    c #C2AE89",
+"w=    c #BDA77F",
+"x=    c #BCA67F",
+"y=    c #C3AD86",
+"z=    c #BBA680",
+"A=    c #B29D7C",
+"B=    c #BEA584",
+"C=    c #B19978",
+"D=    c #BDA685",
+"E=    c #BCA785",
+"F=    c #B6A17D",
+"G=    c #B4A07D",
+"H=    c #B19C78",
+"I=    c #BAA682",
+"J=    c #E8D0A4",
+"K=    c #AD9879",
+"L=    c #B69D7C",
+"M=    c #B9A180",
+"N=    c #BAA27F",
+"O=    c #B69E7D",
+"P=    c #C2AA88",
+"Q=    c #C3AC89",
+"R=    c #BCAA84",
+"S=    c #BEAA85",
+"T=    c #C8B38E",
+"U=    c #C8B38F",
+"V=    c #BBA781",
+"W=    c #B49F7A",
+"X=    c #B9A37E",
+"Y=    c #B7A27D",
+"Z=    c #B5A17C",
+"`=    c #C4B08A",
+" -    c #BFA783",
+".-    c #BEA883",
+"+-    c #C7B08B",
+"@-    c #B9A27D",
+"#-    c #B29A74",
+"$-    c #C2AC83",
+"%-    c #C3AB85",
+"&-    c #C2AC84",
+"*-    c #BFAB86",
+"=-    c #B39F7C",
+"--    c #B49E7D",
+";-    c #C4AE8B",
+">-    c #C1AA89",
+",-    c #B69D7B",
+"'-    c #BDA683",
+")-    c #B79E7D",
+"!-    c #C3AC8A",
+"~-    c #BFA885",
+"{-    c #B9A580",
+"]-    c #EDD1A5",
+"^-    c #625344",
+"/-    c #C8AD8A",
+"(-    c #C8AB82",
+"_-    c #BAA17F",
+":-    c #BFA785",
+"<-    c #C2AC88",
+"[-    c #C5AE89",
+"}-    c #C3AD87",
+"|-    c #C0AD88",
+"1-    c #C2AD88",
+"2-    c #C5B08A",
+"3-    c #B9A480",
+"4-    c #C3AE88",
+"5-    c #CAB18D",
+"6-    c #BFA680",
+"7-    c #BEA780",
+"8-    c #BDA780",
+"9-    c #BAA37D",
+"0-    c #BCA682",
+"a-    c #C3AB8B",
+"b-    c #BDA786",
+"c-    c #C1A989",
+"d-    c #B79E7C",
+"e-    c #BDA484",
+"f-    c #C4AC89",
+"g-    c #BAA280",
+"h-    c #C4AE8A",
+"i-    c #EFD2A6",
+"j-    c #AE9876",
+"k-    c #DDC29A",
+"l-    c #EBD1A4",
+"m-    c #EAD09F",
+"n-    c #E9CEA2",
+"o-    c #E7CBA0",
+"p-    c #E8CC9E",
+"q-    c #EACFA3",
+"r-    c #E4CA9D",
+"s-    c #E5C89B",
+"t-    c #E5C79B",
+"u-    c #E2C499",
+"v-    c #E2C398",
+"w-    c #ECCDA1",
+"x-    c #E6C89E",
+"y-    c #DCC092",
+"z-    c #D4B88A",
+"A-    c #E3C69A",
+"B-    c #DFC698",
+"C-    c #E2CA9E",
+"D-    c #D7BC90",
+"E-    c #DFC498",
+"F-    c #E4C79B",
+"G-    c #DDC197",
+"H-    c #DBBF95",
+"I-    c #DEC199",
+"J-    c #D4B48D",
+"K-    c #DFC296",
+"L-    c #E0C096",
+"M-    c #DCC393",
+"N-    c #E4C99E",
+"O-    c #D5B78D",
+"P-    c #E8CB9F",
+"Q-    c #ECD1A3",
+"R-    c #DCBF90",
+"S-    c #E1C497",
+"T-    c #DABE95",
+"U-    c #E2C79E",
+"V-    c #EED3A6",
+"W-    c #E8CE9E",
+"X-    c #E8CDA2",
+"Y-    c #E9CCA2",
+"Z-    c #E7CC9D",
+"`-    c #EACEA2",
+" ;    c #E3C99A",
+".;    c #E6C89C",
+"+;    c #E4C69A",
+"@;    c #EECFA1",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"            . + @ # $ % & * = - ; ; > , ' # ) ! ~ { , ] ^ / ( _ : < [ } | 1 2 
* 3 * % 4 2 5 6 @ % $ 7 8 9 0 a b c d             ",
+"            e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I E J 
K L M N O P Q R S T U z y V W X Y Z `             ",
+"             
...+.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^.'./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.b.e.f.3.=.g.h.i.
            ",
+"            
j.k.l.+.@.#.$.%.&.*.=.-.;.>.,.'.).!.~.{.].^.'./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.b.e.f.3.=.g.m.
            ",
+"            
n.o.p.l.q.r.s.t.u.v.w.x.y.z.A.B.C.D.D.E.F.G.}.H.I.J.K.L.M.N.O.P.Q.R.S.T.^.a.U.V.W.X.|.Y.Z.`.
 +.+++@+#+$+            ",
+"            
%+..&+p.*+=+-+;+>+,+,+'+)+!+~+{+]+[.^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+l.7+8+9+0+a+b+)+v.&+c+d+e+;+f+g+h+i+j+
            ",
+"            
k+l+|.&+m+n+o+p+q+F.r+s+t+u+v+w+x+y+:.z+/.A+B+C+D+E+F+G+H+I+J+i+g+K+L+M+N+O+P+Q+R+F+&+f+S+T+U+V+W+X+Y+Z+
            ",
+"            `+ 
@.@|.+@@@#@$@%@&@*@=@-@;@-.>@,@'@)@!@>@~@{@]@^@/@(@S+|._@:@<@[@v.T+w.}@|@1@ 
+2@3@}.4@5@6@T+7@P+8@G.9@            ",
+"            0@a@b@.@c@3@d@e@f@g@h@i@j@%.k@l@m@n@ 
+o@p@-.q@r@L.s@t@u@v@.@2+w@x@y@z@A@B@C@D@E@F@G@H@7.I@Q+3.v.J@K@L@M@            
",
+"            N@O@P@b@Q@R@S@T@U@V@W@X@Y@W+Z@k@`@ 
#.#g.+#@###$#%#&#*#s+m+|@=#-#;#>#,#D+y+'#)#!#~#{#]#^#/#(#_#:#F.<#[#}#           
 ",
+"            
|#1#2#P@q+3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#l#m#f.n#o#p#q#r#s#t#u#v#w#R.x#y#<#z#j@A#f+B#C#D#E#v#s+F#
            ",
+"            G#H#I#2#J#K#L#M#N#O#P#>#Q#R#b+S#T#U#z@V#W#X#Y#Z#`# 
$.$+$=.@$#$$$%$&$q+T.*$=$-$a.1@;$>$,$'$)$>+!$N.v#~${$            ",
+"            
]$^$3.I#/$($_$:$<$[$}$|$1$2$3$c#4$5$6$7$1$8$9$0$%+a$b$c$d$e$f$g$h$i$.+j$k$l$m$n$o$W.p$q$u@r$s$t$u$v$w$x$
            ",
+"            
y$z$A$3.B$6#C$D$E$F$G$H$I$J$K$|.L$U@M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ 
%.%+%@%#%$%O$%%&%*%=%-%;%>%,%'%)%!%~%            ",
+"            {%]%^%A$/%($_$(%_%:%<%a@[%}%|%&#1%K#2%3%4%5%6%R$7%8%9%0%R$a%b%1 
R$c%d%e%R$f%g%h%R$i%j%k%($l%m%n%o%p%q%r%            ",
+"            s%t%u%^%v%w%_$x%y%2%z%L+A%B%n%C%D%E%F%G%H%I%J%R$K%L%M%N%R$O% 
#P%R$Q%S.. R$R%S%T%R$U%4+V%W%X%Y%Z%`%%. &.&            ",
+"            
y$+&@&u%#&($_$$&%&&&*&=&-&;&R$>&$$O$,&'&)&^.!&R$~&{&]&^&R$%&/&(&R$_&:&<&R$[&C#}&R$U%I%_$|&1&2&<%O$3&4&5&
            ",
+"            6&7&8&@&S+($9&0&a&n%b&c&-.d&R$e&f&g&h&i&j&k& 
%R$l&m&n&o&R$p&s#q&R$r&s&t&R$u&v&w&R$x&y&z&A&B&C&D&E&F&C#G&            ",
+"            H&I&A$8&J&w%K&L&M&N&O&P&Q&R&R$S&T&E%U&V&/&W&X&R$Y&Z&`& 
*R$.*+*@*R$#*$*%*R$#*&***R$=*-*;*2%>*,*'*)*!*m#~*            ",
+"            
{*]*^*A$/*(*_*P+o+F%F%:*<*[*}*|*1*E%2*3*4*5*6*R$7*8*9*o%R$0*a*;%R$b*q+c*R$d*F&e*R$e
 f*< g*h*i*j*k*=.l*G&            ",
+"            
m*n*A$^*o*6#p*q*A$r*s*t*u*v*w*R.x*($y*d*z*5*A*B*C*D*E*F*R$($G*H*R$I*J*K*R$*&L*M*R$N*O*P*Q*C*V%R*S*~#T*U*
            ",
+"            N@V*W*A$X*Y*Z*`* 
=.=+=@=#=$=%=n+&=*===-=;=>=,='=i%)=!=~={=(&]=^=/=(=_=`*:=<=[=}=|=1=2=3=4=5=6=7=8=q%A#9=
            ",
+"            
{*0=a=W*O#b=u%c=P&d=e=f=g=h=i=K+j=k=4.l=m=Q&n=n=<#p@r+o=p=q=q=r=F.s=t=u=v=w=x=y=z=c$A=B=C=D=E=F=G=H=I=J=
            ",
+"            =*K=L=a=M=N=O=P=Q=f@Q=R=F=S=T=U=V=W=X=Y=Z=`= 
-f*.-+-@-#-%@y#$-%-c@&-*-=---;-p%Q=&.>-,=,-'-)-!-~-M=z#{-]-            ",
+"            
^-/-(-L=_-:-g@:-7$j$3.<-8=[-[-T=8@}-A#q+|-1-A#9#2-3-4-5-4&3.6-7-.#8-9-0-a-b-<$c-3=S.d-e-L.f-o+g-S.f#h-i-
            ",
+"            
j-k-l-m-n-o-p-q-r-s-t-u-s-v-w-x-y-z-A-B-C-D-E-E-F-G-H-I-J-K-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-`-
 ;.;+;F-@;            ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  ",
+"                                                                              
                                                  "};
diff --git a/wmfortune/XPM/panel_window.xpm b/wmfortune/XPM/panel_window.xpm
new file mode 100644
index 0000000..db83b24
--- /dev/null
+++ b/wmfortune/XPM/panel_window.xpm
@@ -0,0 +1,70 @@
+/* XPM */
+static char * panel_window_xpm[] = {
+"64 64 3 1",
+"      c None",
+".     c #000000",
+"+     c #FFFFFF",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    .......................................................+    ",
+"    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++    ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                "};
diff --git a/wmfortune/dockapp.c b/wmfortune/dockapp.c
new file mode 100644
index 0000000..59850df
--- /dev/null
+++ b/wmfortune/dockapp.c
@@ -0,0 +1,565 @@
+/*
+ * 
+ * Copyright (c) 1999 Alfredo K. Kojima
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ */
+
+
+#include "dockapp.h"
+
+#include <string.h>
+#include <X11/extensions/shape.h>
+#include <X11/Xatom.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+
+static char *progName = NULL;
+static unsigned d_width, d_height;
+static DACallbacks d_callbacks = {NULL, NULL, NULL, NULL, NULL, NULL};
+static int d_iswmaker = 0;
+static int d_timeout = 0;
+
+Display *DADisplay = NULL;
+Window DAWindow = None;
+Window DALeader = None;
+int DADepth = 0;
+Visual *DAVisual = NULL;
+
+
+static unsigned char*
+PropGetCheckProperty(Display *dpy, Window window, Atom hint, Atom type,
+                    int format, int count, int *retCount)
+{
+    Atom type_ret;
+    int fmt_ret;
+    unsigned long nitems_ret;
+    unsigned long bytes_after_ret;
+    unsigned char *data;
+    int tmp;
+
+    if (count <= 0)
+        tmp = 0xffffff;
+    else
+        tmp = count;
+
+    if (XGetWindowProperty(dpy, window, hint, 0, tmp, False, type,
+                           &type_ret, &fmt_ret, &nitems_ret, &bytes_after_ret,
+                           (unsigned char **)&data)!=Success || !data)
+        return NULL;
+
+    if ((type!=AnyPropertyType && type!=type_ret)
+        || (count > 0 && nitems_ret != count)
+        || (format != 0 && format != fmt_ret)) {
+        XFree(data);
+        return NULL;
+    }
+
+    if (retCount)
+        *retCount = nitems_ret;
+
+    return data;
+}
+
+
+static Bool
+iswmaker(Display *dpy)
+{
+    Atom *data;
+    Atom atom;
+    Atom noticeboard;
+    int i, count;
+
+    atom = XInternAtom(dpy, "_WINDOWMAKER_WM_PROTOCOLS", False);
+    noticeboard = XInternAtom(dpy, "_WINDOWMAKER_NOTICEBOARD", False);
+
+    data = (Atom*)PropGetCheckProperty(dpy, DefaultRootWindow(dpy), atom,
+                                      XA_ATOM, 32, -1, &count);
+
+    if (!data)
+       return False;
+
+    for (i = 0; i < count; i++) {
+       if (data[i] == noticeboard) {
+           Window *win;
+           void *d;
+
+           XFree(data);
+
+           win = (Window*)PropGetCheckProperty(dpy, DefaultRootWindow(dpy), 
+                                               noticeboard, XA_WINDOW, 32, -1,
+                                               &count);
+
+           if (!win) {
+               return False;
+           }
+
+           d = PropGetCheckProperty(dpy, *win, noticeboard, XA_WINDOW, 32, 1,
+                                    NULL);
+           if (d) {
+               XFree(d);
+
+               return True;
+           }
+           return False;
+       }
+    }
+
+    XFree(data);
+
+    /* not 100% sure */
+    return True;
+}
+
+
+
+void
+DAInitialize(char *display, char *name, unsigned width, unsigned height,
+            int argc, char **argv)
+{
+    XClassHint *chint;
+    XWMHints *hints;
+
+    d_width = width;
+    d_height = height;
+    
+    progName = argv[0];
+
+    DADisplay = XOpenDisplay(display);
+    if (!DADisplay) {
+       printf("%s: could not open display %s!\n", progName, 
+              XDisplayName(display));
+
+       exit(1);
+    }
+
+    DAWindow = XCreateSimpleWindow(DADisplay, DefaultRootWindow(DADisplay),
+                                   0, 0, width, height, 0, 0, 0);
+
+    DALeader = XCreateSimpleWindow(DADisplay, DefaultRootWindow(DADisplay),
+                                   0, 0, 1, 1, 0, 0, 0);
+    chint = XAllocClassHint();
+    if (!chint) {
+       printf("%s: cant allocate memory for class hints!\n", progName);
+       exit(1);
+    }
+    chint->res_class = name;
+    chint->res_name = strrchr(argv[0], '/');
+    if (!chint->res_name)
+       chint->res_name = argv[0];
+    else
+       chint->res_name++;
+
+    XSetClassHint(DADisplay, DALeader, chint);
+    XFree(chint);
+
+    hints = XAllocWMHints();
+    if (!hints) {
+       printf("%s: cant allocate memory for hints!\n", progName);
+       exit(1);
+    }
+    hints->flags = IconWindowHint|WindowGroupHint;
+
+    d_iswmaker = iswmaker(DADisplay);
+    if (d_iswmaker) {
+       hints->flags |= StateHint;
+       hints->initial_state = WithdrawnState;
+    }
+    hints->window_group = DALeader;
+    hints->icon_window = DAWindow;
+
+    XSetWMHints(DADisplay, DALeader, hints);
+
+    XSetCommand(DADisplay, DALeader, argv, argc);
+
+    DADepth = DefaultDepth(DADisplay, DefaultScreen(DADisplay));
+    DAVisual = DefaultVisual(DADisplay, DefaultScreen(DADisplay));
+
+
+    XFlush(DADisplay);
+}
+
+
+void
+DASetShape(Pixmap shapeMask)
+{
+    XShapeCombineMask(DADisplay, DAWindow, ShapeBounding, 0, 0, shapeMask,
+                     ShapeSet);
+    XFlush(DADisplay);
+}
+
+
+void
+DASetPixmap(Pixmap pixmap)
+{
+    XSetWindowBackgroundPixmap(DADisplay, DAWindow, pixmap);
+    XClearWindow(DADisplay, DAWindow);
+    XFlush(DADisplay);
+}
+
+
+Pixmap
+DAMakePixmap()
+{
+    Pixmap p;
+
+    p = XCreatePixmap(DADisplay, DAWindow, d_width, d_height,
+                     DefaultDepth(DADisplay, DefaultScreen(DADisplay)));
+
+    return p;
+}
+
+
+
+Bool
+DAMakePixmapFromData(char **data, Pixmap *pixmap, Pixmap *mask,
+                    unsigned *width, unsigned *height)
+{
+    XpmAttributes xpmat;
+
+    xpmat.valuemask = XpmCloseness;
+    xpmat.closeness = 40000;
+
+    if (XpmCreatePixmapFromData(DADisplay, DAWindow, data, pixmap, mask, 
+                               &xpmat)!=0) {
+       return False;
+    }
+
+    *width = xpmat.width;
+    *height = xpmat.height;
+
+    return True;
+}
+
+
+void
+DAShow()
+{
+    if (d_iswmaker) {
+       XMapRaised(DADisplay, DALeader);
+    } else {
+       XMapRaised(DADisplay, DAWindow);
+    }
+
+    XFlush(DADisplay);
+}
+
+
+void
+DASetCallbacks(DACallbacks *callbacks)
+{
+    long mask = 0;
+
+    d_callbacks = *callbacks;
+
+    if (callbacks->buttonPress)
+       mask |= ButtonPressMask;
+
+    if (callbacks->buttonRelease)
+       mask |= ButtonReleaseMask;
+
+    XSelectInput(DADisplay, DAWindow, mask);
+    XFlush(DADisplay);
+}
+
+
+Bool
+DAProcessEvent(XEvent *event)
+{
+    if (event->xany.window != DAWindow
+       && event->xany.window != DALeader)
+       return False;
+
+    switch (event->type) {
+     case DestroyNotify:
+       if (d_callbacks.destroy) {
+           (*d_callbacks.destroy)();
+       }
+       exit(0);
+       break;
+
+     case ButtonPress:
+       if (d_callbacks.buttonPress) {
+           (*d_callbacks.buttonPress)(event->xbutton.button, 
event->xbutton.state,
+                                      event->xbutton.x, event->xbutton.y);
+       }
+       break;
+
+     case ButtonRelease:
+       if (d_callbacks.buttonRelease) {
+           (*d_callbacks.buttonRelease)(event->xbutton.button, 
event->xbutton.state,
+                                        event->xbutton.x, event->xbutton.y);
+       }
+       break;
+
+     case MotionNotify:
+       if (d_callbacks.motion) {
+           (*d_callbacks.motion)(event->xbutton.x, event->xbutton.y);      
+       }
+       break;
+
+     case EnterNotify:
+       if (d_callbacks.enter) {
+           (*d_callbacks.enter)();
+       }
+       break;
+
+     case LeaveNotify:
+       if (d_callbacks.leave) {
+           (*d_callbacks.leave)();
+       }
+       break;
+
+     default:
+       return False;
+       break;
+    }
+
+    return True;
+}
+
+
+void
+DAEventLoop()
+{
+    XEvent ev;
+
+    for (;;) {
+       if (d_timeout >= 0) {
+           if (!DANextEventOrTimeout(&ev, d_timeout)) {
+               if (d_callbacks.timeout)
+                   (*d_callbacks.timeout)();
+               continue;
+           }
+       } else {
+           XNextEvent(DADisplay, &ev);
+       }
+       DAProcessEvent(&ev);
+    }
+}
+
+
+static DAProgramOption defaultOptions[]= {
+    {"-h", "--help", "shows this help text and exit", DONone, False, 
+       {NULL}},
+    {"-v", "--version", "shows program version and exit", DONone, False, 
+       {NULL}}
+};
+
+
+static void
+printHelp(char *prog, char *description, DAProgramOption *options,
+         int count)
+{
+    int j;
+
+    printf("Usage: %s [OPTIONS]\n", prog);
+    if (description)
+       puts(description);
+
+    for (j = 0; j < count + 2; j++) {
+       char blank[35];
+       int c;
+       int i;
+
+       if (j >= count) {
+           options = defaultOptions;
+           i = j - count;
+       } else {
+           i = j;
+       }
+
+       if (options[i].shortForm && options[i].longForm)
+           c = printf("  %s, %s", options[i].shortForm, options[i].longForm);
+       else if (options[i].shortForm)
+           c = printf("  %s", options[i].shortForm);
+       else if (options[i].longForm)
+           c = printf("  %s", options[i].longForm);
+       else
+           continue;
+
+       if (options[i].type != DONone) {
+           switch (options[i].type) {
+            case DOInteger:
+               c += printf(" <integer>");
+               break;
+            case DOString:
+               c += printf(" <string>");
+               break;
+            case DONatural:
+               c+= printf(" <number>");
+               break;
+           }
+       }
+
+       memset(blank, ' ', 30);
+       if (c > 29)
+           c = 1;
+       blank[30-c] = 0;
+       printf("%s %s\n", blank, options[i].description);
+    }
+}
+
+
+void
+DAParseArguments(int argc, char **argv, DAProgramOption *options,
+                int count, char *programDescription, char *versionDescription)
+{
+    int i, j;
+    int found = 0;
+
+    for (i = 1; i < argc; i++) {
+       if (strcmp(argv[i], "-h")==0 || strcmp(argv[i], "--help")==0) {
+           
+           printHelp(argv[0], programDescription, options, count);
+           exit(0);
+
+       } else if (strcmp(argv[i], "--version")==0) {
+
+           puts(versionDescription);
+           exit(0);
+
+       }
+
+       found = 0;
+       for (j = 0; j < count; j++) {
+           if ((options[j].shortForm
+               && strcmp(options[j].shortForm, argv[i])==0)
+               ||
+               (options[j].longForm
+               && strcmp(options[j].longForm, argv[i])==0)) {
+
+               found = 1;
+
+               options[j].used = True;
+
+               if (options[j].type == DONone)
+                   break;
+
+               i++;
+               if (i >= argc) {
+                   printf("%s: missing argument for option '%s'\n", argv[0],
+                          argv[i-1]);
+                   exit(1);
+               }
+
+               switch (options[j].type) {
+                case DOInteger:
+                   {
+                       int integer;
+
+                       if (sscanf(argv[i], "%i", &integer)!=1) {
+                           printf("%s: error parsing argument for option %s\n",
+                                  argv[0], argv[i-1]);
+                           exit(1);
+                       }
+                       *options[j].value.integer = integer;
+                   }
+                   break;
+                case DONatural:
+                   {
+                       int integer;
+
+                       if (sscanf(argv[i], "%i", &integer)!=1) {
+                           printf("%s: error parsing argument for option %s\n",
+                                  argv[0], argv[i-1]);
+                           exit(1);
+                       }
+                       if (integer < 0) {
+                           printf("%s: argument %s must be >= 0\n",
+                                  argv[0], argv[i-1]);
+                           exit(1);
+                       }
+                       *options[j].value.integer = integer;
+                   }
+                   break;
+                case DOString:
+                   *options[j].value.string = argv[i];
+                   break;
+               }
+               break;
+           }
+       }
+       if (!found) {
+           printf("%s: unrecognized option '%s'\n", argv[0], argv[i]);
+           printHelp(argv[0], programDescription, options, count);
+           exit(1);
+       }
+    }
+}
+
+
+unsigned long
+DAGetColor(char *colorName)
+{
+    XColor color;
+
+    if (!XParseColor(DADisplay, 
+                    DefaultColormap(DADisplay, DefaultScreen(DADisplay)),
+                    colorName, &color)) {
+       printf("%s: could not parse color %s\n", progName, colorName);
+       exit(1);
+    }
+
+    if (!XAllocColor(DADisplay, DefaultColormap(DADisplay, 
DefaultScreen(DADisplay)),
+                    &color)) {
+       printf("%s: could not allocate color %s. Using black\n", progName, 
colorName);
+       return BlackPixel(DADisplay, DefaultScreen(DADisplay));
+    }
+
+    return color.pixel;
+}
+
+
+void 
+DASetTimeout(int milliseconds)
+{
+    d_timeout = milliseconds;
+}
+
+
+
+Bool
+DANextEventOrTimeout(XEvent *event, unsigned long millisec)
+{
+    struct timeval timeout;
+    fd_set rset;
+
+    XSync(DADisplay, False);
+    if (XPending(DADisplay)) {
+       XNextEvent(DADisplay, event);
+       return True;
+    }
+
+    timeout.tv_sec = millisec/1000;
+    timeout.tv_usec = (millisec%1000)*10;
+
+    FD_ZERO(&rset);
+    FD_SET(ConnectionNumber(DADisplay), &rset);
+
+    if (select(ConnectionNumber(DADisplay)+1, &rset, NULL, NULL, 
+              &timeout) > 0) {
+       XNextEvent(DADisplay, event);
+       return True;
+    }
+    return False;
+}
+
diff --git a/wmfortune/dockapp.h b/wmfortune/dockapp.h
new file mode 100644
index 0000000..e8e313c
--- /dev/null
+++ b/wmfortune/dockapp.h
@@ -0,0 +1,230 @@
+/*
+ * 
+ * Copyright (c) 1999 Alfredo K. Kojima
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ */
+
+#ifndef _DOCKAPP_H_
+#define _DOCKAPP_H_
+
+
+/*
+ * This is a simple (trivial) library for writing Window Maker dock 
+ * applications, or dockapps (those that only show up in the dock), easily.
+ * 
+ * It is very limited and can be only used for dockapps that open a single
+ * appicon for process in only one single display, but this seems to be
+ * enough for most, if not all, dockapps.
+ */
+
+
+#include <X11/Xlib.h>
+#include <X11/xpm.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+
+
+extern Display *DADisplay;
+
+extern Window DAWindow;
+
+extern int DADepth;
+
+extern Visual *DAVisual;
+
+
+/* the callbacks for events related to the dockapp window your program wants
+ * to handle */
+typedef struct {
+    /* the dockapp window was destroyed */
+    void (*destroy)();
+    /* button pressed */
+    void (*buttonPress)(int button, int state, int x, int y);
+    /* button released */
+    void (*buttonRelease)(int button, int state, int x, int y);
+    /* pointer motion */
+    void (*motion)(int x, int y);
+    /* pointer entered dockapp window */
+    void (*enter)();
+    /* pointer leaved dockapp window */
+    void (*leave)();
+    /* timer expired */
+    void (*timeout)();
+} DACallbacks;
+
+
+/* option argument types */
+enum {
+    DONone,                           /* simple on/off flag */
+       DOInteger,                     /* an integer number */
+       DOString,                      /* a string */
+       DONatural                      /* positive integer number */
+};
+
+
+typedef struct {
+    char *shortForm;                  /* short form for option, like -w */
+    char *longForm;                   /* long form for option, like 
--withdrawn */
+    char *description;                /* description for the option */
+
+    short type;                               /* type of argument */
+
+    Bool used;                        /* if the argument was passed in the 
+                                       cmd line */
+    /* the following are only set if the "used" field is True */
+    union {                           /* a ptr for the value that was passed
+                                       in the command line */
+       void *ptr;
+
+       int *integer;
+
+       char **string;
+    } value;
+} DAProgramOption;
+
+
+
+/*
+ * DAParseArguments-
+ *     Command line argument parser. The program is exited if there are
+ * syntax errors.
+ *
+ * -h, --help and --version are automatically handled (causing the program
+ * to exit)
+ * 
+ */
+void DAParseArguments(int argc, char **argv, DAProgramOption *options,
+                     int count, char *programDescription,
+                     char *versionDescription);
+
+
+/*
+ * DAInitialize-
+ *     Initialize the dockapp, open a connection to the X server,
+ * create the needed windows and setup them to become an appicon window.
+ * It will automatically detect if Window Maker is present and use
+ * an appropriate form form
+ *
+ * You must call this always before calling anything else (except for
+ * DAParseArguments())
+ *
+ * Arguments:
+ *     display - the name of the display to connect to. Use "" to use the
+ *             default value
+ *     name - the name of your dockapp, used as the class name for
+ *             the WM_CLASS hint. Like WMYAClock
+ *     width, height - the size of the dockapp window. 48x48 is the 
+ *             preferred size
+ *     argc, argv - the program arguments. argv[0] will be used as the
+ *             instance name for the WM_CLASS hint.
+ */
+void DAInitialize(char *display, char *name, unsigned width, unsigned height,
+                 int argc, char **argv);
+
+/*
+ * DASetShape-  
+ *     Sets the shape mask of the dockapp to the specified one. This is
+ * optional. If you pass None as shapeMask, the dockapp will become
+ * non-shaped.
+ *
+ * This is only needed if you want the dockapp to be shaped.
+ */
+void DASetShape(Pixmap shapeMask);
+
+/*
+ * DASetPixmap-
+ *     Sets the image pixmap for the dockapp. Once you set the image with
+ * it, you don't need to handle expose events.
+ */
+void DASetPixmap(Pixmap pixmap);
+
+/*
+ * DAMakePixmap-
+ *     Creates a pixmap suitable for using with DASetPixmap()
+ */
+Pixmap DAMakePixmap();
+
+
+
+/*
+ * DAMakePixmapFromData-
+ *     Creates a pixmap and mask from XPM data
+ */
+Bool DAMakePixmapFromData(char **data, Pixmap *pixmap, Pixmap *mask,
+                         unsigned *width, unsigned *height);
+
+
+/*
+ * Returns a color.
+ */
+unsigned long DAGetColor(char *colorName);
+/*
+ * DAShow-
+ *     Opens the dockapp.
+ *
+ * Always call this function or the dockapp won't show up.
+ */
+void DAShow();
+
+/*
+ * DASetCallbacks-
+ *     Register a set of callbacks for events like mouse clicks.
+ * 
+ * Only needed if you want to receive some event.
+ */
+void DASetCallbacks(DACallbacks *callbacks);
+
+/*
+ * DASetTimeout-
+ *     Sets a timeout for the DAEventLoop(). The timeout callback
+ * will be called whenever the app doens't get any events from the
+ * X server in the specified time.
+ */
+void DASetTimeout(int milliseconds);
+
+
+/*
+ * DANextEventOrTimeout-
+ *     Waits until an event is received or the timeout limit is
+ * expired. Returns True if an event was received.
+ */
+Bool DANextEventOrTimeout(XEvent *event, unsigned long millisec);
+
+
+/*
+ * DAProcessEvent-
+ *     Processes an event. Returns True if the event was handled and
+ * False otherwise.
+ * 
+ * Must be called from your event loop, unless you use DAEventLoop()
+ */
+Bool DAProcessEvent(XEvent *event);
+
+/*
+ * DAEventLoop-
+ *     Enters an event loop where events are processed until the dockapp
+ * is closed. This function never returns.
+ */
+void DAEventLoop();
+
+
+
+#endif
diff --git a/wmfortune/wmfortune.c b/wmfortune/wmfortune.c
new file mode 100644
index 0000000..2f00601
--- /dev/null
+++ b/wmfortune/wmfortune.c
@@ -0,0 +1,222 @@
+/*
+ * $Id: wmfortune.c,v 0.24 2000/03/28 01:49:58 sugano Exp $
+ * wmfortune Copyright (c) 2000 Makoto Sugano
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+#define BUFF_SIZE 1024
+#define SCROLL_DEFAULT_SPEED 1000
+
+#include <unistd.h>
+#include <stdio.h>
+#include "dockapp.h"
+#include "XPM/panel.xpm"
+#include "XPM/panel_button_pressed.xpm"
+#include "XPM/panel_window.xpm"
+
+/* WINDOW: window for showing the messages */
+#define WINDOW_X 4
+#define WINDOW_Y 4
+#define WINDOW_WIDTH 56
+#define WINDOW_HEIGHT 22
+
+/* BUTTON: button for the new fortune message */
+#define BUTTON_X 6
+#define BUTTON_Y 32
+#define BUTTON_WIDTH 52
+#define BUTTON_HEIGHT 28
+
+/* 6 pixels are used to draw a letter */
+#define PIXELS_PER_LETTER 6
+
+#define STRING_Y 18
+
+/*
+ * pixel lag between the last letter of the previous message
+ * and the first letter of the next message.
+ * if set to 0, the messages appear quickly after
+ * the previous messages ends.
+ */
+#define MESSAGE_LAG 5
+
+char *displayName = "";
+int speed = SCROLL_DEFAULT_SPEED;
+
+/* global variables for main() and callbacks */
+FILE *fortune;
+Pixmap pixmap;
+Pixmap panel_button_pressed_pixmap;
+Pixmap panel_pixmap, panel_mask;
+GC gc;
+int c;
+char buff[BUFF_SIZE];
+
+/* 
+ * i: used to count the number of letters in fill_buff().
+ * j: the number that points the message starting pixel.
+ */
+int i, j;
+
+/* fill the buffer with the fortune message. */
+static void
+fill_buff (void)
+{
+  i = 0;
+
+  memset(buff, '\0', BUFF_SIZE);
+  if (!(fortune = popen("fortune -s", "r")))
+    {
+      perror("fortune");
+      exit(0);
+    }
+
+  while (( c = fgetc(fortune)) != EOF)
+    {
+      if (c == '\n')
+       {
+         buff[i++] = ' ';
+       }
+      else if (c == '\t')
+       {
+         buff[i++] = ' ';
+         buff[i++] = ' ';
+         buff[i++] = ' ';
+       }
+      else
+       {
+         buff[i++] = c;
+       }
+    }
+
+  j = i + MESSAGE_LAG;
+  pclose(fortune);
+}
+
+static DAProgramOption options[] = {
+  {"-d", "--displayname", "display to use.", DOString, False, {&displayName}},
+  {"-s", "--speed", "scrolling speed. (default 1000 dot/ms)", DOInteger, 
False, {&speed}},
+};
+
+static void
+buttonReleaseCallback (int button, int state, int x, int y)
+{
+  if (button == 1 && BUTTON_X < x &&
+      x < (BUTTON_X + BUTTON_WIDTH) &&
+      BUTTON_Y < y && y < (BUTTON_Y + BUTTON_HEIGHT))
+    {
+      fill_buff();      
+    }
+  XCopyArea(DADisplay, panel_pixmap, pixmap, gc,
+           BUTTON_X, BUTTON_Y, BUTTON_WIDTH, BUTTON_HEIGHT,
+           BUTTON_X, BUTTON_Y);
+}
+
+static void
+buttonPressCallback (int button, int state, int x, int y)
+{
+  if (button == 1 && BUTTON_X < x &&
+      x < (BUTTON_X + BUTTON_WIDTH) &&
+      BUTTON_Y < y && y < (BUTTON_Y + BUTTON_HEIGHT))
+    {
+      XCopyArea(DADisplay, panel_button_pressed_pixmap, pixmap, gc,
+               BUTTON_X, BUTTON_Y, BUTTON_WIDTH, BUTTON_HEIGHT,
+               BUTTON_X, BUTTON_Y);
+    }
+}
+
+int
+main(int argc, char **argv)
+{
+   Pixmap panel_window_pixmap;
+
+   int w = 64, h = 64;
+
+   DACallbacks callbacks = {NULL,buttonPressCallback
+       ,buttonReleaseCallback,NULL,NULL,NULL,NULL};
+   
+   DAParseArguments(argc, argv, options,
+                   sizeof(options)/sizeof(DAProgramOption),
+                   "dockapp that shows the messages from fortune command.", 
"$Id: wmfortune.c,v 0.24 2000/03/28 01:49:58 sugano Exp $");
+
+   fill_buff();      
+
+   DAInitialize(displayName, "wmfortune", 64, 64, argc, argv);   
+   pixmap = DAMakePixmap();
+   
+   /* making pixmap for the panel */
+   DAMakePixmapFromData(panel_xpm, &panel_pixmap,
+                       &panel_mask, &w, &h);
+   DAMakePixmapFromData(panel_button_pressed_xpm,
+                       &panel_button_pressed_pixmap, NULL, &w, &h);
+   DAMakePixmapFromData(panel_window_xpm,
+                       &panel_window_pixmap, NULL, &w, &h);
+
+   /* setting up the mask for the panel */
+   DASetShape(panel_mask);
+   DASetPixmap(panel_pixmap);
+
+   /* setting up the graphic context */
+   gc = DefaultGC(DADisplay, DefaultScreen(DADisplay));
+
+   DASetCallbacks(&callbacks);
+   DAShow();
+
+   /* drawing the button */
+   XCopyArea(DADisplay, panel_pixmap, pixmap, gc,
+            BUTTON_X, BUTTON_Y, BUTTON_WIDTH, BUTTON_HEIGHT,
+            BUTTON_X, BUTTON_Y);
+   
+   while (1)
+     {
+       XEvent ev;
+       
+       /* sets the foreground color green */
+       XSetForeground(DADisplay, gc, DAGetColor("green"));
+       XCopyArea(DADisplay, panel_window_pixmap, pixmap, gc,
+                WINDOW_X, WINDOW_Y, WINDOW_WIDTH, WINDOW_HEIGHT,
+                WINDOW_X, WINDOW_Y);
+       XDrawString(DADisplay, pixmap, gc, j, STRING_Y, buff, strlen(buff));
+       
+       DASetPixmap(pixmap);
+
+       /* scroll the message by a pixel to left */
+       i--;
+       j = i + MESSAGE_LAG;
+       
+       /*
+       * starts scrolling the messages from the beginning
+       * if the message ends.
+        */
+       if (j == - (PIXELS_PER_LETTER) * strlen(buff))
+        {
+          /* if not 64, message suddenly appears in the window */
+          i = 64;
+          j = i + MESSAGE_LAG;
+        }
+
+       /* handle all pending X events */
+       while (XPending(DADisplay))
+        {
+          XNextEvent(DADisplay, &ev);
+          DAProcessEvent(&ev);
+        }
+       usleep(speed);
+     }
+   return 0;
+}
-- 
2.7.4


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to