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-sugano@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@[%}%|%%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 +#include +#include +#include +#include +#include + + +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(" "); + break; + case DOString: + c += printf(" "); + break; + case DONatural: + c+= printf(" "); + 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 +#include +#include +#include + + + +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 +#include +#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; +}