[Pkg-wmaker-commits] [wmclock] 03/66: wmclock: Add version 1.0.14 to repository.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Thu Aug 20 10:52:47 UTC 2015


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

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

commit 13f836d3f73eff61017217fa5025229c8cf2d1dd
Author: Doug Torrance <dtorrance at monmouthcollege.edu>
Date:   Thu Dec 11 09:18:03 2014 -0600

    wmclock: Add version 1.0.14 to repository.
    
    Obtained from:
    http://www.bluestop.org/wmclock/wmclock-1.0.14.tar.gz
---
 .depend                     |   21 +
 COPYING                     |  367 +++++++++++++++
 ChangeLog                   |  114 +++++
 INSTALL                     |   57 +++
 Imakefile                   |   87 ++++
 README                      |  141 ++++++
 configure                   |   74 +++
 dynlist.c                   |  107 +++++
 dynlist.h                   |   35 ++
 lang.breton/month.xpm       |   80 ++++
 lang.breton/weekday.xpm     |   48 ++
 lang.croatian/month.xpm     |   82 ++++
 lang.croatian/weekday.xpm   |   48 ++
 lang.czech/month.xpm        |   79 ++++
 lang.czech/weekday.xpm      |   47 ++
 lang.danish/month.xpm       |   79 ++++
 lang.danish/weekday.xpm     |   47 ++
 lang.dutch/month.xpm        |   83 ++++
 lang.dutch/weekday.xpm      |   47 ++
 lang.english/month.xpm      |   83 ++++
 lang.english/weekday.xpm    |   53 +++
 lang.french/month.xpm       |   79 ++++
 lang.french/weekday.xpm     |   47 ++
 lang.french2/month.xpm      |   79 ++++
 lang.french2/weekday.xpm    |   51 ++
 lang.german/month.xpm       |   83 ++++
 lang.german/weekday.xpm     |   51 ++
 lang.hungarian/month.xpm    |   79 ++++
 lang.hungarian/weekday.xpm  |   48 ++
 lang.indonesian/month.xpm   |   83 ++++
 lang.indonesian/weekday.xpm |   47 ++
 lang.italian/month.xpm      |   79 ++++
 lang.italian/weekday.xpm    |   47 ++
 lang.norwegian/month.xpm    |   79 ++++
 lang.norwegian/weekday.xpm  |   47 ++
 lang.polish/month.txt       |   12 +
 lang.polish/month.xpm       |   79 ++++
 lang.polish/weekday.txt     |    7 +
 lang.polish/weekday.xpm     |   48 ++
 lang.portuguese/month.xpm   |   79 ++++
 lang.portuguese/weekday.xpm |   47 ++
 lang.russian/month.xpm      |   79 ++++
 lang.russian/weekday.xpm    |   48 ++
 lang.slovene/month.xpm      |   81 ++++
 lang.slovene/weekday.xpm    |   51 ++
 lang.spanish/month.xpm      |   79 ++++
 lang.spanish/weekday.xpm    |   47 ++
 lang.swedish/month.xpm      |   79 ++++
 lang.swedish/weekday.xpm    |   47 ++
 lang.ukrainian/month.xpm    |   79 ++++
 lang.ukrainian/weekday.xpm  |   49 ++
 month.xpm                   |    1 +
 weekday.xpm                 |    1 +
 wmclock.c                   | 1093 +++++++++++++++++++++++++++++++++++++++++++
 wmclock.man                 |  232 +++++++++
 wmclock.man.in              |  232 +++++++++
 wmclock.spec.in             |  128 +++++
 xpm/date.xpm                |   25 +
 xpm/led.xpm                 |   18 +
 xpm/mask.xbm                |   30 ++
 xpm/mask.xpm                |   65 +++
 61 files changed, 5414 insertions(+)

diff --git a/.depend b/.depend
new file mode 100644
index 0000000..0c6b329
--- /dev/null
+++ b/.depend
@@ -0,0 +1,21 @@
+dynlist.o: dynlist.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_null.h /usr/include/sys/_types.h \
+  /usr/include/machine/_types.h /usr/include/stdlib.h \
+  /usr/include/string.h /usr/include/strings.h dynlist.h
+wmclock.o: wmclock.c /usr/include/sys/select.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/sys/_sigset.h /usr/include/sys/_timeval.h \
+  /usr/include/sys/timespec.h /usr/include/sys/_timespec.h \
+  /usr/include/sys/types.h /usr/include/machine/endian.h \
+  /usr/include/sys/_pthreadtypes.h /usr/include/sys/wait.h \
+  /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/_null.h \
+  /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h \
+  /usr/include/strings.h /usr/include/unistd.h /usr/include/sys/unistd.h \
+  /usr/local/include/X11/Xatom.h /usr/local/include/X11/Xlib.h \
+  /usr/local/include/X11/X.h /usr/local/include/X11/Xfuncproto.h \
+  /usr/local/include/X11/Xosdefs.h /usr/include/stddef.h \
+  /usr/local/include/X11/xpm.h /usr/local/include/X11/Xutil.h \
+  /usr/local/include/X11/keysym.h /usr/local/include/X11/keysymdef.h \
+  /usr/local/include/X11/extensions/shape.h \
+  /usr/local/include/X11/extensions/shapeconst.h dynlist.h month.xpm \
+  weekday.xpm xpm/date.xpm xpm/led.xpm xpm/mask.xbm xpm/mask.xpm
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..981c51d
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,367 @@
+*******************************************************************************
+
+                            NO WARRANTY
+
+      BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+      IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+
+*******************************************************************************
+
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+

+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+

+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+

+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+

+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+	Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..f6a457f
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,114 @@
+2010-12-22 11:53  brucec
+	* Updated documentation to show new maintainer.
+	* Simplified Imakefile.
+
+2010-12-03 20:28  brucec
+	* Imakefile: Bumped version to 1.0.13, add warning flags.
+	
+	* INSTALL: Updated compiler and flags example.
+
+	* wmclock.c, weekday.xpm: Integrated Debian nopolling patch and 
+	FreeBSD's weekday and year patches. Added function prototypes.
+
+	* wmclock.spec.in: Bumped version to 1.0.13, changed ExecPrefix to 
+	/usr/local since /usr/X11R6 is obsolete.
+
+	* lang.polish: Added Polish language files, contributed by 
+	oyd11 at softhome.net
+
+	* lang.croatian: Added Croatian language files, contributed by Josip
+	Deanovic <djosip at croadria.com>
+
+2000-04-13 07:49  jmknoble
+
+	* wmclock.spec.in: Add ChangeLog to %%doc directory.
+
+	* Imakefile: Bump version to 1.0.12.2.	Release.
+
+	* Imakefile: Generate changelog from CVS comments with 'make
+	changelog'.  Add generated changelog to distribution tarball.
+
+2000-03-08 07:59  jmknoble
+
+	* Imakefile: `tar' target was copying CVS directories. 
+	Restructured it a bit to avoid that.
+
+	* Imakefile: `distclean' target could prove troublesome by
+	destroying irreproducible work.
+
+	* wmclock.spec.in: Oops.  Missed an obsolete %%{ReleaseNum} macro.
+
+2000-03-08 07:35  jmknoble
+
+	* Imakefile, wmclock.spec.in: Added template from which to generate
+	spec file (wmclock.spec.in).  Added targets in Imakefile to handle
+	generating the spec file.  Revised `tar' target to rebuild on
+	sourcefile change.  Added distclean target.  Removed symlinks from
+	tarball.  Updated version to 1.0.12.1.
+
+	* .cvsignore: Added .cvsignore file for convenience of the
+	developer.
+
+	* Makefile: Makefile is automagically generated; it shouldn't be
+	stored in CVS.
+
+	* wmclock.c, xpm/mask.xbm: Compiling with gcc -Wall -ansi -pedantic
+	revealed that the mask bitmap should be declared as unsigned char. 
+	XCreateBitmapFromData() expects char *, though, so we cast the mask
+	bitmap data explicitly.
+
+	* dynlist.c, dynlist.h: Fixed possible memory leak.
+
+2000-03-08 06:56  jmknoble
+
+	* COPYING, INSTALL, Imakefile, Makefile, README, configure,
+	dynlist.c, dynlist.h, wmclock.c, wmclock.man.in,
+	asclock-orig/INSTALL, asclock-orig/Imakefile, asclock-orig/README,
+	asclock-orig/asclock.c, asclock-orig/asclock.man,
+	asclock-orig/configure, asclock-orig/mask.xpm,
+	lang.breton/month.xpm, lang.breton/weekday.xpm,
+	lang.czech/month.xpm, lang.czech/weekday.xpm,
+	lang.danish/month.xpm, lang.danish/weekday.xpm,
+	lang.dutch/month.xpm, lang.dutch/weekday.xpm,
+	lang.english/month.xpm, lang.english/weekday.xpm,
+	lang.french/month.xpm, lang.french/weekday.xpm,
+	lang.french2/month.xpm, lang.french2/weekday.xpm,
+	lang.german/month.xpm, lang.german/weekday.xpm,
+	lang.hungarian/month.xpm, lang.hungarian/weekday.xpm,
+	lang.indonesian/month.xpm, lang.indonesian/weekday.xpm,
+	lang.italian/month.xpm, lang.italian/weekday.xpm,
+	lang.norwegian/month.xpm, lang.norwegian/weekday.xpm,
+	lang.portuguese/month.xpm, lang.portuguese/weekday.xpm,
+	lang.russian/month.xpm, lang.russian/weekday.xpm,
+	lang.slovene/month.xpm, lang.slovene/weekday.xpm,
+	lang.spanish/month.xpm, lang.spanish/weekday.xpm,
+	lang.swedish/month.xpm, lang.swedish/weekday.xpm,
+	lang.ukrainian/month.xpm, lang.ukrainian/weekday.xpm, xpm/date.xpm,
+	xpm/led.xpm, xpm/mask.xbm, xpm/mask.xpm: Begin CVS revision control
+
+	* COPYING, INSTALL, Imakefile, Makefile, README, configure,
+	dynlist.c, dynlist.h, wmclock.c, wmclock.man.in,
+	asclock-orig/INSTALL, asclock-orig/Imakefile, asclock-orig/README,
+	asclock-orig/asclock.c, asclock-orig/asclock.man,
+	asclock-orig/configure, asclock-orig/mask.xpm,
+	lang.breton/month.xpm, lang.breton/weekday.xpm,
+	lang.czech/month.xpm, lang.czech/weekday.xpm,
+	lang.danish/month.xpm, lang.danish/weekday.xpm,
+	lang.dutch/month.xpm, lang.dutch/weekday.xpm,
+	lang.english/month.xpm, lang.english/weekday.xpm,
+	lang.french/month.xpm, lang.french/weekday.xpm,
+	lang.french2/month.xpm, lang.french2/weekday.xpm,
+	lang.german/month.xpm, lang.german/weekday.xpm,
+	lang.hungarian/month.xpm, lang.hungarian/weekday.xpm,
+	lang.indonesian/month.xpm, lang.indonesian/weekday.xpm,
+	lang.italian/month.xpm, lang.italian/weekday.xpm,
+	lang.norwegian/month.xpm, lang.norwegian/weekday.xpm,
+	lang.portuguese/month.xpm, lang.portuguese/weekday.xpm,
+	lang.russian/month.xpm, lang.russian/weekday.xpm,
+	lang.slovene/month.xpm, lang.slovene/weekday.xpm,
+	lang.spanish/month.xpm, lang.spanish/weekday.xpm,
+	lang.swedish/month.xpm, lang.swedish/weekday.xpm,
+	lang.ukrainian/month.xpm, lang.ukrainian/weekday.xpm, xpm/date.xpm,
+	xpm/led.xpm, xpm/mask.xbm, xpm/mask.xpm: branches:  1.1.1; Initial
+	revision
+
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..76ae434
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,57 @@
+# INSTALL:  how to install wmclock
+# created 1999-Apr-10 jmk
+
+____________________________
+|O|  Installing wmclock  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The procedure for installing wmclock is relatively simple; it depends
+on imake, which ships with most systems which include the X Window
+System.
+
+  (1) Run the `configure' script to configure the language support that
+      is built into wmclock.  For example:
+      
+          ./configure --lang english
+
+      For a list of the available languages, use:
+      
+          ./configure --help
+
+      The configure script also creates a Makefile out of the Imakefile
+      using xmkmf.
+
+  (2) Compile:
+  
+          make
+
+      You may specify the C compiler to use and additional command-line
+      options for the C compiler using the `CC' and `CDEBUGFLAGS'
+      variables, respectively.  For example:
+      
+          make CC=clang CDEBUGFLAGS='-O4 -march=pentium2'
+
+
+  (3) Test wmclock:
+  
+          ./wmclock
+
+      (If it appears to work as expected, *don't dock it*.  Wait until
+      after you've installed it).
+
+  (4) Install:
+  
+          su
+          make install
+	  make install.man
+
+      Optionally, install all the month and weekday pixmaps for use
+      with the `-monthxpm' and `-weekdayxpm' options:
+      
+          make install.share
+
+  (5) You're done.  See the README file accompanying this one for
+      instructions on installing wmclock into Window Maker's dock.
+
+-- 
+Bruce Cran <bruce at bluestop.org>
diff --git a/Imakefile b/Imakefile
new file mode 100644
index 0000000..b71e7e3
--- /dev/null
+++ b/Imakefile
@@ -0,0 +1,87 @@
+NAME		= wmclock
+VERSION		= 1.0.14
+DATE		= 2010-Dec-22
+
+DEFINES		= -DVERSION=\"$(VERSION)\"
+CFLAGS         += -Wall -pedantic -Wshadow -Wmissing-prototypes -Wcast-align 
+CFLAGS         += -Wcast-qual -Wchar-subscripts -Wpointer-arith 
+CFLAGS         += -Wredundant-decls -Wstrict-prototypes
+
+XPMLIB		= -L$(PREFIX)/lib/X11 -lXpm   
+DEPLIBS		= $(DEPXLIB) 
+
+LOCAL_LIBRARIES	= $(XPMLIB) $(XLIB)  
+
+LINTLIBS	= $(LINTXLIB)
+
+SHAREDIR	= $(PREFIX)/share/$(NAME)
+
+IMAKEFILE	= Imakefile
+MAKEFILE	= Makefile
+
+CHANGELOG	= ChangeLog
+
+SPEC_SRC	= $(NAME).spec.in
+SPEC_OBJ	= $(NAME).spec
+SPECS		= $(SPEC_SRC) $(SPEC_OBJ)
+
+EXTRA_FILES	= \@@\
+ $(SPECS) \@@\
+ $(IMAKEFILE) \@@\
+ $(CHANGELOG) \@@\
+ COPYING \@@\
+ INSTALL \@@\
+ README \@@\
+ configure
+
+MANSRC		= wmclock.man.in
+MANOBJ		= wmclock.man
+
+SYMLINKS	= month.xpm weekday.xpm
+
+HDRS		= dynlist.h
+SRCS		= dynlist.c wmclock.c
+OBJS		= dynlist.o wmclock.o
+
+TARDIR		= $(NAME)-$(VERSION)
+TARBALL		= $(TARDIR).tar.gz
+
+ComplexProgramTarget($(NAME))
+
+depend::
+	cat $(MANSRC) |sed \@@\
+		-e 's/@VERSION@/$(VERSION)/g' \@@\
+		-e 's/@DATE@/$(DATE)/g' \@@\
+		>$(MANOBJ)
+
+.PHONY: depends tar
+
+spec: $(SPEC_OBJ)
+
+$(SPEC_OBJ): $(SPEC_SRC) $(IMAKEFILE)
+	cat $(SPEC_SRC) |sed -e 's/@VERSION@/$(VERSION)/g' >$@
+
+install.share::
+	@if [ -d $(DESTDIR)$(SHAREDIR) ]; then set +x; \@@\
+	else (set -x; $(MKDIRHIER) $(DESTDIR)$(SHAREDIR)); fi
+	@set -x; \@@\
+	for i in lang.*; do \@@\
+		$(MKDIRHIER) $(DESTDIR)$(SHAREDIR)/$${i}; \@@\
+		$(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) ./$${i}//**/* \@@\
+			$(DESTDIR)$(SHAREDIR)/$${i}/; \@@\
+	done
+
+tar: $(TARBALL)
+
+$(TARBALL): $(EXTRA_FILES) $(EXTRA_DIRS) $(MANSRC) $(HDRS) $(SRCS)
+	$(RM) -r $(TARDIR)
+	$(MKDIRHIER) $(TARDIR)
+	$(CP) -p $(EXTRA_FILES) $(MANSRC) $(HDRS) $(SRCS) $(TARDIR)/
+	-for i in $(EXTRA_DIRS); do \@@\
+	  $(MKDIRHIER) $(TARDIR)/$${i}; \@@\
+	  $(CP) -p $${i}//**/* $(TARDIR)/$${i}/; \@@\
+	done >/dev/null 2>&1
+	chmod -Rc ug+rwX,o+rX,o-w $(TARDIR)
+	tar -cvf - $(TARDIR) |gzip -9 >$(TARBALL)
+	$(RM) -r $(TARDIR)
+
diff --git a/README b/README
new file mode 100644
index 0000000..27e0b4b
--- /dev/null
+++ b/README
@@ -0,0 +1,141 @@
+# README:  notes about wmclock
+# created 1999-Apr-10 jmk
+
+_______________________
+|O|  About wmclock  |X|
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Wmclock is an applet which displays the date and time in a dockable
+tile in the same style as the clock from the NEXTSTEP(tm) operating
+system.  Wmclock is specially designed for the Window Maker window
+manager, by Alfredo Kojima, and features multiple language support,
+twenty-four-hour and twelve-hour (am/pm) time display, and, optionally,
+can run a user-specified program on a mouse click.  Wmclock is derived
+from asclock, a similar clock for the AfterStep window manager.
+
+____________________________
+|O|  Installing wmclock  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Please see the INSTALL file accompanying the wmclock source for
+instructions on installing wmclock.
+
+_________________________
+|O|  Getting Started  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Wmclock is designed especially for Window Maker; hence, putting wmclock
+into your Window Maker dock is quick and easy.  After you've installed
+wmclock according to the instructions, there are three steps:
+
+  (1) Start wmclock.  The easiest way to accomplish this is to accept
+      the defaults for things such as led color, blinking, etc, and
+      just start the clock:
+      
+          wmclock
+
+  (2) Drag the resulting wmclock appicon to an empty slot in your dock.
+      You can do this in one of two fashions:
+
+      (a) Position the mouse pointer over a portion of the appicon tile
+          that is not covered by wmclock's LED display or calendar
+          display.  Press the primary mouse button (usually the left
+          one) and drag to the dock.  This requires a little bit of
+          precision in aiming the mouse, but requires no keyboard
+          action.
+
+      (b) Hold down the [Alt] or [Meta] key (whichever one you have
+          configured Window Maker to use), position the mouse pointer
+          over any part of the wmlock appicon, press the primary mouse
+          button (usually the left one), and drag to the dock. This
+          method requires less precision, but requires you to press and
+          hold a key while dragging.
+
+  (3) Set wmclock to launch when Window Maker starts.  Press the menu
+      mouse button (usually the right one) on the portion of the docked
+      wmclock tile that is not covered by wmclock's LED display or
+      calendar display to bring up the dock icon menu, and choose
+      `Settings...'.  In the resulting dialog, check the box labelled
+      `Start when Window Maker is started' and press `OK'.  That's it!
+
+_________________________
+|O|  Troubleshooting  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+As with any dockable applet, there are a few possible `gotchas' with
+wmclock and Window Maker:
+
+  - If you have the Clip set to `AutoAttract Icons', the wmclock
+    appicon will appear in the Clip instead of on the desktop.  If your
+    Clip is collapsed, you won't be able to see the wmclock appicon,
+    even though it's running.  Make sure you uncollapse your Clip and
+    look for wmclock there if it doesn't appear on your desktop.
+    
+  - If your Clip is too close to your dock, you may have difficulty
+    docking wmclock, because the Clip may grab the wmclock appicon
+    instead.  Try moving your Clip farther away from your dock before
+    docking wmclock.
+
+_________________________________________________
+|O|  Differences Between asclock and wmclock  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Wmclock is derived from asclock version 1.0.12 by Beat Christen.
+The major differences between asclock and wmclock are:
+
+  (1) Asclock is designed for use with the AfterStep window manager.
+      To use asclock with Window Maker, a patch is required.  Wmclock
+      is better behaved with Window Maker and requires no patch or
+      special command-line options; it `just works'.
+
+  (2) Wmclock corrects a few of asclock's aesthetic defects.  Most
+      notably, the `off-by-one-pixel' defect at the lefthand side of
+      the LED display is corrected.
+
+  (3) Asclock use a simple system() call to execute the command
+      specified using the `-exe' command-line option; this method could
+      create lots of unwanted zombie processes.  Wmclock cleans up its
+      chiled processes every so often to eliminate the zombies.
+
+      Also, if no command was specified when asclock was started, it
+      would output a message warning that no command was specified each
+      time you click the mouse on asclock window area.  Wmclock does not
+      output that message; if no command was specified, wmclock simply
+      does nothing when you click on it.
+
+Other minor differences include:
+
+  (1) The `-shape' and `-iconic' command-line options are no longer
+      needed with wmclock.  Wmclock recognizes them for backwards
+      compatibility with asclock, but they have no effect.
+
+  (2) Asclock contained an arbitrary limitation on the length of the
+      command (approximately 50 characters) that you could specify with
+      the `-exe' option.  Wmclock removes that arbitrary limitation and
+      cleans up the code significantly in the process.
+
+_______________________________________________________
+|O|  Authors, Copyright, License, Disclaimer, etc.  |X|
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Wmclock is Copyright (C) 1999 by Jim Knoble <jmknoble at pobox.com>.
+Significant portions of wmclock are directly derived from asclock by
+Beat Christen <spiff at longstreet.ch>, who, along with asclock's other
+authors, owns the copyright to those portions of wmclock.
+
+Wmclock is licensed under the GNU General Public License, version 2, or
+(at your option) any later version.  See <http://www.gnu.org/> for more
+information.
+
+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(s) 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.
+
+Your mileage may vary.  Eat your vegetables.
+
+-- 
+Bruce Cran <bruce at bluestop.org>
diff --git a/configure b/configure
new file mode 100755
index 0000000..b20a265
--- /dev/null
+++ b/configure
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# configure: prepare wmclock to be built using imake and make
+# created 1999-Mar-30 03:40 jmk
+
+DefLanguage=english
+Language=''
+LangDir=''
+Me=`basename $0`
+
+GetLanguages() {
+    ls -1d lang.* | awk -F . '{
+      print "            " $2
+    }'
+}
+
+PrintHelp() {
+    langlist="`GetLanguages`"
+    cat <<EOF
+
+  Usage: ${0} [--lang <language>]
+  
+  Options:
+    --lang <language>
+        Configure wmclock to use day and month names for the specified
+        language.  Defaults to 'english'.  Choices are:
+
+${langlist}
+EOF
+}
+
+Die() {
+        echo "$*"
+	echo "wmclock is NOT successfully configured!"
+	exit 1
+}
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+        --lang|--language)
+            shift
+	    Language="$1"
+	    ;;
+        --help)
+	    PrintHelp
+	    exit 1
+            ;;
+    esac
+    shift
+done
+
+if [ -z "${Language}" ]; then
+    Language="${DefLanguage}"
+fi
+
+LangDir="lang.${Language}"
+if [ ! -d "${LangDir}" ]; then
+    Die "${Me}: error: cannot find language directory '${LangDir}'"
+fi
+
+echo "Configuring for ${Language} day-of-week and month names ..."
+rm -f month.xpm weekday.xpm
+ln -s "./${LangDir}/month.xpm" .
+ln -s "./${LangDir}/weekday.xpm" .
+
+echo "Building Makefile from Imakefile ..."
+echo "----------------------------------------------------------------"
+xmkmf -a
+
+echo "----------------------------------------------------------------"
+echo "Finished configuring.  To build wmclock, type 'make'."
+echo
+
+exit 0
diff --git a/dynlist.c b/dynlist.c
new file mode 100644
index 0000000..18672db
--- /dev/null
+++ b/dynlist.c
@@ -0,0 +1,107 @@
+/* dynlist.c: Dynamic lists and buffers in C.
+ * created 1999-Jan-06 15:34 jmk
+ * autodate: 2000-Mar-08 02:25
+ * 
+ * by Jim Knoble <jmknoble at pobox.com>
+ * Copyright (C) 1999 Jim Knoble
+ * 
+ * Disclaimer:
+ * 
+ * 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(s) 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.
+ * 
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "dynlist.h"
+
+#define LIST_CHUNK_SIZE		512
+#define BUF_CHUNK_SIZE		512
+
+/* For lists of pointers cast to char *. */
+int append_to_list(char ***list_ptr, int *list_len, int *i, char *item)
+{
+   char **tmp_ptr;
+   
+   if (*i >= *list_len)
+    {
+       *list_len += LIST_CHUNK_SIZE;
+       tmp_ptr = realloc(*list_ptr, (sizeof(**list_ptr) * *list_len));
+       if (NULL == tmp_ptr)
+	{
+	   return(APPEND_FAILURE);
+	}
+       *list_ptr = tmp_ptr;
+    }
+   (*list_ptr)[*i] = item;
+   (*i)++;
+   return(APPEND_SUCCESS);
+}
+
+/* For single-dimensional buffers. */
+int append_to_buf(char **buf, int *buflen, int *i, int c)
+{
+   char *tmp_buf;
+   
+   if (*i >= *buflen)
+    {
+       *buflen += BUF_CHUNK_SIZE;
+       tmp_buf = realloc(*buf, (sizeof(**buf) * *buflen));
+       if (NULL == tmp_buf)
+	{
+	   return(APPEND_FAILURE);
+	}
+       *buf = tmp_buf;
+#ifdef DEBUG
+       printf("-->Allocated buffer of size %d\n", *buflen);
+#endif /* DEBUG */
+    }
+   (*buf)[*i] = (char) c;
+   (*i)++;
+   return(APPEND_SUCCESS);
+}
+
+int append_string_to_buf(char **buf, int *buflen, int *i, char *s)
+{
+   int addlen;
+   int n;
+   char *tmp_buf;
+   
+   n = strlen(s);
+   if (*i >= *buflen)
+    {
+       addlen = BUF_CHUNK_SIZE;
+       if (addlen <= n)
+	{
+	   addlen = n + 1;
+	}
+       *buflen += addlen;
+       tmp_buf = realloc(*buf, (sizeof(**buf) * *buflen));
+       if (NULL == tmp_buf)
+	{
+	   return(APPEND_FAILURE);
+	}
+       *buf = tmp_buf;
+#ifdef DEBUG
+       printf("-->Allocated buffer of size %d\n", *buflen);
+#endif /* DEBUG */
+    }
+   (*buf)[*i] = '\0';
+   strncat(*buf, s, n);
+   *i += n;
+   return(APPEND_SUCCESS);
+}
+
diff --git a/dynlist.h b/dynlist.h
new file mode 100644
index 0000000..1d009af
--- /dev/null
+++ b/dynlist.h
@@ -0,0 +1,35 @@
+/* dynlist.h: Dynamic lists and buffers in C
+ * created 1999-Jan-06 15:04 jmk
+ * autodate: 2000-Mar-08 02:26
+ * 
+ * by Jim Knoble <jmknoble at pobox.com>
+ * Copyright (C) 1999 Jim Knoble
+ * 
+ * Disclaimer:
+ * 
+ * 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(s) 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.
+ * 
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation.
+ */
+
+#ifndef H_DYNLIST
+#define H_DYNLIST 1
+
+#define APPEND_SUCCESS	1
+#define APPEND_FAILURE	0
+
+int append_to_list(char ***list_ptr, int *list_len, int *i, char *item);
+int append_to_buf(char **buf, int *buflen, int *i, int c);
+int append_string_to_buf(char **buf, int *buflen, int *i, char *s);
+
+#endif /* H_DYNLIST */
diff --git a/lang.breton/month.xpm b/lang.breton/month.xpm
new file mode 100644
index 0000000..1e9fec4
--- /dev/null
+++ b/lang.breton/month.xpm
@@ -0,0 +1,80 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #AAAAAAAAAAAA",
+"X	c #000000000000",
+"o	c #555555555555",
+"                      ",
+" .XXXX  XXXXX  X    X ",
+" X     .X     .XX  .X ",
+".X XXX XXXXX  X. X X. ",
+"X.  X  X     .X   XX  ",
+" XXX  oXXXX  X     X  ",
+"                      ",
+"  XXX X  X  X X     X ",
+" X    X .X .X X  X X. ",
+" X   X  XXXXX X.XX.X  ",
+"X       X  X  XX  X.  ",
+"XXXXX  .X  X  X   X   ",
+"                      ",
+"  X    X   XXXXX X  .X",
+" .X   XX  .X    .X  X ",
+" X.X X X  XXXXX X. .X ",
+".X  X  X  X     X  X  ",
+"X      X oXXXX  oXX   ",
+"                      ",
+"  XXXXX  XXXXo  XXXXX ",
+" .X     .X   X  X  .X ",
+" XXXXX  XXXXX  XXXXX  ",
+" X      X   X  X   X  ",
+"oXXXX  oXXXX  X    X  ",
+"                      ",
+"  X    X    X    XXXXX",
+" .X   XX    X.  .X    ",
+" X.X X X   X X  XXXXX ",
+".X  X  X  XXXX  X     ",
+"X      X X   X oXXXX  ",
+"                      ",
+"   XXXXX X   X  XXXXX ",
+"  .X     X. X. .X     ",
+"  XXXXX  .X X  XXXXX  ",
+"  X       XX   X      ",
+" oXXXX    X   oXXXX   ",
+"                      ",
+"  .XXXX  .XXX   X  .X ",
+"  X      X   X .X  X  ",
+" .X XXX .X  X. X. .X  ",
+" X.  X  X   X  X  X   ",
+"  XXX   XXXX   oXX    ",
+"                      ",
+"  XXXXX  .XXX   .XXXX ",
+" .X      X   X  X     ",
+" XXXXX  .X  X.  .XX.  ",
+" X      X   X      X  ",
+"oXXXX   .XXX   XXXX.  ",
+"                      ",
+"  .XXXX X     X  XXXXX",
+"  X     X  X X. .X    ",
+" .X XXX X.XX.X  XXXXX ",
+" X.  X  XX  X.  X     ",
+"  XXX   X   X  oXXXX  ",
+"                      ",
+"  X  X   XXXXX  XXXXX ",
+" .X .X  .X      X  .X ",
+" XXXXX  XXXXX  XXXXX  ",
+" X  X   X      X   X  ",
+".X  X  oXXXX  X    X  ",
+"                      ",
+"     oXXX   X  .X     ",
+"    .X   X .X  X      ",
+"    X    X X. .X      ",
+"    X   X  X  X       ",
+"   oXXXX   oXX        ",
+"                      ",
+"   X  X  XXXXX  XXXXX ",
+"  .X X  .X      X  .X ",
+"  XXX   XXXXX  XXXXX  ",
+" oX  X  X      X   X  ",
+".X   X oXXXX  X    X  "};
+
diff --git a/lang.breton/weekday.xpm b/lang.breton/weekday.xpm
new file mode 100644
index 0000000..6f2c32b
--- /dev/null
+++ b/lang.breton/weekday.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+" .     .    . .   . ",
+" .     .    . ..  . ",
+" .     .    . . . . ",
+" .     .    . .  .. ",
+" .....  ....  .   . ",
+"                    ",
+" .   . ..... .    . ",
+" .. .. .     .    . ",
+" . . . ....  .    . ",
+" .   . .     .    . ",
+" .   . .....  ....  ",
+"                    ",
+" .   . ..... .....  ",
+" .. .. .     .    . ",
+" . . . ....  .....  ",
+" .   . .     .   .  ",
+" .   . ..... .    . ",
+"                    ",
+" .   .   ..    ...  ",
+"  . .   .  .  .   . ",
+"   .    .  .  .   . ",
+"   .   ...... .   . ",
+"   .   .    .  ...  ",
+"                    ",
+"  .... .    . ..... ",
+" .     .    . .     ",
+" .  .. . .. . ....  ",
+" .   . ..  .. .     ",
+"  ...  .    . ..... ",
+"                    ",
+"  ....   ..   ....  ",
+" .      .  .  .   . ",
+"  ...   .  .  .   . ",
+"     . ...... .   . ",
+" ....  .    . ....  ",
+"                    ",
+"  .... .    . .     ",
+" .     .    . .     ",
+"  ...  .    . .     ",
+"     . .    . .     ",
+" ....   ....  ..... "};
+
diff --git a/lang.croatian/month.xpm b/lang.croatian/month.xpm
new file mode 100644
index 0000000..18ee155
--- /dev/null
+++ b/lang.croatian/month.xpm
@@ -0,0 +1,82 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 7 1",
+" 	c None",
+".	c #FFFFFF",
+"+	c #AAAAAA",
+"@	c #000000",
+"#	c #555555",
+"$	c #AEAAAE",
+"%	c #515551",
+"......................",
+"...+@@@@.... at ......@..",
+"... at .......+@.....+ at ..",
+"...+@@+.... at +.....@+..",
+"...... at ...@@... at ..@...",
+"..@@@@+... at .....@@....",
+"......................",
+". at ...@..@@@@@.. at .....@",
+". at +.@+.+ at .....+@....+@",
+".+ at .@..@@@@... at +....@+",
+"..@@... at .....@+.. at ..@.",
+".. at ...#@@@@..@@@..@@..",
+"..........@@..........",
+"..+@@@..@@@@@@.. at ..$@.",
+".. at ...@....$@..$@.. at ..",
+".+ at ..@+...@$...@$.$@..",
+". at ...@..$@$.... at ..@...",
+".@@@@..$@@@@@@.%@@....",
+"......................",
+"..@@@@@..@@@@@.... at ...",
+"...+ at ....@... at ....@...",
+"... at +...@@@@@.... at .@..",
+"..+ at ....@... at ...@@@@..",
+".. at ....@.... at ..@... at ..",
+"......................",
+"...+@@@@.. at ...@.... at ..",
+"... at ......@+. at +...+@..",
+"...+@@+...+ at .@.... at +..",
+"...... at ....@@....@@...",
+"..@@@@+.... at .....@....",
+"......................",
+".... at .....@....@@@@@..",
+"...+ at ....+@...+ at ...@..",
+"... at +....@+...@@@@@...",
+".. at +....@@.... at .......",
+"..@@@... at ....@........",
+"......................",
+"..+@@@@..@@@@@..@@@@@.",
+".. at ......@... at .+@... at .",
+"..+@@+..@@@@@..@@@@@..",
+"..... at ..@... at ..@......",
+".@@@@+. at ....@. at .......",
+"......................",
+"..... at ..@..+@@@.... at ..",
+"....+ at .@... at ...@..+ at ..",
+"....@@@...+ at ..@+.. at +..",
+"...#@.. at ..@... at ..@+...",
+"..+ at ...@..@@@@...@@@..",
+"......................",
+"....@@@@@.. at ..$@.... at .",
+".... at ...@.$@.. at ....+@.",
+"...@@@@@..@$.$@.... at +.",
+"... at ...@.. at ..@.. at ..@..",
+".. at ....@..%@@....@@...",
+"......................",
+"..... at .....@...+@@@@..",
+"....+ at ....+@... at ......",
+".... at +....@+...+@@+...",
+"... at +....@@....... at ...",
+"...@@@... at ....@@@@+...",
+"......................",
+"...+@@@@.@@@@@.. at ..$@.",
+"... at ......+@...$@.. at ..",
+"...+@@+... at +...@$.$@..",
+"...... at ..+@.... at ..@...",
+"..@@@@+.. at .....%@@....",
+"......................",
+"...@@@@@..@@@@@..+@@@.",
+"..+ at ...@.. at ...@.. at ...@",
+"..@@@@@..@@@@@..+ at ..@+",
+".. at ......@... at ..@... at .",
+". at ......@.... at ..@@@@.."};
diff --git a/lang.croatian/weekday.xpm b/lang.croatian/weekday.xpm
new file mode 100644
index 0000000..ab92c6c
--- /dev/null
+++ b/lang.croatian/weekday.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 3 1",
+" 	c None",
+".	c #FFFFFF",
+"+	c #000000",
+"....................",
+".++++...++++..+...+.",
+".+...+.+....+.++..+.",
+".++++..+....+.+.+.+.",
+".+.....+....+.+..++.",
+".+......++++..+...+.",
+"....................",
+".+...+.+++++..++++..",
+".+...+...+...+....+.",
+".+...+...+...+....+.",
+".+...+...+...+....+.",
+"..+++....+....++++..",
+"....................",
+"..++++.+++++..+++++.",
+".+.....+....+...+...",
+"..+++..+++++....+...",
+".....+.+...+....+...",
+".++++..+....+.+++++.",
+"...++...............",
+"..++++.+++++.+++++..",
+".+.....+.......+....",
+".+.....++++....+....",
+".+.....+.......+....",
+"..++++.+++++...+....",
+"....................",
+".++++..+++++.+++++..",
+".+...+.+.......+....",
+".++++..++++....+....",
+".+.....+.......+....",
+".+.....+++++...+....",
+"....................",
+"..++++.+....+.++++..",
+".+.....+....+.+...+.",
+"..+++..+....+.++++..",
+".....+.+....+.+...+.",
+".++++...++++..++++..",
+"....................",
+".+...+.+++++.++++...",
+".++..+.+.....+...+..",
+".+.+.+.++++..+...+..",
+".+..++.+.....+...+..",
+".+...+.+++++.++++..."};
diff --git a/lang.czech/month.xpm b/lang.czech/month.xpm
new file mode 100644
index 0000000..d7cdc06
--- /dev/null
+++ b/lang.czech/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #514455555144",
+"o	c #AEBAAAAAAEBA",
+"                      ",
+"   .     .....  X...  ",
+"  o.    o.     o.   . ",
+"  .o    .....  .    . ",
+"  .     .      .   .  ",
+" X.... X....  X.....  ",
+"                      ",
+"  .  o.  .    .   ... ",
+" o.  .  o..  o.  .   .",
+" .o o.  .  . .o  .  . ",
+" .  .o o.   ..  .  o. ",
+" X...  .     .  ....  ",
+"                      ",
+"   ....X  ....X  .....",
+"  o.   . o.   . o.    ",
+"  .....  .....  ..... ",
+"  .   .  .   .  .     ",
+" X....  X    . X....  ",
+"                      ",
+"   X...   .  o.  ....X",
+"  o.   . o.  .  o.   .",
+"  .    . .o o.  ..... ",
+"  .   .  .  .   .   . ",
+" X....   X..   X....  ",
+"                      ",
+"    .o . .   .  ..... ",
+"   o. .o .o .o o.     ",
+"   . .   o. .  ....   ",
+"  o. o.   ..   .      ",
+"  .   .o  .   X....   ",
+"                      ",
+"   ...   .....  ....X ",
+"  .     o.     o.   . ",
+"  .     ....   .....  ",
+" .      .      .   .  ",
+" ..... X....  X    .  ",
+"                      ",
+"    ...   ....   ...  ",
+"   .     o.     .     ",
+"   .     ....   .     ",
+"  .      .     .      ",
+"  ..... X....  .....  ",
+"                      ",
+"  o....  ....X  X...X ",
+"  .     o.   . o.   . ",
+"  o..o  .....  .....  ",
+"     .  .   . o.      ",
+" ....o X    . .       ",
+"                      ",
+"   .....   .    ....X ",
+"     o.    .   o.   . ",
+"    .o    . .  .....  ",
+"  o.o    ....  .   .  ",
+" o..... .   . X    .  ",
+"                      ",
+"    ....X    .     .  ",
+"   o.   .   o.    o.  ",
+"   .....    .     .o  ",
+"   .   .   o.  .  .   ",
+"  X    .   .    ..    ",
+"                      ",
+"     .     .  o....   ",
+"    o.    o.  .       ",
+"    .o    .   o..o    ",
+"    .    o.      .    ",
+"   X.... .   ....o    ",
+"                      ",
+"   X...X  ....X   ... ",
+"  o.   . o.   .  .   .",
+"  .....  .....   .  . ",
+" o.      .   .  .  o. ",
+" .      X    .  ....  "};
diff --git a/lang.czech/weekday.xpm b/lang.czech/weekday.xpm
new file mode 100644
index 0000000..a75d0d4
--- /dev/null
+++ b/lang.czech/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+"     ....    ...    ",
+"     .   .  .   .   ",
+"     ....   .   .   ",
+"     .      .   .   ",
+"     .       ...    ",
+"                    ",
+"     .   .  .....   ",
+"     .   .    .     ",
+"     .   .    .     ",
+"     .   .    .     ",
+"      ...     .     ",
+"                    ",
+"      ....  .....   ",
+"     .        .     ",
+"      ...     .     ",
+"         .    .     ",
+"     ....     .     ",
+"                    ",
+"      ...   .....   ",
+"     .   .    .     ",
+"     .        .     ",
+"     .   .    .     ",
+"      ...     .     ",
+"                    ",
+"     ....     .     ",
+"     .   .   . .    ",
+"     ....    . .    ",
+"     .      .....   ",
+"     .      .   .   ",
+"                    ",
+"      ....   ...    ",
+"     .      .   .   ",
+"      ...   .   .   ",
+"         .  .   .   ",
+"     ....    ...    ",
+"                    ",
+"     .   .  .....   ",
+"     ..  .  .       ",
+"     . . .  ....    ",
+"     .  ..  .       ",
+"     .   .  .....   "};
diff --git a/lang.danish/month.xpm b/lang.danish/month.xpm
new file mode 100644
index 0000000..606bdf5
--- /dev/null
+++ b/lang.danish/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AAAAAAAAAAAA",
+"o	c #555555555555",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  .....  ....o",
+"  .      X.     X.   .",
+" X.....  .....  ..... ",
+" .       .      .   . ",
+".       o....  o....  ",
+"                      ",
+"  .    .    .    .....",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"                      ",
+"    .    .....  ..... ",
+"    .X  X.   .  .   . ",
+"   . .  .....  .....  ",
+"  ....  .      .   .  ",
+" .   . .      .    .  ",
+"                      ",
+"   .    .    .      . ",
+"  X.   ..    .X    X. ",
+"  .X. . .   . .    .X ",
+" X.  .  .  .... .  .  ",
+" .      . .   .  ..   ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   .  X. X....   ",
+"    .X X.  .  .       ",
+"   . . .X X. X. ...   ",
+"  .... .  .X .X  .    ",
+" .   . o..    ...     ",
+"                      ",
+" X....  .....  o...o  ",
+" .     X.     X.   .  ",
+" X..X  ....   .....   ",
+"    .  .     X.       ",
+"....X o....  .        ",
+"                      ",
+"   ...  .  . .....    ",
+"  .   . . .X  X.      ",
+"  .  .  ..    .X      ",
+" .  X. .X .  X.       ",
+" ....  .X .  .        ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   ....  ...   ",
+"  X.   . X.    .      ",
+"  .    . ....  .      ",
+"  .   .  .    .       ",
+" o....  o.... .....   "};
diff --git a/lang.danish/weekday.xpm b/lang.danish/weekday.xpm
new file mode 100644
index 0000000..227e6ec
--- /dev/null
+++ b/lang.danish/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FEFEFEFEFEFE",
+".	c #000000000000",
+"                    ",
+" .   .   ..   .   . ",
+" .. ..  .  .  ..  . ",
+" . . .  .  .  . . . ",
+" .   . ...... .  .. ",
+" .   . .    . .   . ",
+"                    ",
+" ..... ..... .....  ",
+"   .     .   .    . ",
+"   .     .   .....  ",
+"   .     .   .   .  ",
+"   .   ..... .    . ",
+"                    ",
+"  ....  .   .  .... ",
+" .    . ..  . .     ",
+" .    . . . .  ...  ",
+" .    . .  ..     . ",
+"  ....  .   . ....  ",
+"                    ",
+" .....  ...  .....  ",
+"   .   .   . .    . ",
+"   .   .   . .....  ",
+"   .   .   . .   .  ",
+"   .    ...  .    . ",
+"                    ",
+" ..... .....  ..... ",
+" .     .    . .     ",
+" ....  .....  ...   ",
+" .     .   .  .     ",
+" .     .    . ..... ",
+"                    ",
+" .     ..... .....  ",
+" .    .   .. .    . ",
+" .    . .. . .....  ",
+" .    ..   . .   .  ",
+" .... .....  .    . ",
+"                    ",
+"  ....  ..... .   . ",
+" .     .   .. ..  . ",
+"  ...  . .. . . . . ",
+"     . ..   . .  .. ",
+" ....  .....  .   . "};
diff --git a/lang.dutch/month.xpm b/lang.dutch/month.xpm
new file mode 100644
index 0000000..3de6128
--- /dev/null
+++ b/lang.dutch/month.xpm
@@ -0,0 +1,83 @@
+/* XPM */
+static char *month_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    22    72        4            1",
+/* colors */
+". c #ffffff",
+"# c #000000",
+"a c #aeaaae",
+"b c #515551",
+/* pixels */
+"......................",
+".....#...#....#....#..",
+"....a#...#...a##..a#..",
+"....#a..#.#..#a.#.#a..",
+".#..#..####.a#...##...",
+"..##..#...#.#.....#...",
+"......................",
+"..b#####..#####..####b",
+"..#......a#.....a#...#",
+".a#####..#####..#####.",
+".#.......#......#...#.",
+"#.......b####..b####..",
+"......................",
+"..#....#....#...#####b",
+"..#...##....#a..#...#.",
+".#.#.#.#...#.#.#####..",
+".#..#..#..####.#...#..",
+"#......#.#...##....#..",
+"......................",
+"....#....#####..#####.",
+"....#a..a#...#..#...#.",
+"...#.#..#####..#####..",
+"..####..#......#...#..",
+".#...#.#......#....#..",
+"......................",
+"....#....#..#####..#..",
+"...a#...##.a#.....a#..",
+"...#a#.#.#.#####..#...",
+"..a#..#..#.#.....a#...",
+"..#......#b####..#....",
+"......................",
+".....#..#..a#..#....#.",
+"....a#.a#..#..a##..a#.",
+"....#a.#a.a#..#..#.#a.",
+".#..#..#..#a.a#...##..",
+"..##...b###..#.....#..",
+"......................",
+"......#..#..a#..#.....",
+".....a#.a#..#..a#.....",
+".....#a.#a.a#..#a.....",
+"..#..#..#..#...#......",
+"...##...b##...b####...",
+"......................",
+".....#...#..a#.a####..",
+".....#a.a#..#..#......",
+"....#.#.#a.a#.a#.###..",
+"...####.#..#a.#a..#...",
+"..#...#.b##....###....",
+"......................",
+"..a####..#####..b###b.",
+"..#.....a#.....a#...#.",
+"..a##a..####...#####..",
+".....#..#.....a#......",
+".####a.b####..#.......",
+"......................",
+"....###...#a.#.#####..",
+"...#...#.a#.#a..a#....",
+"...#..#..#.#....#a....",
+"..#..a#.a#.a#..a#.....",
+"..####..#...#a.#......",
+"......................",
+"..#....#..a###..#...#.",
+".a##..a#..#...#.#a.#a.",
+".#..#.#a.a#..#a.a#.#..",
+"a#...##..#...#...##...",
+"#.....#..####....#....",
+"......................",
+"...b###...####..####..",
+"..a#...#.a#....a#.....",
+"..#....#.####..#a.....",
+"..#...#..#....a#......",
+".b####..b####.#####..."
+};
diff --git a/lang.dutch/weekday.xpm b/lang.dutch/weekday.xpm
new file mode 100644
index 0000000..4e5b757
--- /dev/null
+++ b/lang.dutch/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char *weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+"    .     .   .     ",
+"    ..   ..  . .    ",
+"    . . . .  . .    ",
+"    .  .  . .....   ",
+"    .     . .   .   ",
+"                    ",
+"       ....  .      ",
+"       .   . .      ",
+"       .   . .      ",
+"       .   . .      ",
+"       ....  .      ",
+"                    ",
+"    .     .  ...    ",
+"    .  .  . .   .   ",
+"    . . . . .   .   ",
+"    ..   .. .   .   ",
+"    .     .  ...    ",
+"                    ",
+"     ....   ...     ",
+"     .   . .   .    ",
+"     .   . .   .    ",
+"     .   . .   .    ",
+"     ....   ...     ",
+"                    ",
+"    .    . ....     ",
+"     .  .  .   .    ",
+"     .  .  ....     ",
+"      ..   .  .     ",
+"      ..   .   .    ",
+"                    ",
+"     .....   .      ",
+"        .   . .     ",
+"       .    . .     ",
+"      .    .....    ",
+"     ..... .   .    ",
+"                    ",
+"     .....  ...     ",
+"        .  .   .    ",
+"       .   .   .    ",
+"      .    .   .    ",
+"     .....  ...     "};
diff --git a/lang.english/month.xpm b/lang.english/month.xpm
new file mode 100644
index 0000000..049e54f
--- /dev/null
+++ b/lang.english/month.xpm
@@ -0,0 +1,83 @@
+/* XPM */
+static char *month_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    22    72        4            1",
+/* colors */
+". c #000000",
+"# c #555555",
+"a c #aaaaaa",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bbb.bbbb.bbbb.bb",
+"bbbba.bbb.bbba..bba.bb",
+"bbbb.abb.b.bb.ab.b.abb",
+"b.bb.bb....ba.bbb..bbb",
+"bb..bb.bbb.b.bbbbb.bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb#.....bb.....bb....#",
+"bb.bbbbbba.bbbbba.bbb.",
+"ba.....bb.....bb.....b",
+"b.bbbbbbb.bbbbbb.bbb.b",
+".bbbbbbb#....bb#....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bbbb.bbbb.....",
+"bb.bbb..bbbb.abbb.bbb.",
+"b.b.b.b.bbb.b.bb.....b",
+"b.bb.bb.bb....bb.bbb.b",
+".bbbbbb.b.bbb.b.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbbb.....bb.....b",
+"bbbb.abba.bbb.bb.bbb.b",
+"bbb.b.bb.....bb.....bb",
+"bb....bb.bbbbbb.bbb.bb",
+"b.bbb.b.bbbbbb.bbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb.bbbb.bbbb.bb.bbb.b",
+"bba.bbb..bbbb.bbb.b.bb",
+"bb.a.b.b.bbb.b.bba.bbb",
+"ba.bb.bb.bb....bb.bbbb",
+"b.bbbbbb.b.bbb.bb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bb.bba.bb.bbbb.b",
+"bbbba.ba.bb.bba..bba.b",
+"bbbb.ab.aba.bb.bb.b.ab",
+"b.bb.bb.bb.aba.bbb..bb",
+"bb..bbb#...bb.bbbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.bb.bba.bb.bbbbb",
+"bbbbba.ba.bb.bba.bbbbb",
+"bbbbb.ab.aba.bb.abbbbb",
+"bb.bb.bb.bb.bbb.bbbbbb",
+"bbb..bbb#..bbb#....bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbb.bba.ba....bbb",
+"bbbb.aba.bb.bb.bbbbbbb",
+"bbb.b.b.aba.ba.b...bbb",
+"bb....b.bb.ab.abb.bbbb",
+"b.bbb.b#..bbbb...bbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"ba....bb.....bb#...#bb",
+"b.bbbbba.bbbbba.bbb.bb",
+"ba..abb....bbb.....bbb",
+"bbbb.bb.bbbbba.bbbbbbb",
+"....ab#....bb.bbbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb...bbb...b.....bbbb",
+"bb.bbb.b.bbbbba.bbbbbb",
+"bb.bb.bb.bbbbb.abbbbbb",
+"b.bba.b.bbbbba.bbbbbbb",
+"b....bb....bb.bbbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bba...bb.bbb.b",
+"ba..bba.bb.bbb.b.ab.ab",
+"b.bb.b.aba.bb.aba.b.bb",
+"a.bbb..bb.bbb.bbb..bbb",
+".bbbbb.bb....bbbb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb#...bbb....bb...bbb",
+"bba.bbb.ba.bbbb.bbbbbb",
+"bb.bbbb.b....bb.bbbbbb",
+"bb.bbb.bb.bbbb.bbbbbbb",
+"b#....bb#....b.....bbb"
+};
diff --git a/lang.english/weekday.xpm b/lang.english/weekday.xpm
new file mode 100644
index 0000000..ae49bb5
--- /dev/null
+++ b/lang.english/weekday.xpm
@@ -0,0 +1,53 @@
+/* XPM */
+static char *weekday_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    20    42        4            1",
+/* colors */
+". c #000000",
+"# c #555555",
+"a c #aaaaaa",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbb",
+"b.bbb.bb....bb.bbb.b",
+"b..b..b.bbbb.b..bb.b",
+"b.b.b.b.bbbb.b.b.b.b",
+"b.bbb.b.bbbb.b.bb..b",
+"b.bbb.bb....bb.bbb.b",
+"bbbbbbbbbbbbbbbbbbbb",
+"b.....b.bbbb.b.....b",
+"bbb.bbb.bbbb.b.bbbbb",
+"bbb.bbb.bbbb.b....bb",
+"bbb.bbb.bbbb.b.bbbbb",
+"bbb.bbbb....bb.....b",
+"bbbbbbbbbbbbbbbbbbbb",
+"b.bbbb.b.....b....bb",
+"b.bbbb.b.bbbbb.bbb.b",
+"b.b..b.b....bb.bbb.b",
+"b..bb..b.bbbbb.bbb.b",
+"b.bbbb.b.....b....bb",
+"bbbbbbbbbbbbbbbbbbbb",
+"b.....b.bbb.b.bbbb.b",
+"bbb.bbb.bbb.b.bbbb.b",
+"bbb.bbb.....b.bbbb.b",
+"bbb.bbb.bbb.b.bbbb.b",
+"bbb.bbb.bbb.bb....bb",
+"bbbbbbbbbbbbbbbbbbbb",
+"b.....b.....bb.....b",
+"b.bbbbb.bbbb.bbb.bbb",
+"b....bb.....bbbb.bbb",
+"b.bbbbb.bbb.bbbb.bbb",
+"b.bbbbb.bbbb.b.....b",
+"bbbbbbbbbbbbbbbbbbbb",
+"bb....bbb..bbb.....b",
+"b.bbbbbb.bb.bbbb.bbb",
+"bb...bbb.bb.bbbb.bbb",
+"bbbbb.b......bbb.bbb",
+"b....bb.bbbb.bbb.bbb",
+"bbbbbbbbbbbbbbbbbbbb",
+"bb....b.bbbb.b.bbb.b",
+"b.bbbbb.bbbb.b..bb.b",
+"bb...bb.bbbb.b.b.b.b",
+"bbbbb.b.bbbb.b.bb..b",
+"b....bbb....bb.bbb.b"
+};
diff --git a/lang.french/month.xpm b/lang.french/month.xpm
new file mode 100644
index 0000000..f92eadd
--- /dev/null
+++ b/lang.french/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AEBAAAAAAEBA",
+"o	c #514455555144",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  ..... .   . ",
+"  .      X.     .X .X ",
+" X.....  .....  X. .  ",
+" .       .       ..   ",
+".       o....    .    ",
+"                      ",
+"  .    .    .    .....",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"                      ",
+"    .   .   .   ..... ",
+"    .X  .X .X   .   . ",
+"   . .  X. .   .....  ",
+"  ....   ..    .   .  ",
+" .   .   .    .    .  ",
+"                      ",
+"   .    .    .    .   ",
+"  X.   ..    .   X.   ",
+"  .X. . .   . .  .X   ",
+" X.  .  .  ....  .    ",
+" .      . .   . o.    ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .    ...   .  X.  ",
+"    .X  .   . X.  .   ",
+"   . .  .  .  .X X.   ",
+"  .... .  X.  .  .X   ",
+" .   . ....   o..     ",
+"                      ",
+" X....  .....  o...o  ",
+" .     X.     X.   .  ",
+" X..X  ....   .....   ",
+"    .  .     X.       ",
+"....X o....  .        ",
+"                      ",
+"   ...   ... .....    ",
+"  .   . .     X.      ",
+"  .  .  .     .X      ",
+" .  X. .     X.       ",
+" ....  ....  .        ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   ....  ...   ",
+"  X.   . X.    .      ",
+"  .    . ....  .      ",
+"  .   .  .    .       ",
+" o....  o.... .....   "};
diff --git a/lang.french/weekday.xpm b/lang.french/weekday.xpm
new file mode 100644
index 0000000..fc0c069
--- /dev/null
+++ b/lang.french/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+" .     .    . .   . ",
+" .     .    . ..  . ",
+" .     .    . . . . ",
+" .     .    . .  .. ",
+" ....   ....  .   . ",
+"                    ",
+" .   .   ..   ..... ",
+" .. ..  .  .  .    .",
+" . . .  .  .  ..... ",
+" .   . ...... .   . ",
+" .   . .    . .    .",
+"                    ",
+" .   .  ..... ..... ",
+" .. ..  .     .    .",
+" . . .  ....  ..... ",
+" .   .  .     .   . ",
+" .   .  ..... .    .",
+"                    ",
+"    ... ..... .    .",
+"     .  .     .    .",
+" .   .  ....  .    .",
+" .   .  .     .    .",
+"  ...   .....  .... ",
+"                    ",
+" .    . ..... .   . ",
+" .   .. .     ..  . ",
+"  .  .  ....  . . . ",
+"  .  .  .     .  .. ",
+"   ..   ..... .   . ",
+"                    ",
+"  ....   ..   .   . ",
+" .      .  .  .. .. ",
+"  ...   .  .  . . . ",
+"     . ...... .   . ",
+" ....  .    . .   . ",
+"                    ",
+" ....  .....  .   . ",
+" .   .   .    .. .. ",
+" .   .   .    . . . ",
+" .   .   .    .   . ",
+" ....  .....  .   . "};
diff --git a/lang.french2/month.xpm b/lang.french2/month.xpm
new file mode 100644
index 0000000..d2e06d7
--- /dev/null
+++ b/lang.french2/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * mois_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFF",
+".	c #000000",
+"X	c #AAAAAA",
+"o	c #555555",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  ..... .   . ",
+"  .      X.     .X .X ",
+" X.....  .....  X. .  ",
+" .       .       ..   ",
+".       o....    .    ",
+"                      ",
+"  .    .    .    ....o",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"                      ",
+"     .  .   .  ....o  ",
+"     .X .X .X  .   .  ",
+"    . . X. .  .....   ",
+"   ....  ..   .   .   ",
+"  .   .  .   .    .   ",
+"                      ",
+"    .    .    .   X.  ",
+"   X.   ..    .X  .X  ",
+"   .X. . .   . . X.   ",
+"  X.  .  .  .... .X   ",
+"  .      . .   . .    ",
+"                      ",
+"    .  .  X. X. .    .",
+"   X. X.  .  . X..  X.",
+"   .X .X X. X. .  . .X",
+".  .  .  .X . X.   .. ",
+" ..   o...  . .     . ",
+"                      ",
+"     .  .  X. X.  .   ",
+"    X. X.  .  .X X.   ",
+"    .X .X X. X.  .X   ",
+" .  .  .  .  .X  .    ",
+"  ..   o..   .  o.... ",
+"                      ",
+"    .    X..   .  X.  ",
+"    .X  .   . X.  .   ",
+"   . . X.  .X .X X.   ",
+"  .... .   .  .  .X   ",
+" .   . X...   o..     ",
+"                      ",
+"  X....  .....  o...o ",
+"  .     X.     X.   . ",
+"  X..X  ....   .....  ",
+"     .  .     X.      ",
+" ....X o....  .       ",
+"                      ",
+"    o..   ... .....   ",
+"   .   . .     X.     ",
+"  X.  .X .     .X     ",
+"  .  X. .     X.      ",
+"  X...  ....  .       ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   ....  ...   ",
+"  X.   . X.    .      ",
+"  .    . ....  .      ",
+"  .   .  .    .       ",
+" o....  o.... .....   "};
diff --git a/lang.french2/weekday.xpm b/lang.french2/weekday.xpm
new file mode 100644
index 0000000..750685c
--- /dev/null
+++ b/lang.french2/weekday.xpm
@@ -0,0 +1,51 @@
+/* XPM */
+static char *jours[] = {
+/* width height num_colors chars_per_pixel */
+"    20    42        2            1",
+/* colors */
+". c #ffffff",
+"# c #000000",
+/* pixels */
+"....................",
+".#.....#....#.#...#.",
+".#.....#....#.##..#.",
+".#.....#....#.#.#.#.",
+".#.....#....#.#..##.",
+".#####..####..#...#.",
+"....................",
+".#...#...##...####..",
+".##.##..#..#..#...#.",
+".#.#.#..#..#..####..",
+".#...#.######.#..#..",
+".#...#.#....#.#...#.",
+"....................",
+".#...#.######.####..",
+".##.##.#......#...#.",
+".#.#.#.#####..####..",
+".#...#.#......#..#..",
+".#...#.######.#...#.",
+"....................",
+"..#####.#####.#...#.",
+"....#...#.....#...#.",
+"....#...####..#...#.",
+".#..#...#.....#...#.",
+"..##....#####..###..",
+"....................",
+".#...#.######.#...#.",
+".#...#.#......##..#.",
+"..#.#..#####..#.#.#.",
+"..#.#..#......#..##.",
+"...#...######.#...#.",
+"....................",
+"..####...##...#...#.",
+".#......#..#..##.##.",
+"..###...#..#..#.#.#.",
+".....#.######.#...#.",
+".####..#....#.#...#.",
+"....................",
+".#####..#####.#...#.",
+".#....#...#...##.##.",
+".#....#...#...#.#.#.",
+".#....#...#...#...#.",
+".#####..#####.#...#."
+};
diff --git a/lang.german/month.xpm b/lang.german/month.xpm
new file mode 100644
index 0000000..dcc5807
--- /dev/null
+++ b/lang.german/month.xpm
@@ -0,0 +1,83 @@
+/* XPM */
+static char *month_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    22    72        4            1",
+/* colors */
+". c #000000",
+"# c #555555",
+"a c #aaaaaa",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bbb.bbbb.bbbb.bb",
+"bbbba.bbb.bbba..bba.bb",
+"bbbb.abb.b.bb.ab.b.abb",
+"b.bb.bb....ba.bbb..bbb",
+"bb..bb.bbb.b.bbbbb.bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb#.....bb.....bb....#",
+"bb.bbbbbba.bbbbba.bbb.",
+"ba.....bb.....bb.....b",
+"b.bbbbbbb.bbbbbb.bbb.b",
+".bbbbbbb#....bb#....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bb....#bb....#",
+"bb.bbb..ba.bbb.bbbba.b",
+"b.b.b.b.b......bbb.abb",
+"b.bb.bb.b.bbb.bba.abbb",
+".bbbbbb.#bbbb.ba.....b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbbb.....bb.....b",
+"bbbb.abba.bbb.bb.bbb.b",
+"bbb.b.bb.....bb.....bb",
+"bb....bb.bbbbbb.bbb.bb",
+"b.bbb.b.bbbbbb.bbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb.bbbb.bbbb.bbbb.bbb",
+"bba.bbb..bbbb.bbba.bbb",
+"bb.a.b.b.bbb.b.bb.bbbb",
+"ba.bb.bb.bb....ba.bbbb",
+"b.bbbbbb.b.bbb.b.bbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bb.bba.bb.bbbb.b",
+"bbbba.ba.bb.bba..bba.b",
+"bbbb.ab.aba.bb.bb.b.ab",
+"b.bb.bb.bb.aba.bbb..bb",
+"bb..bbb#...bb.bbbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.bb.bba.bb.bbbbb",
+"bbbbba.ba.bb.bba.bbbbb",
+"bbbbb.ab.aba.bb.abbbbb",
+"bb.bb.bb.bb.bbb.bbbbbb",
+"bbb..bbb#..bbb#....bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbb.bba.ba....bbb",
+"bbbb.aba.bb.bb.bbbbbbb",
+"bbb.b.b.aba.ba.b...bbb",
+"bb....b.bb.ab.abb.bbbb",
+"b.bbb.b#..bbbb...bbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"ba....bb.....bb#...#bb",
+"b.bbbbba.bbbbba.bbb.bb",
+"ba..abb....bbb.....bbb",
+"bbbb.bb.bbbbba.bbbbbbb",
+"....ab#....bb.bbbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb...bbb.ab.b.....bbb",
+"bb.bbb.ba.b.abba.bbbbb",
+"bb.bb.bb.b.bbbb.abbbbb",
+"b.bba.ba.ba.bba.bbbbbb",
+"b....bb.bbb.ab.bbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bba...bb.bbb.b",
+"ba..bba.bb.bbb.b.ab.ab",
+"b.bb.b.aba.bb.aba.b.bb",
+"a.bbb..bb.bbb.bbb..bbb",
+".bbbbb.bb....bbbb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb#...bbb....bb.....b",
+"bba.bbb.ba.bbbbbbba.bb",
+"bb.bbbb.b....bbbb.abbb",
+"bb.bbb.bb.bbbbba.abbbb",
+"b#....bb#....ba.....bb"
+};
diff --git a/lang.german/weekday.xpm b/lang.german/weekday.xpm
new file mode 100644
index 0000000..9ae2cbd
--- /dev/null
+++ b/lang.german/weekday.xpm
@@ -0,0 +1,51 @@
+/* XPM */
+static char *weekday_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    20    42        2            1",
+/* colors */
+". c #000000",
+"# c #ffffff",
+/* pixels */
+"####################",
+"####.#####.##...####",
+"####..###..#.###.###",
+"####.#.#.#.#.###.###",
+"####.##.##.#.###.###",
+"####.#####.##...####",
+"####################",
+"#######....##.######",
+"#######.###.#.######",
+"#######.###.#.######",
+"#######.###.#.######",
+"#######....##.######",
+"####################",
+"######.#####.#.#####",
+"######..###..#.#####",
+"######.#.#.#.#.#####",
+"######.##.##.#.#####",
+"######.#####.#.#####",
+"####################",
+"#####....###...#####",
+"#####.###.#.###.####",
+"#####.###.#.###.####",
+"#####.###.#.###.####",
+"#####....###...#####",
+"####################",
+"#####.....#....#####",
+"#####.#####.###.####",
+"#####....##....#####",
+"#####.#####.##.#####",
+"#####.#####.###.####",
+"####################",
+"######....###.######",
+"#####.######.#.#####",
+"######...###.#.#####",
+"#########.#.....####",
+"#####....##.###.####",
+"####################",
+"######....##...#####",
+"#####.#####.###.####",
+"######...##.###.####",
+"#########.#.###.####",
+"#####....###...#####"
+};
diff --git a/lang.hungarian/month.xpm b/lang.hungarian/month.xpm
new file mode 100644
index 0000000..6ef42bc
--- /dev/null
+++ b/lang.hungarian/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AEBAAAAAAEBA",
+"o	c #514455555144",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  .....  ....o",
+"  .      X.     X.   .",
+" X.....  .....  ..... ",
+" .       .      .   . ",
+".       o....  o....  ",
+"               .      ",
+"  .    .    . .  .....",
+"  .   ..    .    .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"       .              ",
+"    . .  .....  ..... ",
+"    .X  X.   .  .   . ",
+"   . .  .....  .....  ",
+"  ....  .      .   .  ",
+" .   . .      .    .  ",
+"                .     ",
+"   .    .    . .    . ",
+"  X.   ..    .     X. ",
+"  .X. . .   . .    .X ",
+" X.  .  .  .... .  .  ",
+" .      . .   .  ..   ",
+"           .          ",
+"     .  . . .  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"            .         ",
+"      .  . . .  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .X  .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   .  X. X....   ",
+"    .X X.  .  .       ",
+"   . . .X X. X. ...   ",
+"  .... .  .X .X  .    ",
+" .   . o..    ...     ",
+"                      ",
+" X....X...oo.... o...o",
+" .      X. .    X.   .",
+" X..X  .X o...  ..... ",
+"    . .   .    X.     ",
+"....X....X.... .      ",
+"                      ",
+"    ...  .  . .....   ",
+"   .   . . .X  X.     ",
+"   .  . X..    .X     ",
+"  .  X. .X .  X.      ",
+"  ....  .X .  .       ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   .... X...   ",
+"  X.   . X.    .      ",
+"  .    . ....  .      ",
+"  .   .  .    .       ",
+" o....  o.... .....   "};
diff --git a/lang.hungarian/weekday.xpm b/lang.hungarian/weekday.xpm
new file mode 100644
index 0000000..ea8a2b8
--- /dev/null
+++ b/lang.hungarian/weekday.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"              .     ",
+"     .   . .....    ",
+"     .   . .        ",
+"     ..... ....     ",
+"     .   . .        ",
+"     .   . .....    ",
+"                    ",
+"     .   . .....    ",
+"     .  .  .        ",
+"     . .   ...      ",
+"     .. .  .        ",
+"     .   . .....    ",
+"                    ",
+"   .... ..... ..... ",
+"  .        .  .     ",
+"   ...    .   ...   ",
+"      .  .    .     ",
+"  ....  ..... ..... ",
+"               . .  ",
+"   ....  .... .   . ",
+"  .     .     .   . ",
+"  .      ...  .   . ",
+"  .         . .   . ",
+"   .... ....   ...  ",
+"               .    ",
+"     .....  .....   ",
+"     .    . .       ",
+"     .....  ....    ",
+"     .      .       ",
+"     .      .....   ",
+"                    ",
+"   .... .....  ...  ",
+"  .        .  .   . ",
+"   ...    .   .   . ",
+"      .  .    .   . ",
+"  ....  .....  ...  ",
+"                    ",
+"  .   .   .    .... ",
+"  .   .  . .  .     ",
+"  .   .  . .   ...  ",
+"   . .  .....     . ",
+"    .   .   . ....  "};
+
diff --git a/lang.indonesian/month.xpm b/lang.indonesian/month.xpm
new file mode 100644
index 0000000..d0f38ab
--- /dev/null
+++ b/lang.indonesian/month.xpm
@@ -0,0 +1,83 @@
+/* XPM */
+static char *month_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    22    72        4            1",
+/* colors */
+". c #000000",
+"# c #555555",
+"a c #aaaaaa",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bbb.bbbb.bbbb.bb",
+"bbbba.bbb.bbba..bba.bb",
+"bbbb.abb.b.bb.ab.b.abb",
+"b.bb.bb....ba.bbb..bbb",
+"bb..bb.bbb.b.bbbbb.bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb#.....bb.....bb....#",
+"bb.bbbbbba.bbbbba.bbb.",
+"ba.....bb.....bb.....b",
+"b.bbbbbbb.bbbbbb.bbb.b",
+".bbbbbbb#....bb#....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bbbb.bbbb.....",
+"bb.bbb..bbbb.abbb.bbb.",
+"b.b.b.b.bbb.b.bb.....b",
+"b.bb.bb.bb....bb.bbb.b",
+".bbbbbb.b.bbb.b.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbbb.....bb.....b",
+"bbbb.abba.bbb.bb.bbb.b",
+"bbb.b.bb.....bb.....bb",
+"bb....bb.bbbbbb.bbb.bb",
+"b.bbb.b.bbbbbb.bbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb.bbbb.bbb.....bb.bb",
+"bba.bbb..bba.bbbbba.bb",
+"bb.a.b.b.bb.....bb.bbb",
+"ba.bb.bb.bb.bbbbba.bbb",
+"b.bbbbbb.b#....bb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbb.bb.bba.bb.bbbb.b",
+"bbbba.ba.bb.bba..bba.b",
+"bbbb.ab.aba.bb.bb.b.ab",
+"b.bb.bb.bb.aba.bbb..bb",
+"bb..bbb#...bb.bbbbb.bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.bb.bba.bb.bbbbb",
+"bbbbba.ba.bb.bba.bbbbb",
+"bbbbb.ab.aba.bb.abbbbb",
+"bb.bb.bb.bb.bbb.bbbbbb",
+"bbb..bbb#..bbb#....bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbb.bbbba....bb.bba.b",
+"bbbb.abb.bbbbbba.bb.bb",
+"bbb.b.ba.b...bb.aba.bb",
+"bb....b.abb.bbb.bb.abb",
+"b.bbb.bb...bbbb#..bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"ba....bb.....bb#...#bb",
+"b.bbbbba.bbbbba.bbb.bb",
+"ba..abb....bbb.....bbb",
+"bbbb.bb.bbbbba.bbbbbbb",
+"....ab#....bb.bbbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb...bbb.ab.b.....bbb",
+"bb.bbb.ba.b.abba.bbbbb",
+"bb.bb.bb.b.bbbb.abbbbb",
+"b.bba.ba.ba.bba.bbbbbb",
+"b....bb.bbb.ab.bbbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.bbbb.bba...bb.bbb.b",
+"ba..bba.bb.bbb.b.ab.ab",
+"b.bb.b.aba.bb.aba.b.bb",
+"a.bbb..bb.bbb.bbb..bbb",
+".bbbbb.bb....bbbb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbb#...bbb....bba....b",
+"bba.bbb.ba.bbbbbb.bbbb",
+"bb.bbbb.b....bbba..abb",
+"bb.bbb.bb.bbbbbbbbb.bb",
+"b#....bb#....bb....abb"
+};
diff --git a/lang.indonesian/weekday.xpm b/lang.indonesian/weekday.xpm
new file mode 100644
index 0000000..1a2e3da
--- /dev/null
+++ b/lang.indonesian/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+"  .... ..... .   .  ",
+" .     .     ..  .  ",
+"  ...  ....  . . .  ",
+"     . .     .  ..  ",
+" ....  ..... .   .  ",
+"                    ",
+"  .... ..... .      ",
+" .     .     .      ",
+"  ...  ....  .      ",
+"     . .     .      ",
+" ....  ..... .....  ",
+"                    ",
+" ....    ..   ....  ",
+" .   .  .  .  .   . ",
+" ....   .  .  ....  ",
+" .  .  ...... .   . ",
+" .   . .    . ....  ",
+"                    ",
+" .   .   ..   .   . ",
+" .  .   .  .  .. .. ",
+" ...    .  .  . . . ",
+" .  .  ...... .   . ",
+" .   . .    . .   . ",
+"                    ",
+"     . .   . .   .  ",
+"     . .   . .. ..  ",
+"     . .   . . . .  ",
+" .   . .   . .   .  ",
+"  ...   ...  .   .  ",
+"                    ",
+"  ....   ..   ....  ",
+" .      .  .  .   . ",
+"  ...   .  .  ....  ",
+"     . ...... .   . ",
+" ....  .    . ....  ",
+"                    ",
+" .   . ..... .   .  ",
+" .. ..   .   ..  .  ",
+" . . .   .   . . .  ",
+" .   .   .   .  ..  ",
+" .   . ..... .   .  "};
diff --git a/lang.italian/month.xpm b/lang.italian/month.xpm
new file mode 100644
index 0000000..1ef5fa7
--- /dev/null
+++ b/lang.italian/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #AEBAAAAAAEBA",
+"X	c #000000000000",
+"o	c #514455555144",
+"                      ",
+" .XXXX  XXXXX  X    X ",
+" X     .X     .XX  .X ",
+".X XXX XXXXX  X. X X. ",
+"X.  X  X     .X   XX  ",
+" XXX  oXXXX  X     X  ",
+"                      ",
+"  oXXXXX  XXXXX  XXXXo",
+"  X      .X     .X   X",
+" .XXXXX  XXXXX  XXXXX ",
+" X       X      X   X ",
+"X       oXXXX  oXXXX  ",
+"                      ",
+"  X    X    X   XXXXo ",
+"  X   XX    X. .X   X ",
+" X X X X   X X XXXXXX ",
+" X  X  X  XXXX X   X  ",
+"X      X X   Xo    X  ",
+"                      ",
+"    X    XXXXo  XXXXo ",
+"    X.  .X   X .X   X ",
+"   X X  XXXXX  XXXXXX ",
+"  XXXX  X      X   X  ",
+" X   X X      X    X  ",
+"                      ",
+"   X    X    X   .XXXX",
+"  .X   XX    X   X    ",
+"  X.X X X   X X .X XXX",
+" .X  X  X  XXXX X.  X ",
+" X      X X   X  XXX  ",
+"                      ",
+"    .XXXX    X  X  .X ",
+"    X       XX .X  X  ",
+"   .X XXX  XX  X. .X  ",
+"   X.  X  XX   X  X.  ",
+"    XXX   X    oXXX   ",
+"                      ",
+"    X    X  .X .XXXX  ",
+"   .X   .X  X  X      ",
+"   X.   X. .X .X XXX  ",
+"   X    X  X  X.  X   ",
+"  oXXXX oXX    XXX    ",
+"                      ",
+"    X   .XXXX   XXX   ",
+"    X.  X      X   X  ",
+"   X X .X XXX  X  X   ",
+"  XXXX X.  X  X  .X   ",
+" X   X  XXX   XXXX    ",
+"                      ",
+" .XXXX  XXXXX XXXXX   ",
+" X     .X      .X     ",
+" .XX.  XXXX    X.     ",
+"    X  X      .X      ",
+"XXXX. oXXXX   X       ",
+"                      ",
+"   XXX   XXXXX XXXXX  ",
+"  X   X   .X    .X    ",
+"  X  X    X.    X.    ",
+" X  .X   .X    .X     ",
+" XXXX    X     X      ",
+"                      ",
+"  X    X  .XXX  X   X ",
+" .XX  .X  X   X X. X. ",
+" X  X X. .X  X. .X X  ",
+".X   XX  X   X   XX   ",
+"X     X  XXXX    X    ",
+"                      ",
+"   oXXX     X   XXX   ",
+"  .X   X   XX  X      ",
+"  X    X  XX   X      ",
+"  X   X  XX   X       ",
+" oXXXX   X    XXXXX   "};
diff --git a/lang.italian/weekday.xpm b/lang.italian/weekday.xpm
new file mode 100644
index 0000000..5bf6a03
--- /dev/null
+++ b/lang.italian/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+" .     .   . .   .  ",
+" .     .   . ..  .  ",
+" .     .   . . . .  ",
+" .     .   . .  ..  ",
+" .....  ...  .   .  ",
+"                    ",
+" .   .   ..   ....  ",
+" .. ..  .  .  .   . ",
+" . . .  .  .  ....  ",
+" .   . ...... .  .  ",
+" .   . .    . .   . ",
+"                    ",
+" .   . ..... .....  ",
+" .. .. .     .    . ",
+" . . . ....  .....  ",
+" .   . .     .   .  ",
+" .   . ..... .    . ",
+"                    ",
+"  .... .....  ....  ",
+" .       .   .    . ",
+" .  ..   .   .    . ",
+" .   .   .   .    . ",
+"  ...  .....  ....  ",
+"                    ",
+" .    . ..... .   . ",
+"  .  .  .     ..  . ",
+"  .  .  ....  . . . ",
+"   ..   .     .  .. ",
+"   ..   ..... .   . ",
+"                    ",
+"  ....   ..   ....  ",
+" .      .  .  .   . ",
+"  ...   .  .  ....  ",
+"     . ...... .   . ",
+" ....  .    . ....  ",
+"                    ",
+" ....   ...   .   . ",
+" .   . .   .  .. .. ",
+" .   . .   .  . . . ",
+" .   . .   .  .   . ",
+" ....   ...   .   . "};
diff --git a/lang.norwegian/month.xpm b/lang.norwegian/month.xpm
new file mode 100644
index 0000000..5f85112
--- /dev/null
+++ b/lang.norwegian/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FEFEFEFEFEFE",
+".	c #000000000000",
+"X	c #A9A9A9A9A9A9",
+"o	c #555555555555",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  .....  ....o",
+"  .      X.     X.   .",
+" X.....  .....  ..... ",
+" .       .      .   . ",
+".       o....  o....  ",
+"                      ",
+"  .    .    .    .....",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"                      ",
+"    .    .....  ..... ",
+"    .X  X.   .  .   . ",
+"   . .  .....  .....  ",
+"  ....  .      .   .  ",
+" .   . .      .    .  ",
+"                      ",
+"   .    .    .    X.  ",
+"  X.   ..    .    .X  ",
+"  .X. . .   . .  X.   ",
+" X.  .  .  ....  .X   ",
+" .      . .   .  .    ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   .  X. X....   ",
+"    .X X.  .  .       ",
+"   . . .X X. X. ...   ",
+"  .... .  .X .X  .    ",
+" .   . o..    ...     ",
+"                      ",
+" X....  .....  o...o  ",
+" .     X.     X.   .  ",
+" X..X  ....   .....   ",
+"    .  .     X.       ",
+"....X o....  .        ",
+"                      ",
+"   ...  .  . .....    ",
+"  .   . . .X  X.      ",
+"  .  .  ..    .X      ",
+" .  X. .X .  X.       ",
+" ....  .X .  .        ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   .... X....  ",
+"  X.   . X.    .      ",
+"  .    . ....  X..X   ",
+"  .   .  .        .   ",
+" o....  o.... ....X   "};
diff --git a/lang.norwegian/weekday.xpm b/lang.norwegian/weekday.xpm
new file mode 100644
index 0000000..227e6ec
--- /dev/null
+++ b/lang.norwegian/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FEFEFEFEFEFE",
+".	c #000000000000",
+"                    ",
+" .   .   ..   .   . ",
+" .. ..  .  .  ..  . ",
+" . . .  .  .  . . . ",
+" .   . ...... .  .. ",
+" .   . .    . .   . ",
+"                    ",
+" ..... ..... .....  ",
+"   .     .   .    . ",
+"   .     .   .....  ",
+"   .     .   .   .  ",
+"   .   ..... .    . ",
+"                    ",
+"  ....  .   .  .... ",
+" .    . ..  . .     ",
+" .    . . . .  ...  ",
+" .    . .  ..     . ",
+"  ....  .   . ....  ",
+"                    ",
+" .....  ...  .....  ",
+"   .   .   . .    . ",
+"   .   .   . .....  ",
+"   .   .   . .   .  ",
+"   .    ...  .    . ",
+"                    ",
+" ..... .....  ..... ",
+" .     .    . .     ",
+" ....  .....  ...   ",
+" .     .   .  .     ",
+" .     .    . ..... ",
+"                    ",
+" .     ..... .....  ",
+" .    .   .. .    . ",
+" .    . .. . .....  ",
+" .    ..   . .   .  ",
+" .... .....  .    . ",
+"                    ",
+"  ....  ..... .   . ",
+" .     .   .. ..  . ",
+"  ...  . .. . . . . ",
+"     . ..   . .  .. ",
+" ....  .....  .   . "};
diff --git a/lang.polish/month.txt b/lang.polish/month.txt
new file mode 100644
index 0000000..5ea18f9
--- /dev/null
+++ b/lang.polish/month.txt
@@ -0,0 +1,12 @@
+styczeń         (january)
+luty
+marzec
+kwiecień
+maj
+czerwiec
+lipiec
+sierpień
+wrzesień
+październik
+listopad
+grudzień
diff --git a/lang.polish/month.xpm b/lang.polish/month.xpm
new file mode 100644
index 0000000..efc646a
--- /dev/null
+++ b/lang.polish/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+"X	c #000000000000",
+".	c #AEBAAAAAAEBA",
+"o	c #514455555144",
+"                      ",
+"   .XXX.  XXXXX X   X ",
+"   X   X    X   X. X. ",
+"   XXX     X.    X.   ",
+" X   X    X.     X    ",
+" .XXX.   X.     .X    ",
+"                      ",
+"   XX   .X  .X XXXXX. ",
+"  XX    X   X.   X.   ",
+"  XX    X  .X    X.   ",
+" XX.    X  .X   X.    ",
+" XXXXXX XXXX.   X.    ",
+"                      ",
+" X  X  X    .XX .XXXXX",
+" X.XX  X    X X    .X ",
+"X X.X X X  .XX.   .X  ",
+"X X X XXX  X  X .X    ",
+"X   X X  X X  X XXXXX.",
+"                      ",
+"  .X  X. .X  X .X  .X ",
+"  X  XX  X  X  X   XX ",
+" .XX.   .X oX X   .X. ",
+".X  X.  X o.X X   XX  ",
+"XX   X. .X   X   .X   ",
+"                      ",
+"  X    X    X      X  ",
+"  X. .XX    X      X  ",
+" X X X X   X X     X  ",
+" X  X  X  XXXX .  X.  ",
+"X      X X   X .XXX   ",
+"                      ",
+" .XXXX XXXXo .XXX .XXo",
+" X       oX  X    X  X",
+".X     oX    XXX  XXo ",
+"X     oX    X.   X  X ",
+"XXXXX XXXXo XXX  X   X",
+"                      ",
+"  XX     X   .XXX.    ",
+"  XX     X   X   X    ",
+" X.     XX   XXXX.    ",
+".XX     X   X         ",
+"XXXXXX X.  .X         ",
+"                      ",
+"   .XXX.  X  XXX  XXX.",
+"   X   X  X X.    X  X",
+"   XXX   X. XXXX .XXX.",
+" X   X   X. X    X. X ",
+" .XXX.  X. XXXX. X   X",
+"                      ",
+" .X  X .X .XX  .XXXXXo",
+" X  X  X  X  X     oX ",
+".X oX X  .XXX.   oX   ",
+"X o X X  X. X   oX    ",
+".X   X   X   X oXXXXX.",
+"               oX.    ",
+"  XXXX   X     .      ",
+" X   X   X   XXXXo    ",
+" XXXX.  X X    oX     ",
+"XX     XXXX oXX       ",
+"X.    X   X XXXXXX    ",
+"                      ",
+"  XX   oX oXXX  XXXXXX",
+"  X    X  Xo  o   Xo  ",
+" XX   oX  oX     XX   ",
+" X    X o   X   XX    ",
+"XXXXX X  XXXo   XX    ",
+"                      ",
+" XXXXXo .XXXo  X  X   ",
+" X      X   X  X  X   ",
+"X. oXX .XXXo  .X  X   ",
+"X    X X. X   X  X.   ",
+"XXXXXX X   X  oXXX    "};
diff --git a/lang.polish/weekday.txt b/lang.polish/weekday.txt
new file mode 100644
index 0000000..582398e
--- /dev/null
+++ b/lang.polish/weekday.txt
@@ -0,0 +1,7 @@
+niedziela        (sunday)
+poniedziałek
+wtorek
+środa
+czwartek
+piątek
+sobota
diff --git a/lang.polish/weekday.xpm b/lang.polish/weekday.xpm
new file mode 100644
index 0000000..d484ae4
--- /dev/null
+++ b/lang.polish/weekday.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 3 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #BEFBBEFBBEFB",
+"                    ",
+" ....   ....  .   . ",
+" .   . .X  X. .X  . ",
+" ....  .    . . . . ",
+" .     .X  X. .  X. ",
+" .      ....  .  .. ",
+"                    ",
+" .  X  . .....  ..  ",
+" .  .  .   .   . X. ",
+" .  .  .   .   ...  ",
+"  . . .    .   .  . ",
+"   . .     .   .  . ",
+"   .X               ",
+"  ...X ....  ...    ",
+" .     .  X. .X .   ",
+"  ...  ....  .  .   ",
+"     . .  .  .  .   ",
+" X...  .   . ...    ",
+"                    ",
+" .... ..... .     . ",
+" .       X. .  X  . ",
+" .     X.   .  .  . ",
+" .    X.     . . .  ",
+" .... .....   . .   ",
+"                    ",
+" ....   .....  .  .X",
+" .   .    .    . .X ",
+" ....     .    ..X  ",
+" .        .    . .X ",
+" .        .    .  .X",
+"                    ",
+"  ....  ...   ....  ",
+" .     .X X.  .   . ",
+"  ...  .   .  ....  ",
+"     . .X X.  .   . ",
+" ....   ...   ....  ",
+"                    ",
+" ..   .  ....  ..... ",
+" .X.  .  .X  .     . ",
+" . .  .  .   .   X.  ",
+" .  .X.  .X  . X.    ",
+" .   ..  ....  ..... "};
diff --git a/lang.portuguese/month.xpm b/lang.portuguese/month.xpm
new file mode 100644
index 0000000..d8f1db1
--- /dev/null
+++ b/lang.portuguese/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AAAAAAAAAAAA",
+"o	c #555555555555",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  ..... .   . ",
+"  .      X.     .X .X ",
+" X.....  .....  X. .  ",
+" .       .       ..   ",
+".       o....    .    ",
+"                      ",
+"  .    .    .   ....o ",
+"  .   ..    .X X.   . ",
+" . . . .   . . ...... ",
+" .  .  .  .... .   .  ",
+".      . .   .o    .  ",
+"                      ",
+"    .    ....o  ....o ",
+"    .X  X.   . X.   . ",
+"   . .  .....  ...... ",
+"  ....  .   .  .   .  ",
+" .   . o....  o    .  ",
+"                      ",
+"   .    .    .    .   ",
+"  X.   ..    .   X.   ",
+"  .X. . .   . .  .    ",
+" X.  .  .  .... X.    ",
+" .      . .   . .     ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   X....   ...   ",
+"    .X  .      .   .  ",
+"   . . X. ...  .  .   ",
+"  .... .X  .  .  X.   ",
+" .   .  ...   ....    ",
+"                      ",
+" X....  ..... .....   ",
+" .     X.      X.     ",
+" X..X  ....    .X     ",
+"    .  .      X.      ",
+"....X o....   .       ",
+"                      ",
+"   ...   .  X. .....  ",
+"  .   . X.  .   X.    ",
+"  .  .  .X X.   .X    ",
+" .  X.  .  .   X.     ",
+" ....   o..    .      ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   ....  ..... ",
+"  X.   . X.       X.  ",
+"  .    . ....    .X   ",
+"  .   .  .     X.X    ",
+" o....  o.... X.....  "};
diff --git a/lang.portuguese/weekday.xpm b/lang.portuguese/weekday.xpm
new file mode 100644
index 0000000..a56a9fd
--- /dev/null
+++ b/lang.portuguese/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+"  .... .....  ..... ",
+" .     .     .      ",
+"  ...  ....  .  ... ",
+"     . .     .    . ",
+" ....  .....  ....  ",
+"                    ",
+" ..... ..... .....  ",
+"   .   .     .    . ",
+"   .   ...   .....  ",
+"   .   .     .   .  ",
+"   .   ..... .    . ",
+"                    ",
+"  ....  .  .   ..   ",
+" .    . .  .  .  .  ",
+" . .  . .  .  .  .  ",
+" .  ... .  . ...... ",
+"  .....  ..  .    . ",
+"                    ",
+"  ....  .   . ..... ",
+" .    . .   .   .   ",
+" . .  . .   .   .   ",
+" .  ... .   .   .   ",
+"  .....  ...  ..... ",
+"                    ",
+"  .... ..... .    . ",
+" .     .      .  .  ",
+"  ...  ....    ..   ",
+"     . .      .  .  ",
+" ....  ..... .    . ",
+"                    ",
+"  ....   ..   ....  ",
+" .      .  .  .   . ",
+"  ...   .  .  ....  ",
+"     . ...... .   . ",
+" ....  .    . ....  ",
+"                    ",
+" ....   ...   .   . ",
+" .   . .   .  .. .. ",
+" .   . .   .  . . . ",
+" .   . .   .  .   . ",
+" ....   ...   .   . "};
diff --git a/lang.russian/month.xpm b/lang.russian/month.xpm
new file mode 100644
index 0000000..644a72c
--- /dev/null
+++ b/lang.russian/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AEBAAAAAAEBA",
+"o	c #514455555144",
+"                      ",
+"    ....  .   .  ...  ",
+"   .   .  .   .  .  . ",
+"   ....  .....  ....  ",
+"  .   .  .   .  .   . ",
+" .   .  .   .  .....  ",
+"                      ",
+"    ...   ....   ...  ",
+"   . . .  .      .  . ",
+"  . . .  ...    ....  ",
+"   ...   .      .   . ",
+"   .    .....  .....  ",
+"                      ",
+"  .    .    .    .....",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .     ",
+".      . .   . .      ",
+"                      ",
+"    .    .....  ..... ",
+"    .X   .   .  .   . ",
+"   . .  .   .  .....  ",
+"  ....  .   .  .      ",
+" .   . .   .  .       ",
+"                      ",
+"  .    .    .    . . .",
+" X.   ..    .    .  . ",
+" .X. . .   . .  . ... ",
+"X.  .  .  ....  ..  . ",
+".      . .   . .   .  ",
+"                      ",
+"  .   .  .  ..   .   .",
+"  .  .   . .  .  .   .",
+" . ...  ...   . ..... ",
+" ..  .  . .  .  .   . ",
+".   .  .  ...  .   .  ",
+"                      ",
+"  .   .  .  ..    ... ",
+"  .  .   . .  .  .  . ",
+" . ...  ...   . .  .  ",
+" ..  .  . .  .  .  .  ",
+".   .  .  ...  .. .   ",
+"                      ",
+"    .    ...    ...   ",
+"    .X   .  .   .     ",
+"   . .  ....   .      ",
+"  ....  .   .  .      ",
+" .   . .....  .       ",
+"                      ",
+"   ...  .....  .   .  ",
+"  .  . X.      .   .  ",
+" ..    ....   .....   ",
+" .   . .      .   .   ",
+" ...X o....  .   .    ",
+"                      ",
+"   ...   . . .....    ",
+"  .   . . .   X.      ",
+"  .  .  ..    .X      ",
+" .  X. .  .  X.       ",
+" ....  .   . .        ",
+"                      ",
+"  .   .   ...    .... ",
+"  .   .  .   .  .   . ",
+" .....   .  .   ....  ",
+" .   .  .  X.  .   .  ",
+".   .   ....  .   .   ",
+"                      ",
+"     ...  ....  . .   ",
+"    .  . X.    . .    ",
+"   .  .  ....  ..     ",
+"   .  .  .    .  .    ",
+" o..... o.... .   .   "};
diff --git a/lang.russian/weekday.xpm b/lang.russian/weekday.xpm
new file mode 100644
index 0000000..89d8522
--- /dev/null
+++ b/lang.russian/weekday.xpm
@@ -0,0 +1,48 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 3 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #BEFBBEFBBEFB",
+"                    ",
+" .....  ....  .   . ",
+" .   . .X  X. .   . ",
+" .   . .    . ..... ",
+" .   . .X  X. .   . ",
+" .   .  ....  .   . ",
+"                    ",
+" ...   .....  ....  ",
+" .  .    .    .  X. ",
+" .....   .    ....  ",
+" .   .   .    .     ",
+" .....   .    .     ",
+"                    ",
+"  ...  ....    ...  ",
+" .X X. .  X.  .X .  ",
+" .     ....   .  .  ",
+" .X X. .      .  .  ",
+"  ...  .     ...... ",
+"                    ",
+" .   . .....  ...   ",
+" .   .   .    .  .  ",
+" .....   .    ....  ",
+"     .   .    .   . ",
+"     .   .    ..... ",
+"                    ",
+" .....  .....  .  . ",
+" .   .    .    .  . ",
+" .   .    .    .... ",
+" .   .    .    .  . ",
+" .   .    .    .  . ",
+"                    ",
+"  ...  .   .  ....  ",
+" .X X. .X X.  .     ",
+" .      ...   ....  ",
+" .X X.   .    .   . ",
+"  ...  ...    ..... ",
+"                    ",
+" ...    ....   ...  ",
+" .  .  .X  X. .X X. ",
+" ....  .    . .     ",
+" .   . .X  X. .X X. ",
+" .....  ....   ...  "};
diff --git a/lang.slovene/month.xpm b/lang.slovene/month.xpm
new file mode 100644
index 0000000..020a5ec
--- /dev/null
+++ b/lang.slovene/month.xpm
@@ -0,0 +1,81 @@
+/* XPM */
+static char *month_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    22    72        2            1",
+/* colors */
+". c #000000",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.bb....bb..bbb.b",
+"bbbbbb.b.bbbb.b.b.bb.b",
+"bbbbbb.b......b.bb.b.b",
+"b.bbbb.b.bbbb.b.bbb..b",
+"bb....bb.bbbb.b.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.....bb.....b.....bb",
+"b.bbbbbb.bbbbbb.bbbb.b",
+"b.....bb....bbb.....bb",
+"b.bbbbbb.bbbbbb.bbbb.b",
+"b.bbbbbbb.....b.....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"b.bbbb.bb....bb.....bb",
+"b..bb..b.bbbb.b.bbbb.b",
+"b.b..b.b......b.....bb",
+"b.bbbb.b.bbbb.b.bbbb.b",
+"b.bbbb.b.bbbb.b.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb....bb.....bb.....bb",
+"b.bbbb.b.bbbb.b.bbbb.b",
+"b......b.....bb.....bb",
+"b.bbbb.b.bbbbbb.bbbb.b",
+"b.bbbb.b.bbbbbb.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"b.bbbb.bb....bbbbbbb.b",
+"b..bb..b.bbbb.bbbbbb.b",
+"b.b..b.b......bbbbbb.b",
+"b.bbbb.b.bbbb.b.bbbb.b",
+"b.bbbb.b.bbbb.bb....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.b.bbbb.b..bbb.b",
+"bbbbbb.b.bbbb.b.b.bb.b",
+"bbbbbb.b.bbbb.b.bb.b.b",
+"b.bbbb.b.bbbb.b.bbb..b",
+"bb....bbb....bb.bbbb.b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bbbbbb.b.bbbb.b.bbbbbb",
+"bbbbbb.b.bbbb.b.bbbbbb",
+"bbbbbb.b.bbbb.b.bbbbbb",
+"b.bbbb.b.bbbb.b.bbbbbb",
+"bb....bbb....bbb.....b",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb....bb.bbbb.bb....bb",
+"b.bbbb.b.bbbb.b.bbbbbb",
+"b......b.bbbb.b.bb...b",
+"b.bbbb.bb.bb.bb.bbbb.b",
+"b.bbbb.bbb..bbbb....bb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb.....bb.....b.....bb",
+"b.bbbbbb.bbbbbb.bbbb.b",
+"bb....bb.....bb.....bb",
+"bbbbbb.b.bbbbbb.bbbbbb",
+"b.....bbb.....b.bbbbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"bb....bb.bbbb.b......b",
+"b.bbbb.b.bbb.bbbb.bbbb",
+"b.bbbb.b....bbbbb.bbbb",
+"b.bbbb.b.bbb.bbbb.bbbb",
+"bb....bb.bbbb.bbb.bbbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"b..bbb.bb....bb.bbbb.b",
+"b.b.bb.b.bbbb.b.bbbb.b",
+"b.bb.b.b.bbbb.b.bbbb.b",
+"b.bbb..b.bbbb.bb.bb.bb",
+"b.bbbb.bb....bbbb..bbb",
+"bbbbbbbbbbbbbbbbbbbbbb",
+"b.....bbb.....bb.....b",
+"b.bbbb.b.bbbbbb.bbbbbb",
+"b.bbbb.b.....bb.bbbbbb",
+"b.bbbb.b.bbbbbb.bbbbbb",
+"b.....bbb.....bb.....b"
+};
diff --git a/lang.slovene/weekday.xpm b/lang.slovene/weekday.xpm
new file mode 100644
index 0000000..8aefdbb
--- /dev/null
+++ b/lang.slovene/weekday.xpm
@@ -0,0 +1,51 @@
+/* XPM */
+static char *weekday_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    20    42        2            1",
+/* colors */
+". c #000000",
+"b c #ffffff",
+/* pixels */
+"bbbbbbbbbbbbbbbbbbbb",
+"bb....bbb...bb.bbb.b",
+"bb.bbb.b.bbb.b..bb.b",
+"bb....bb.bbb.b.b.b.b",
+"bb.bbbbb.bbb.b.bb..b",
+"bb.bbbbbb...bb.bbb.b",
+"bbbbbbbbbbbbbbbbbbbb",
+"bb.....bb...bb....bb",
+"bbbb.bbb.bbb.b.bbb.b",
+"bbbb.bbb.bbb.b....bb",
+"bbbb.bbb.bbb.b.bbb.b",
+"bbbb.bbbb...bb.bbb.b",
+"bbbbbbbbbbbbbbbbbbbb",
+"bbb....b....bbb....b",
+"bb.bbbbb.bbb.b.bbbbb",
+"bbb...bb....bb....bb",
+"bbbbbb.b.bbb.b.bbbbb",
+"bb....bb.bbb.bb....b",
+"bbbbbbbbbbbbbbbbbbbb",
+"bbbb..bbb....b.....b",
+"bbb....b.bbbbbbb.bbb",
+"bb.bbbbb....bbbb.bbb",
+"bb.bbbbb.bbbbbbb.bbb",
+"bbb....bb....bbb.bbb",
+"bbbbbbbbbbbbbbbbbbbb",
+"bb....bbb....b.....b",
+"bb.bbb.b.bbbbbbb.bbb",
+"bb....bb....bbbb.bbb",
+"bb.bbbbb.bbbbbbb.bbb",
+"bb.bbbbbb....bbb.bbb",
+"bbbbbbbbbbbbbbbbbbbb",
+"bbb....bb...bb....bb",
+"bb.bbbbb.bbb.b.bbb.b",
+"bbb...bb.bbb.b....bb",
+"bbbbbb.b.bbb.b.bbb.b",
+"bb....bbb...bb....bb",
+"bbbbbbbbbbbbbbbbbbbb",
+"bb.bbb.bb....b....bb",
+"bb..bb.b.bbbbb.bbb.b",
+"bb.b.b.b....bb.bbb.b",
+"bb.bb..b.bbbbb.bbb.b",
+"bb.bbb.bb....b....bb"
+};
diff --git a/lang.spanish/month.xpm b/lang.spanish/month.xpm
new file mode 100644
index 0000000..6a6741a
--- /dev/null
+++ b/lang.spanish/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AEBAAAAAAEBA",
+"o	c #514455555144",
+"                      ",
+"  .....  .    .  .....",
+" X.     X..  X. X.    ",
+" .....  .X . .X ..... ",
+" .     X.   ..  .     ",
+"o....  .     . o....  ",
+"                      ",
+"  o.....  .....  ....o",
+"  .      X.     X.   .",
+" X.....  .....  ..... ",
+" .       .      .   . ",
+".       o....  o....  ",
+"                      ",
+"  .    .    .   ....o ",
+"  .   ..    .X X.   . ",
+" . . . .   . . ...... ",
+" .  .  .  .... .   .  ",
+".      . .   .o    .  ",
+"                      ",
+"    .    ....o  ....o ",
+"    .X  X.   . X.   . ",
+"   . .  .....  ...... ",
+"  ....  .   .  .   .  ",
+" .   . o....  .    .  ",
+"                      ",
+"   .    .    .  .   . ",
+"  X.   ..    .   . .  ",
+"  .X. . .   . .  X.   ",
+" X.  .  .  ....  .    ",
+" .      . .   .  .    ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   X....   ...   ",
+"    .X  .      .   .  ",
+"   . . X. ...  .  .   ",
+"  .... .X  .  .  X.   ",
+" .   .  ...   ....    ",
+"                      ",
+" X....  .....  o...o  ",
+" .     X.     X.   .  ",
+" X..X  ....   .....   ",
+"    .  .     X.       ",
+"....X o....  .        ",
+"                      ",
+"   ...   ... .....    ",
+"  .   . .     X.      ",
+"  .  .  .     .X      ",
+" .  X. .     X.       ",
+" ....  ....  .        ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...     .   ...   ",
+"  X.   .   ..  .      ",
+"  .    .  ..   .      ",
+"  .   .  ..   .       ",
+" o....   .    .....   "};
diff --git a/lang.spanish/weekday.xpm b/lang.spanish/weekday.xpm
new file mode 100644
index 0000000..cfe4057
--- /dev/null
+++ b/lang.spanish/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+" .     .   . .   .  ",
+" .     .   . ..  .  ",
+" .     .   . . . .  ",
+" .     .   . .  ..  ",
+" .....  ...  .   .  ",
+"                    ",
+" .   .   ..   ....  ",
+" .. ..  .  .  .   . ",
+" . . .  .  .  ....  ",
+" .   . ...... .  .  ",
+" .   . .    . .   . ",
+"                    ",
+" .   . ..... .....  ",
+" .. ..   .   .      ",
+" . . .   .   ....   ",
+" .   .   .   .      ",
+" .   . ..... .....  ",
+"                    ",
+"     . .   . .....  ",
+"     . .   . .      ",
+"     . .   . ....   ",
+" .   . .   . .      ",
+"  ...   ...  .....  ",
+"                    ",
+" .    . ..... ..... ",
+"  .  .    .   .     ",
+"  .  .    .   ....  ",
+"   ..     .   .     ",
+"   ..   ..... ..... ",
+"                    ",
+"  ....   ..   ....  ",
+" .      .  .  .   . ",
+"  ...   .  .  ....  ",
+"     . ...... .   . ",
+" ....  .    . ....  ",
+"                    ",
+" ....   ...   .   . ",
+" .   . .   .  .. .. ",
+" .   . .   .  . . . ",
+" .   . .   .  .   . ",
+" ....   ...   .   . "};
diff --git a/lang.swedish/month.xpm b/lang.swedish/month.xpm
new file mode 100644
index 0000000..606bdf5
--- /dev/null
+++ b/lang.swedish/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AAAAAAAAAAAA",
+"o	c #555555555555",
+"                      ",
+"     .   .    .    .  ",
+"    X.   .   X..  X.  ",
+"    .X  . .  .X . .X  ",
+" .  .  .... X.   ..   ",
+"  ..  .   . .     .   ",
+"                      ",
+"  o.....  .....  ....o",
+"  .      X.     X.   .",
+" X.....  .....  ..... ",
+" .       .      .   . ",
+".       o....  o....  ",
+"                      ",
+"  .    .    .    .....",
+"  .   ..    .X   .   .",
+" . . . .   . .  ..... ",
+" .  .  .  ....  .   . ",
+".      . .   . .    . ",
+"                      ",
+"    .    .....  ..... ",
+"    .X  X.   .  .   . ",
+"   . .  .....  .....  ",
+"  ....  .      .   .  ",
+" .   . .      .    .  ",
+"                      ",
+"   .    .    .      . ",
+"  X.   ..    .X    X. ",
+"  .X. . .   . .    .X ",
+" X.  .  .  .... .  .  ",
+" .      . .   .  ..   ",
+"                      ",
+"     .  .  X.  .    . ",
+"    X. X.  .  X..  X. ",
+"    .X .X X.  .  . .X ",
+" .  .  .  .X X.   ..  ",
+"  ..   o...  .     .  ",
+"                      ",
+"      .  .  X.  .     ",
+"     X. X.  .  X.     ",
+"     .X .X X.  .X     ",
+"  .  .  .  .   .      ",
+"   ..   o..   o....   ",
+"                      ",
+"    .   .  X. X....   ",
+"    .X X.  .  .       ",
+"   . . .X X. X. ...   ",
+"  .... .  .X .X  .    ",
+" .   . o..    ...     ",
+"                      ",
+" X....  .....  o...o  ",
+" .     X.     X.   .  ",
+" X..X  ....   .....   ",
+"    .  .     X.       ",
+"....X o....  .        ",
+"                      ",
+"   ...  .  . .....    ",
+"  .   . . .X  X.      ",
+"  .  .  ..    .X      ",
+" .  X. .X .  X.       ",
+" ....  .X .  .        ",
+"                      ",
+"  .    .  X...  .   . ",
+" X..  X.  .   . .X .X ",
+" .  . .X X.  .X X. .  ",
+"X.   ..  .   .   ..   ",
+".     .  ....    .    ",
+"                      ",
+"   o...   ....  ...   ",
+"  X.   . X.    .      ",
+"  .    . ....  .      ",
+"  .   .  .    .       ",
+" o....  o.... .....   "};
diff --git a/lang.swedish/weekday.xpm b/lang.swedish/weekday.xpm
new file mode 100644
index 0000000..9563ed2
--- /dev/null
+++ b/lang.swedish/weekday.xpm
@@ -0,0 +1,47 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 2 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"                    ",
+" .   .   ..   .   . ",
+" .. ..   ..   ..  . ",
+" . . .  .  .  . . . ",
+" .   . ...... .  .. ",
+" .   . .    . .   . ",
+"                    ",
+" ..... .....  ..... ",
+"   .     .   .      ",
+"   .     .    ....  ",
+"   .     .        . ",
+"   .   ..... .....  ",
+"                    ",
+"  ....  .   .  .... ",
+" .    . ..  . .     ",
+" .    . . . .  ...  ",
+" .    . .  ..     . ",
+"  ....  .   . ....  ",
+"                    ",
+" .....  ...  .....  ",
+"   .   .   . .    . ",
+"   .   .   . .....  ",
+"   .   .   . .   .  ",
+"   .    ...  .    . ",
+"                    ",
+" ..... .....  ..... ",
+" .     .    . .     ",
+" ....  .....  ...   ",
+" .     .   .  .     ",
+" .     .    . ..... ",
+"                    ",
+" .    ..  .. .....  ",
+" .     ....  .    . ",
+" .    .    . .....  ",
+" .    .    . .   .  ",
+" ....  ....  .    . ",
+"                    ",
+"  .... ..  .. .   . ",
+" .      ....  ..  . ",
+"  ...  .    . . . . ",
+"     . .    . .  .. ",
+" ....   ....  .   . "};
diff --git a/lang.ukrainian/month.xpm b/lang.ukrainian/month.xpm
new file mode 100644
index 0000000..3d7a0db
--- /dev/null
+++ b/lang.ukrainian/month.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * month_xpm[] = {
+"22 72 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #AAAAAAAAAAAA",
+"o	c #555555555555",
+"                      ",
+"    ...   .   .   .   ",
+"  X.     X.  X.  X.   ",
+"  .      .    .. .    ",
+"  .      .       .    ",
+"  ..    o       o     ",
+"                      ",
+"     .    .  ..X .... ",
+"    X.X  X. .  .  X.  ",
+"   X. .  ...  .   .   ",
+"  X.  .  . .  .   .   ",
+"  .   . .  X..   o    ",
+"                      ",
+"    ....   ....  .....",
+"   X.     X.    X.   .",
+"   .....  ....  .....X",
+"   .   .  .     .     ",
+"  o....  o...  .      ",
+"                      ",
+"    .  .o  ....   .   ",
+"   X. .   X.   . X.   ",
+"   ...    .....  .    ",
+"   ..o    .   .  .    ",
+"  o  .o  o....  o     ",
+"                      ",
+"  .....   .....   .   ",
+"   X.    X.   .   .   ",
+"   .     .....X  . .  ",
+"   .     .      ....  ",
+"  o     .      .   .  ",
+"                      ",
+"  .   .   ....  ..... ",
+"  .  X.  X.    X.   . ",
+"   ...   ....  .....X ",
+"     .   .     .      ",
+"    o   o...  .       ",
+"                      ",
+"     .    .   .  .... ",
+"    X.X   .  .. X. X. ",
+"   X. .  . X..  .  .  ",
+"  X.  .  ..  .  .  .  ",
+"  .   . .   .  o  o   ",
+"                      ",
+"  o...o  .....  ..... ",
+"  .     X.     X.   . ",
+"  .     ....   .....X ",
+" .      .      .      ",
+" o...o o....  .       ",
+"                      ",
+"  ....   .....  ..... ",
+" X.   . X.     X.   . ",
+" .....  ....   .....X ",
+" .   .  .      .      ",
+"o....   ....  .       ",
+"                      ",
+" .  . .   ...   ....  ",
+" o.X. .  .   . X.   . ",
+"  ....o  .  .  .....  ",
+"o. . .  .  X.  .   .  ",
+". o  o. ....  o....   ",
+"                      ",
+"     .    .   . o...o ",
+"    X.X   .  .. .     ",
+"   X. .  . X..  .     ",
+"  X.  .  ..  . .      ",
+"  .   . .   .  o...o  ",
+"                      ",
+"    ....  .....  .  . ",
+"   X.    X.   .  . X. ",
+"   .     .....X o...  ",
+"   .     .         .  ",
+"  o     .       ...o  "};
diff --git a/lang.ukrainian/weekday.xpm b/lang.ukrainian/weekday.xpm
new file mode 100644
index 0000000..d6daf68
--- /dev/null
+++ b/lang.ukrainian/weekday.xpm
@@ -0,0 +1,49 @@
+/* XPM */
+static char * weekday_xpm[] = {
+"20 42 4 1",
+" 	c #FFFFFFFFFFFF",
+".	c #000000000000",
+"X	c #00000000FFFF",
+"o	c #FFFF00000000",
+"                    ",
+".....  ...  .   .   ",
+".   . .   . .   .   ",
+".   . .   . .....   ",
+".   . .   . .   .   ",
+".   .  ...  .   . . ",
+"                    ",
+"....   ...  ....    ",
+".   .   .   .   .   ",
+"....    .   ....    ",
+".   .   .   .   .   ",
+"....   ...  ....  . ",
+"                    ",
+" ...  ..... ....    ",
+".   . .     .   .   ",
+".     ....  ....    ",
+".   . .     .       ",
+" ...  ..... .     . ",
+"                    ",
+".   . ..... .....   ",
+".   . .       .     ",
+" .... ....    .     ",
+"    . .       .     ",
+"    . .....   .   . ",
+"                    ",
+"..... .  ... .....  ",
+".   . . .  .   .    ",
+".   .    ...   .    ",
+".   .    . .   .    ",
+".   .   .  .   .   .",
+"                    ",
+" XXX  X   X XXXX    ",
+"X   X X   X X       ",
+"X      XXXX XXXX    ",
+"X   X     X X   X   ",
+" XXX   XXX  XXXX  X ",
+"                    ",
+"o   o ooooo   oo    ",
+"o   o o      o o    ",
+"ooooo oooo   o o    ",
+"o   o o     ooooo   ",
+"o   o ooooo o   o o "};
diff --git a/month.xpm b/month.xpm
new file mode 120000
index 0000000..9d65086
--- /dev/null
+++ b/month.xpm
@@ -0,0 +1 @@
+./lang.english/month.xpm
\ No newline at end of file
diff --git a/weekday.xpm b/weekday.xpm
new file mode 120000
index 0000000..f7e9add
--- /dev/null
+++ b/weekday.xpm
@@ -0,0 +1 @@
+./lang.english/weekday.xpm
\ No newline at end of file
diff --git a/wmclock.c b/wmclock.c
new file mode 100644
index 0000000..9dfd287
--- /dev/null
+++ b/wmclock.c
@@ -0,0 +1,1093 @@
+/* wmclock.c: a dockable clock applet for Window Maker
+ * created 1999-Apr-09 jmk
+ * 
+ * by Jim Knoble <jmknoble at pobox.com>
+ * Copyright (C) 1999 Jim Knoble
+ * 
+ * Significant portions of this software are derived from asclock by
+ * Beat Christen <spiff at longstreet.ch>.  Such portions are copyright
+ * by Beat Christen and the other authors of asclock.
+ * 
+ * Disclaimer:
+ * 
+ * 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(s) 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 <sys/select.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <X11/Xatom.h>
+#include <X11/Xlib.h>
+#include <X11/xpm.h>
+#include <X11/extensions/shape.h>
+
+#include "dynlist.h"
+
+/**********************************************************************/
+#define ONLY_SHAPED_WINDOW	1
+
+#define NUM_TIME_POSITIONS	5
+#define NUM_X_POSITIONS		11
+#define NUM_Y_POSITIONS		4
+
+#define DIGIT_1_X_POS		0
+#define DIGIT_2_X_POS		1
+#define DIGIT_3_X_POS		3
+#define DIGIT_4_X_POS		4
+#define DIGIT_Y_POS		0
+#define LED_NUM_Y_OFFSET	0
+#define LED_THIN_1_X_OFFSET	13
+#define LED_NUM_WIDTH		9
+#define LED_NUM_HEIGHT		11
+#define LED_THIN_1_WIDTH	5
+
+#define COLON_X_POS		2
+#define COLON_Y_POS		DIGIT_Y_POS
+#define COLON_X_OFFSET		90
+#define COLON_Y_OFFSET		0
+#define BLANK_X_OFFSET		119
+#define BLANK_Y_OFFSET		COLON_Y_OFFSET
+#define COLON_WIDTH		3
+#define COLON_HEIGHT		11
+
+#define AMPM_X_POS		5
+#define AM_X_OFFSET		94
+#define AM_Y_OFFSET		5
+#define PM_X_OFFSET		107
+#define PM_Y_OFFSET		5
+#define AM_WIDTH		12
+#define AM_HEIGHT		6
+#define PM_WIDTH		11
+#define PM_HEIGHT		6
+
+#define MONTH_X_POS		10
+#define MONTH_Y_POS		3
+#define MONTH_X_OFFSET		0
+#define MONTH_WIDTH		22
+#define MONTH_HEIGHT		6
+
+#define DATE_LEFT_X_POS		7
+#define DATE_CENTER_X_POS	8
+#define DATE_RIGHT_X_POS	9
+#define DATE_Y_POS		2
+#define DATE_Y_OFFSET		0
+#define DATE_NUM_WIDTH		9
+#define DATE_NUM_HEIGHT		13
+
+#define WEEKDAY_X_POS		6
+#define WEEKDAY_Y_POS		1
+#define WEEKDAY_X_OFFSET	0
+#define WEEKDAY_WIDTH		21
+#define WEEKDAY_HEIGHT		6
+
+#define OUR_WINDOW_EVENTS	(ExposureMask | ButtonPressMask | StructureNotifyMask)
+
+#define LED_XPM_BRIGHT_LINE_INDEX	3
+#define LED_XPM_BRIGHT_CHAR		'+'
+#define LED_XPM_DIM_LINE_INDEX		4
+#define LED_XPM_DIM_CHAR		'@'
+
+#define DEFAULT_XPM_CLOSENESS	40000
+
+#define DIM_NUMERATOR	5
+#define DIM_DENOMINATOR	10
+#define makeDimColor(c)	(((c) * DIM_NUMERATOR) / DIM_DENOMINATOR)
+
+/**********************************************************************/
+#ifndef ONLY_SHAPED_WINDOW
+# include "clk.xpm"
+#endif /* !ONLY_SHAPED_WINDOW */
+#include "month.xpm"
+#include "weekday.xpm"
+#include "xpm/date.xpm"
+#include "xpm/led.xpm"
+#include "xpm/mask.xbm"
+#include "xpm/mask.xpm"
+
+typedef struct _XpmIcon {
+    Pixmap        pixmap;
+    Pixmap        mask;
+    XpmAttributes attributes;
+} XpmIcon;
+
+void showUsage(void);
+void showVersion(void);
+int buildCommand(char *, char **, int *, int *);
+void executeCommand(char *);
+void showError(const char *, const char*);
+void showFatalError(const char *, const char*);
+void GetXpms(void);
+int flushExposeEvents(Window);
+void redrawWindow(XpmIcon *);
+Pixel GetColor(const char *);
+int mytime(void);
+void showYear(void);
+void showTime12(void);
+void showTime24(void);
+void showTime(void);
+char* extractProgName(char *);
+int processArgs(int, char **);
+
+/**********************************************************************/
+int enable12HourClock = 0;	/* default value is 24h format */
+int enableShapedWindow = 1;	/* default value is noshape */
+int enableBlinking = 1;		/* default is blinking */
+int startIconified = 0;		/* default is not iconified */
+int enableYearDisplay = 0;	/* default is to show time, not year */
+
+int timePos12[NUM_TIME_POSITIONS]  = { 5, 14, 24, 28, 37 };
+int timePos24[NUM_TIME_POSITIONS]  = { 4,  8, 17, 22, 31 };
+/* with shape */
+int xPosShaped[NUM_X_POSITIONS] = { 0, 0, 0, 0, 0, 40, 17, 17, 22, 27, 15 };
+int yPosShaped[NUM_Y_POSITIONS] = { 3, 21, 30, 45 };
+
+#ifndef ONLY_SHAPED_WINDOW
+/* no shape */
+int xPosUnshaped[NUM_X_POSITIONS] = { 5, 5, 5, 5, 5, 45, 21, 21, 26, 31, 19 };
+int yPosUnshaped[NUM_Y_POSITIONS] = { 7, 25, 34, 49 };
+#endif /* !ONLY_SHAPED_WINDOW */
+
+int xPos[NUM_X_POSITIONS];
+int yPos[NUM_Y_POSITIONS];
+
+Display    *dpy;
+Window     rootWindow;
+int        screen;
+int        xFd;
+fd_set     xFdSet;
+int        displayDepth;
+XSizeHints sizeHints;
+XWMHints   wmHints;
+Pixel      bgPixel, fgPixel;
+GC         normalGC;
+Window     iconWin, win;
+
+char *progName;
+char *className = "WMClock";
+char *geometry = "";
+char *ledColor = "LightSeaGreen";
+
+char *commandToExec = NULL;
+char *commandBuf = NULL;
+int   commandLength = 0;
+int   commandIndex = 0;
+
+char *errColorCells = "not enough free color cells or xpm not found\n";
+
+char *userClockXpm;
+char *userMonthXpm;
+char *userWeekdayXpm;
+int   useUserClockXpm = 0;
+int   useUserMonthXpm = 0;
+int   useUserWeekdayXpm = 0;
+
+XpmIcon clockBg, led, months, dateNums, weekdays;
+XpmIcon visible;
+
+time_t actualTime;
+long   actualMinutes;
+
+static struct tm *localTime;
+
+char *usageText[] = {
+"Options:",
+"    -12                     show 12-hour time (am/pm)",
+"    -24                     show 24-hour time",
+"    -year                   show year instead of time",
+"    -noblink                don't blink",
+"    -exe <command>          start <command> on mouse click",
+"    -led <color>            use <color> as color of led",
+#ifndef ONLY_SHAPED_WINDOW
+"    -clockxpm <filename>    get clock background from pixmap in <filename>",
+#endif /* !ONLY_SHAPED_WINDOW */
+"    -monthxpm <filename>    get month names from pixmap in <filename>",
+"    -weekdayxpm <filename>  get weekday names from pixmap in <filename>",
+"    -version                display the version",
+NULL
+};
+
+char *version = VERSION;
+
+/**********************************************************************/
+/* Display usage information */
+void showUsage(void)
+{
+   char **cpp;
+   
+   fprintf(stderr, "Usage:  %s [option [option ...]]\n\n", progName);
+   for (cpp = usageText; *cpp; cpp++)
+    {
+       fprintf(stderr, "%s\n", *cpp);
+    }
+   fprintf(stderr,"\n");
+   exit(1);
+}
+
+/* Display the program version */
+void showVersion()
+{
+   fprintf(stderr, "%s version %s\n", progName, version);
+   exit(1);
+}
+
+/* Build the shell command to execute */
+int buildCommand(char *command, char **buf, int *buf_len, int *i)
+{
+   int status;
+   
+   status = append_string_to_buf(buf, buf_len, i, command);
+   if (APPEND_FAILURE == status)
+    {
+       return (0);
+    }
+   status = append_string_to_buf(buf, buf_len, i, " &");
+   return ((APPEND_FAILURE == status) ? 0 : 1);
+}
+
+/* Execute the given shell command */
+void executeCommand(char *command)
+{
+   int status;
+
+   if (NULL == command)
+    {
+       return;
+    }
+   status = system(command);
+
+   if (-1 == status)
+    {
+       perror("system");
+    }
+}
+
+/* Display an error message */
+void showError(const char *message, const char *data)
+{
+   fprintf(stderr,"%s: can't %s %s\n", progName, message, data);
+}
+
+/* Display an error message and exit */
+void showFatalError(const char *message, const char *data)
+{
+   showError(message, data);
+   exit(1);
+}
+
+/* Konvertiere XPMIcons nach Pixmaps */
+void GetXpms(void)
+{
+   static char     **clock_xpm;
+   XColor            color;
+   XWindowAttributes attributes;
+   char              ledBright[64];
+   char              ledDim[64];
+   int               status;
+   
+#ifdef ONLY_SHAPED_WINDOW
+   clock_xpm = mask_xpm;
+#else /* !ONLY_SHAPED_WINDOW */
+   clock_xpm = enableShapedWindow ? mask_xpm : clk_xpm;
+#endif /* ONLY_SHAPED_WINDOW */
+   
+   /* for the colormap */
+   XGetWindowAttributes(dpy, rootWindow, &attributes);
+   
+   /* get user-defined color */
+   if (!XParseColor(dpy, attributes.colormap, ledColor, &color)) 
+    {
+       showError("parse color", ledColor);
+    }
+   
+   sprintf(ledBright, "%c      c #%04X%04X%04X", LED_XPM_BRIGHT_CHAR,
+	   color.red, color.green, color.blue);
+   led_xpm[LED_XPM_BRIGHT_LINE_INDEX] = &ledBright[0];
+   
+   color.red   = makeDimColor(color.red);
+   color.green = makeDimColor(color.green);
+   color.blue  = makeDimColor(color.blue);
+   sprintf(&ledDim[0], "%c      c #%04X%04X%04X", LED_XPM_DIM_CHAR,
+	   color.red, color.green, color.blue);
+   led_xpm[LED_XPM_DIM_LINE_INDEX] = &ledDim[0];
+
+   clockBg.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   clockBg.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   
+   if (useUserClockXpm)
+    {
+       status = XpmReadFileToPixmap(dpy, rootWindow, userClockXpm,
+				    &clockBg.pixmap, &clockBg.mask,
+				    &clockBg.attributes);
+    }
+   else
+    {
+       status = XpmCreatePixmapFromData(dpy, rootWindow, clock_xpm,
+					&clockBg.pixmap, &clockBg.mask,
+					&clockBg.attributes);
+    }
+   if (XpmSuccess != status)
+    {
+       showFatalError("create clock pixmap:", errColorCells);
+    }
+
+#ifdef ONLY_SHAPED_WINDOW
+   visible.attributes.depth  = displayDepth;
+   visible.attributes.width  = clockBg.attributes.width;
+   visible.attributes.height = clockBg.attributes.height;
+   visible.pixmap = XCreatePixmap(dpy, rootWindow, visible.attributes.width,
+				  visible.attributes.height,
+				  visible.attributes.depth);
+#else /* !ONLY_SHAPED_WINDOW */
+   visible.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   visible.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   status = XpmCreatePixmapFromData(dpy, rootWindow, clk_xpm,
+				    &visible.pixmap, &visible.mask,
+				    &visible.attributes);
+#endif /* ONLY_SHAPED_WINDOW */
+
+   led.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   led.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   status = XpmCreatePixmapFromData(dpy, rootWindow, led_xpm,
+				    &led.pixmap, &led.mask,
+				    &led.attributes);
+   if (XpmSuccess != status)
+    {
+       showFatalError("create led pixmap:", errColorCells);
+    }
+
+   months.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   months.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   if (useUserMonthXpm)
+    {
+       status = XpmReadFileToPixmap(dpy, rootWindow, userMonthXpm,
+				    &months.pixmap, &months.mask,
+				    &months.attributes);
+    }
+   else 
+    {
+       status = XpmCreatePixmapFromData(dpy, rootWindow, month_xpm,
+					&months.pixmap, &months.mask,
+					&months.attributes);
+    }
+   if (XpmSuccess != status)
+    {
+       showFatalError("create month pixmap:", errColorCells);
+    }
+
+   dateNums.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   dateNums.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   status = XpmCreatePixmapFromData(dpy, rootWindow, date_xpm,
+				    &dateNums.pixmap, &dateNums.mask,
+				    &dateNums.attributes);
+   if (XpmSuccess != status)
+    {
+       showFatalError("create date pixmap:", errColorCells);
+    }
+
+   weekdays.attributes.closeness = DEFAULT_XPM_CLOSENESS;
+   weekdays.attributes.valuemask |=
+      (XpmReturnPixels | XpmReturnExtensions | XpmCloseness);
+   if (useUserWeekdayXpm) 
+    {
+       status = XpmReadFileToPixmap(dpy, rootWindow, userWeekdayXpm,
+				    &weekdays.pixmap, &weekdays.mask,
+				    &weekdays.attributes);
+    }
+   else
+    {
+       status = XpmCreatePixmapFromData(dpy, rootWindow, weekday_xpm,
+					&weekdays.pixmap, &weekdays.mask,
+					&weekdays.attributes);
+    }
+   if (XpmSuccess != status)
+    {
+       showFatalError("create weekday pixmap:", errColorCells);
+    }
+}
+
+/* Remove expose events for a specific window from the queue */
+int flushExposeEvents(Window w)
+{
+   XEvent dummy;
+   int    i = 0;
+   
+   while (XCheckTypedWindowEvent(dpy, w, Expose, &dummy))
+    {
+       i++;
+    }
+   return(i);
+}
+
+/* (Re-)Draw the main window and the icon window */
+void redrawWindow(XpmIcon *v)
+{
+   flushExposeEvents(iconWin);
+   XCopyArea(dpy, v->pixmap, iconWin, normalGC,
+	     0, 0, v->attributes.width, v->attributes.height, 0, 0);
+   flushExposeEvents(win);
+   XCopyArea(dpy, v->pixmap, win, normalGC,
+	     0, 0, v->attributes.width, v->attributes.height, 0, 0);
+}
+
+/* Get a Pixel for the given color name */
+Pixel GetColor(const char *colorName)
+{
+   XColor            color;
+   XWindowAttributes attributes;
+   
+   XGetWindowAttributes(dpy, rootWindow, &attributes);
+   color.pixel = 0;
+   if (!XParseColor(dpy, attributes.colormap, colorName, &color)) 
+    {
+       showError("parse color", colorName);
+    }
+   else if (!XAllocColor(dpy, attributes.colormap, &color)) 
+    {
+       showError("allocate color", colorName);
+    }
+   return(color.pixel);
+}
+
+/* Fetch the system time and time zone */
+int mytime(void)
+{
+   struct timeval  tv;
+   struct timezone tz;
+   
+   gettimeofday(&tv, &tz);
+   
+   return(tv.tv_sec);
+}
+
+/* Display the current year in the LED display */
+void showYear(void)
+{
+   int year;
+   int digitXOffset;
+   int digitYOffset;
+   
+   year = localTime->tm_year + 1900;
+   
+   digitYOffset = LED_NUM_Y_OFFSET;
+   digitXOffset = LED_NUM_WIDTH * (year / 1000);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset , digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_1_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * ((year % 100) % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset , digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_2_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * ((year / 10) % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset , digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_3_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (year % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset , digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_4_X_POS], yPos[DIGIT_Y_POS]);
+}
+
+/* Display time in twelve-hour mode, with am/pm indicator */
+void showTime12(void)
+{
+   int digitXOffset;
+   int digitYOffset;
+   int localHour = localTime->tm_hour % 12;
+   
+   if (0 == localHour)
+    {
+       localHour = 12;
+    }
+   if (localTime->tm_hour < 12)
+    {
+       /* AM */
+       XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+		 AM_X_OFFSET, AM_Y_OFFSET, AM_WIDTH, AM_HEIGHT,
+		 xPos[AMPM_X_POS], yPos[DIGIT_Y_POS] + AM_Y_OFFSET);
+    }
+   else
+    {
+       /* PM */
+       XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+		 PM_X_OFFSET, PM_Y_OFFSET, PM_WIDTH, PM_HEIGHT,
+		 xPos[AMPM_X_POS], yPos[DIGIT_Y_POS] + PM_Y_OFFSET);
+    }
+   
+   digitYOffset = LED_NUM_Y_OFFSET;
+   if (localHour > 9)
+    {
+       digitXOffset = LED_THIN_1_X_OFFSET;
+       XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+		 digitXOffset, digitYOffset, LED_THIN_1_WIDTH, LED_NUM_HEIGHT,
+		 xPos[DIGIT_1_X_POS], yPos[DIGIT_Y_POS]);
+    }
+   digitXOffset = LED_NUM_WIDTH * (localHour % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_2_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_min / 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_3_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_min % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_4_X_POS], yPos[DIGIT_Y_POS]);
+}
+
+/* Display time in 24-hour mode, without am/pm indicator */
+void showTime24(void)
+{
+   int digitXOffset;
+   int digitYOffset;
+   
+   digitYOffset = LED_NUM_Y_OFFSET;
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_hour / 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_1_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_hour % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_2_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_min / 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_3_X_POS], yPos[DIGIT_Y_POS]);
+   digitXOffset = LED_NUM_WIDTH * (localTime->tm_min % 10);
+   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+	     digitXOffset, digitYOffset, LED_NUM_WIDTH, LED_NUM_HEIGHT,
+	     xPos[DIGIT_4_X_POS], yPos[DIGIT_Y_POS]);
+}
+
+void showTime(void)
+{
+   int xOffset;
+   int yOffset;
+   
+   /* Zeit auslesen */
+   actualTime = mytime();
+   actualMinutes = actualTime / 60;
+   
+   localTime = localtime(&actualTime);
+   
+   /* leere clock holen */
+   XCopyArea(dpy, clockBg.pixmap, visible.pixmap, normalGC,
+	     0, 0, sizeHints.width, sizeHints.height, 0, 0);
+   
+   if (enableYearDisplay)
+    {
+       showYear();
+    }
+   else if (enable12HourClock)
+    {
+       showTime12();
+    }
+   else
+    {
+       showTime24();
+    }
+   
+   /* Monat */
+   xOffset = MONTH_X_OFFSET;
+   yOffset = MONTH_HEIGHT * (localTime->tm_mon);
+   XCopyArea(dpy, months.pixmap, visible.pixmap, normalGC,
+	     xOffset, yOffset, MONTH_WIDTH, MONTH_HEIGHT,
+	     xPos[MONTH_X_POS], yPos[MONTH_Y_POS]);
+   
+   /* Datum */
+   yOffset = DATE_Y_OFFSET;
+   if (localTime->tm_mday > 9)
+    {
+       xOffset = DATE_NUM_WIDTH * (((localTime->tm_mday / 10) + 9) % 10);
+       XCopyArea(dpy, dateNums.pixmap, visible.pixmap, normalGC,
+		 xOffset, yOffset, DATE_NUM_WIDTH, DATE_NUM_HEIGHT,
+		 xPos[DATE_LEFT_X_POS], yPos[DATE_Y_POS]);
+       xOffset = DATE_NUM_WIDTH * (((localTime->tm_mday % 10) + 9) % 10);
+       XCopyArea(dpy, dateNums.pixmap, visible.pixmap, normalGC,
+		 xOffset, yOffset, DATE_NUM_WIDTH, DATE_NUM_HEIGHT,
+		 xPos[DATE_RIGHT_X_POS], yPos[DATE_Y_POS]);
+    }
+   else
+    {
+       xOffset = DATE_NUM_WIDTH * (localTime->tm_mday - 1);
+       XCopyArea(dpy, dateNums.pixmap, visible.pixmap, normalGC,
+		 xOffset, yOffset, DATE_NUM_WIDTH, DATE_NUM_HEIGHT,
+		 xPos[DATE_CENTER_X_POS], yPos[DATE_Y_POS]);
+    }
+   
+   /* Wochentag */
+   xOffset = WEEKDAY_X_OFFSET;
+   yOffset = WEEKDAY_HEIGHT * ((localTime->tm_wday + 6) % 7);
+   XCopyArea(dpy, weekdays.pixmap, visible.pixmap, normalGC,
+	     xOffset, yOffset, WEEKDAY_WIDTH, WEEKDAY_HEIGHT,
+	     xPos[WEEKDAY_X_POS], yPos[WEEKDAY_Y_POS]); 
+   
+   if ((!enableBlinking) && (!enableYearDisplay))
+    {
+       /* Sekunden Doppelpunkt ein */
+       xOffset = COLON_X_OFFSET;
+       yOffset = COLON_Y_OFFSET;
+       XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+		 xOffset, yOffset, COLON_WIDTH, COLON_HEIGHT,
+		 xPos[COLON_X_POS], yPos[COLON_Y_POS]);
+    }
+}
+
+/* Extract program name from the zeroth program argument */
+char *extractProgName(char *argv0)
+{
+   char *prog_name = NULL;
+   
+   if (NULL != argv0)
+    {
+       prog_name = strrchr(argv0, '/');
+       if (NULL == prog_name)
+	{
+	   prog_name = argv0;
+	}
+       else
+	{
+	   prog_name++;
+	}
+    }
+   return (prog_name);
+}
+
+/* Process program arguments and set corresponding options */
+int processArgs(int argc, char **argv)
+{
+   int i;
+   
+   for (i = 1; i < argc; i++)
+    {
+       if (0 == strcmp(argv[i], "--"))
+	{
+	   break;
+	}
+       else if ((0 == strcmp(argv[i], "-12")) ||
+		(0 == strcmp(argv[i], "-1")) ||
+		(0 == strcmp(argv[i], "--12")))
+	{
+	   enable12HourClock = 1;
+	}
+       else if ((0 == strcmp(argv[i], "-24")) ||
+		(0 == strcmp(argv[i], "-2")) ||
+		(0 == strcmp(argv[i], "--24")))
+	{
+	   enable12HourClock = 0;
+	}
+       else if ((0 == strcmp(argv[i], "-exe")) ||
+		(0 == strcmp(argv[i], "-e")) ||
+		(0 == strcmp(argv[i], "--exe")))
+	{
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   commandToExec = argv[i];
+	}
+       else if ((0 == strcmp(argv[i], "-led")) ||
+		(0 == strcmp(argv[i], "-l")) ||
+		(0 == strcmp(argv[i], "--led")))
+	{
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   ledColor = argv[i];
+	}
+       else if ((0 == strcmp(argv[i], "-clockxpm")) ||
+		(0 == strcmp(argv[i], "-c")) ||
+		(0 == strcmp(argv[i], "--clockxpm")))
+	{
+#ifndef ONLY_SHAPED_WINDOW
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   userClockXpm = argv[i];
+	   useUserClockXpm = 1;
+#endif /* !ONLY_SHAPED_WINDOW */
+	}
+       else if ((0 == strcmp(argv[i], "-monthxpm")) ||
+		(0 == strcmp(argv[i], "-m")) ||
+		(0 == strcmp(argv[i], "--monthxpm")))
+	{
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   userMonthXpm = argv[i];
+	   useUserMonthXpm = 1;
+	}
+       else if ((0 == strcmp(argv[i], "-weekdayxpm")) ||
+		(0 == strcmp(argv[i], "-w")) ||
+		(0 == strcmp(argv[i], "--weekdayxpm")))
+	{
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   userWeekdayXpm = argv[i];
+	   useUserWeekdayXpm = 1;
+	}
+       else if ((0 == strcmp(argv[i], "-noblink")) ||
+		(0 == strcmp(argv[i], "-n")) ||
+		(0 == strcmp(argv[i], "--noblink")))
+	{
+	   enableBlinking = 0;
+	}
+       else if ((0 == strcmp(argv[i], "-year")) ||
+		(0 == strcmp(argv[i], "-y")) ||
+		(0 == strcmp(argv[i], "--year")))
+	{
+	   enableYearDisplay = 1;
+	}
+       else if ((0 == strcmp(argv[i], "-position")) ||
+		(0 == strcmp(argv[i], "-p")) ||
+		(0 == strcmp(argv[i], "--position")))
+	{
+#ifndef ONLY_SHAPED_WINDOW
+	   if (++i >= argc)
+	    {
+	       showUsage();
+	    }
+	   geometry = argv[i];
+#endif /* !ONLY_SHAPED_WINDOW */
+	}
+       else if ((0 == strcmp(argv[i], "-shape")) ||
+		(0 == strcmp(argv[i], "-s")) ||
+		(0 == strcmp(argv[i], "--shape")))
+	{
+	   enableShapedWindow = 1;
+	}
+       else if ((0 == strcmp(argv[i], "-iconic")) ||
+		(0 == strcmp(argv[i], "-i")) ||
+		(0 == strcmp(argv[i], "--iconic")))
+	{
+#ifndef ONLY_SHAPED_WINDOW
+	   startIconified = 1;
+#endif /* !ONLY_SHAPED_WINDOW */
+	}
+       else if ((0 == strcmp(argv[i], "-version")) ||
+		(0 == strcmp(argv[i], "-V")) ||
+		(0 == strcmp(argv[i], "--version")))
+	{
+	   showVersion();
+	}
+       else if ((0 == strcmp(argv[i], "-help")) ||
+		(0 == strcmp(argv[i], "-h")) ||
+		(0 == strcmp(argv[i], "--help")))
+	{
+	   showUsage();
+	}
+       else
+	{
+	   fprintf(stderr, "%s: unrecognized option `%s'\n",
+		   progName, argv[i]);
+	   showUsage();
+	}
+    }
+   return (i);
+}
+
+/**********************************************************************/
+int main(int argc, char **argv)
+{
+   int           i;
+   unsigned int  borderWidth = 0;
+   char          *displayName = NULL; 
+   XGCValues     gcValues;
+   unsigned long gcMask;
+   XEvent        event;
+   XTextProperty wmName;
+   XClassHint    classHint;
+   Pixmap        shapeMask;
+   struct timeval nextEvent;
+   
+   /* Parse command line options */
+   progName = extractProgName(argv[0]);
+   processArgs(argc, argv);
+   
+   /* init led position */
+#ifndef ONLY_SHAPED_WINDOW
+   for (i = 0; i < NUM_Y_POSITIONS; i++)
+    {
+       yPos[i] = enableShapedWindow ? yPosShaped[i] : yPosUnshaped[i];
+    }
+   for (i = 0; i < NUM_X_POSITIONS; i++)
+    {
+       xPos[i] = enableShapedWindow ? xPosShaped[i] : xPosUnshaped[i]; 
+    }
+#else /* ONLY_SHAPED_WINDOW */
+   for (i = 0; i < NUM_Y_POSITIONS; i++)
+    {
+       yPos[i] = yPosShaped[i];
+    }
+   for (i = 0; i < NUM_X_POSITIONS; i++)
+    {
+       xPos[i] = xPosShaped[i];
+    }
+#endif /* !ONLY_SHAPED_WINDOW */
+   for (i = 0; i < NUM_TIME_POSITIONS; i++)
+    {
+       xPos[i] += enable12HourClock ? timePos24[i] : timePos12[i];
+    }
+   
+   /* Open the display */
+   dpy = XOpenDisplay(displayName);
+   if (NULL == dpy)  
+    { 
+       fprintf(stderr, "%s: can't open display %s\n", progName,
+	       XDisplayName(displayName));
+       exit(1); 
+    }
+   screen       = DefaultScreen(dpy);
+   rootWindow   = RootWindow(dpy, screen);
+   displayDepth = DefaultDepth(dpy, screen);
+   xFd          = XConnectionNumber(dpy);
+   
+   /* Icon Daten nach XImage konvertieren */
+   GetXpms();
+   
+   /* Create a window to hold the banner */
+   sizeHints.x = 0;
+   sizeHints.y = 0;
+   sizeHints.min_width  = clockBg.attributes.width;
+   sizeHints.min_height = clockBg.attributes.height;
+   sizeHints.max_width  = clockBg.attributes.width;
+   sizeHints.max_height = clockBg.attributes.height;
+   sizeHints.base_width  = clockBg.attributes.width;
+   sizeHints.base_height = clockBg.attributes.height;
+   sizeHints.flags = USSize | USPosition | PMinSize | PMaxSize | PBaseSize;
+   
+   bgPixel = GetColor("white");
+   fgPixel = GetColor("black");
+   
+   XWMGeometry(dpy, screen, geometry, NULL, borderWidth, &sizeHints,
+	       &sizeHints.x, &sizeHints.y, &sizeHints.width, &sizeHints.height,
+	       &sizeHints.win_gravity);
+   sizeHints.width  = clockBg.attributes.width;
+   sizeHints.height = clockBg.attributes.height;
+   
+   win = XCreateSimpleWindow(dpy, rootWindow, sizeHints.x, sizeHints.y,
+			     sizeHints.width, sizeHints.height,
+			     borderWidth, fgPixel, bgPixel);
+   iconWin = XCreateSimpleWindow(dpy, win, sizeHints.x, sizeHints.y,
+				 sizeHints.width, sizeHints.height,
+				 borderWidth, fgPixel, bgPixel);
+
+   /* Hints aktivieren */
+   XSetWMNormalHints(dpy, win, &sizeHints);
+   classHint.res_name = progName;
+   classHint.res_class = className;
+   XSetClassHint(dpy, win, &classHint);
+   
+   XSelectInput(dpy, win, OUR_WINDOW_EVENTS);
+   XSelectInput(dpy, iconWin, OUR_WINDOW_EVENTS);
+   
+   if (0 == XStringListToTextProperty(&progName, 1, &wmName))
+    {
+       fprintf(stderr, "%s: can't allocate window name text property\n",
+	       progName);
+       exit(-1);
+    }
+   XSetWMName(dpy, win, &wmName);
+  
+   /* Create a GC for drawing */
+   gcMask = GCForeground | GCBackground | GCGraphicsExposures;
+   gcValues.foreground = fgPixel;
+   gcValues.background = bgPixel;
+   gcValues.graphics_exposures = False;
+   normalGC = XCreateGC(dpy, rootWindow, gcMask, &gcValues);
+
+   if (enableShapedWindow)
+    {
+       shapeMask = XCreateBitmapFromData(dpy, win, (char *)mask_bits,
+					 mask_width, mask_height);
+       XShapeCombineMask(dpy, win, ShapeBounding, 0, 0, shapeMask, ShapeSet);
+       XShapeCombineMask(dpy, iconWin, ShapeBounding, 0, 0, shapeMask,
+			 ShapeSet);
+    }
+  
+   wmHints.initial_state = WithdrawnState;
+   wmHints.icon_window = iconWin;
+   wmHints.icon_x = sizeHints.x;
+   wmHints.icon_y = sizeHints.y;
+   wmHints.window_group = win;
+   wmHints.flags = StateHint | IconWindowHint | IconPositionHint |
+      WindowGroupHint;
+   XSetWMHints(dpy, win, &wmHints);
+
+   XSetCommand(dpy, win, argv, argc);
+   XMapWindow(dpy,win);
+
+   showTime();
+   redrawWindow(&visible);
+   while (1)
+    {
+       if (actualTime != mytime())
+	{
+	   actualTime = mytime();
+	   if (actualMinutes != (actualTime / 60))
+	    {
+	       showTime();
+	       if (!enableBlinking)
+		{
+		  redrawWindow(&visible);
+		}
+	    }
+	  if (enableBlinking && (!enableYearDisplay))
+	    {  
+	       if (actualTime % 2)
+		{
+		   /* Sekunden Doppelpunkt ein */
+		   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+			     COLON_X_OFFSET, COLON_Y_OFFSET,
+			     COLON_WIDTH, COLON_HEIGHT,
+			     xPos[COLON_X_POS], yPos[COLON_Y_POS]);
+		}
+	       else
+		{
+		   /* Sekunden Doppelpunkt aus */
+		   XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
+			     BLANK_X_OFFSET, BLANK_Y_OFFSET,
+			     COLON_WIDTH, COLON_HEIGHT,
+			     xPos[COLON_X_POS], yPos[COLON_Y_POS]);
+		}
+	       redrawWindow(&visible);
+	    }
+	   if (0 == (actualTime % 2))
+	    {
+	       /* Clean up zombie processes */
+#ifdef DEBUG
+	       fprintf(stderr, "%s: cleaning up zombies (time %ld)\n",
+		       progName, actualTime);
+#endif /* DEBUG */
+	       if (NULL != commandToExec) 
+		{
+		   waitpid(0, NULL, WNOHANG);
+		}
+	    }
+	}
+       
+       /* read a packet */
+       while (XPending(dpy))
+	{
+	   XNextEvent(dpy, &event);
+	   switch(event.type)
+	    {
+	     case Expose:
+	       if (0 == event.xexpose.count)
+		{
+		   redrawWindow(&visible);
+		}
+	       break;
+	    case ButtonPress:
+	       if (NULL != commandToExec)
+		{
+		   pid_t fork_pid;
+		   
+		   if ((NULL == commandBuf) &&
+		       (!buildCommand(commandToExec, &commandBuf,
+				      &commandLength, &commandIndex)))
+		    {
+		       break;
+		    }
+		   fork_pid = fork();
+		   switch (fork_pid)
+		    {
+		     case 0:
+		       /* We're the child process;
+			* run the command and exit.
+			*/
+		       executeCommand(commandBuf);
+		       /* When the system() call finishes, we're done. */
+		       exit(0);
+		       break;
+		     case -1:
+		       /* We're the parent process, but
+			* fork() gave an error.
+			*/
+		       perror("fork");
+		       break;
+		     default:
+		       /* We're the parent process;
+			* keep on doing what we normally do.
+			*/
+		       break;
+		    }
+		}
+	       break;
+	    case DestroyNotify:
+#if 0
+	       XFreeGC(dpy, normalGC);
+	       XDestroyWindow(dpy, win);
+	       XDestroyWindow(dpy, iconWin);
+#endif /* 0 */
+#ifdef ONLY_SHAPED_WINDOW
+	       XFreePixmap(dpy, visible.pixmap);
+#endif /* ONLY_SHAPED_WINDOW */
+	       XCloseDisplay(dpy);
+	       exit(0); 
+	     default:
+	       break;      
+	    }
+	}
+       XFlush(dpy);
+#ifdef SYSV
+       if (enableYearDisplay)
+	{
+	   poll((struct poll *) 0, (size_t) 0, 200);	/* 1/5 sec */
+	}
+       else
+	{
+	   poll((struct poll *) 0, (size_t) 0, 50);	/* 5/100 sec */
+	}
+#else
+       /* We compute the date of next event, in order to avoid polling */
+       if (enableBlinking)
+	 {
+	   gettimeofday(&nextEvent,NULL);
+	   nextEvent.tv_sec = 0;
+	   nextEvent.tv_usec = 1000000-nextEvent.tv_usec;
+	 }
+       else
+	 {
+	   if (enableYearDisplay)
+	     {
+	       nextEvent.tv_sec = 86400-actualTime%86400;
+	       nextEvent.tv_usec = 0;
+	     }
+	   else
+	     {
+	       nextEvent.tv_sec = 60-actualTime%60;
+	       nextEvent.tv_usec = 0;
+	     }
+	 }
+       FD_ZERO(&xFdSet);
+       FD_SET(xFd,&xFdSet);
+       select(FD_SETSIZE,&xFdSet,NULL,NULL,&nextEvent);
+#endif
+    }
+   return (0);
+}
+
diff --git a/wmclock.man b/wmclock.man
new file mode 100644
index 0000000..899584e
--- /dev/null
+++ b/wmclock.man
@@ -0,0 +1,232 @@
+.\" wmclock.man: manual page for wmclock -*- nroff -*-
+.\" created 1999-Apr-09 jmk
+.\" 
+.\" by Jim Knoble <jmknoble at pobox.com>
+.\" Copyright (C) 1999 Jim Knoble
+.\" Based on asclock.man by Dan Weeks.
+.\" 
+.\" Disclaimer:
+.\" 
+.\" 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(s) 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.
+.\"
+.de TQ
+.br
+.ns
+.TP \\$1
+..
+.\" ----------------------------------------------------------------
+.TH wmclock 1x "2010-Dec-22" "Version 1.0.14"
+.\" ----------------------------------------------------------------
+.SH NAME
+.PP
+.BR wmclock :
+a dockable clock for the Window Maker window manager
+.\" ----------------------------------------------------------------
+.SH SYNOPSIS
+.HP
+\fBwmclock\fP [{\-12|\-24|\-year}] [\-noblink] [\-version] [\-exe \fIprogram\fP]
+[\-led \fIcolor\fP] [\-monthxpm \fIfilename\fP] [\-weekdayxpm
+\fIfilename\fP]
+.\" ----------------------------------------------------------------
+.SH DESCRIPTION
+.PP
+.B Wmclock
+is an applet which displays the date and time in a dockable tile in the
+same style as the clock from the NEXTSTEP(tm) operating system.
+.B Wmclock
+is specially designed for the Window Maker window manager, by Alfredo
+Kojima, and features multiple language support, twenty-four-hour and
+twelve-hour (am/pm) time display, and, optionally, can run a
+user-specified program on a mouse click.
+.B Wmclock
+is derived from
+.BR asclock ,
+a similar clock for the AfterStep window manager.
+.\" ----------------------------------------------------------------
+.SH OPTIONS
+.TP
+\fB\-12\fR or \fB\-24\fR
+Display the time in either twelve-hour format (with am/pm) or
+twenty-four-hour format.  Defaults to twenty-four-hour display.
+.TP
+\fB\-year\fR
+Display the current year in the LED display instead of the time.
+.TP
+\fB\-noblink\fR
+The separator between the hours and minutes in the time display blinks
+by default.  This option turns off the blinking and displays a steadily
+lit separator instead.
+.TP
+\fB\-version\fB
+Displays the version of Wmclock.
+.TP
+\fB\-exe\fR \fIcommand\fR
+Run
+.I command
+in the background when a mouse button is pressed over
+.BR wmclock .
+See below for details.
+.TP
+\fB\-led\fR \fIcolor\fR
+Use
+.I color
+as the foreground color of the LED display.
+.I Color
+may be either a named color from the rgb.txt database (for example,
+`red' or `chartreuse') or a numeric color specification in any of the usual
+X11 formats (for example, `#ff0000' or `rgb:7f/ff/00').  See the
+.BR X (1)
+man page for more information.
+.TP
+\fB\-monthxpm\fR \fIfilename\fR
+Get month abbreviations from
+.IR filename ,
+which is expected to be in the XPM format.  See below for details.
+.TP
+\fB\-weekdayxpm\fR \fIfilename\fR
+Get weekday abbreviations from
+.IR filename ,
+which is expected to be in the XPM format.  See below for details.
+.\" ----------------------------------------------------------------
+.SH INVOCATION AND EXAMPLES
+.PP
+The simplest way to start
+.B wmclock
+is:
+.PP
+.RS
+.TQ
+wmclock
+.RE
+.PP
+.B Wmclock
+displays in its own appicon, which you can place in Window Maker's dock
+by holding down the [Alt] or [Meta] key and dragging
+.B wmclock
+to the dock with the primary mouse button (usually the left one).
+.PP
+For a more complicated example:
+.PP
+.RS
+.TQ
+wmclock \-12 \-led gold \-exe /usr/GNUstep/Apps/WPrefs.app/WPrefs
+.RE
+.PP
+This displays 12-hour time in an amber-colored LED display, and starts
+Window Maker's preferences utility when you click on
+.BR wmclock .
+.\" ----------------------------------------------------------------
+.SH DETAILS
+.SS Running Commands
+.PP
+When you use
+.B wmclock
+with the 
+.B \-exe
+option,
+.B wmclock
+will run the command you specify whenever you press a mouse button
+while the mouse cursor is over
+.BR wmclock .
+.B Wmclock
+uses the
+.BR system (3)
+function from the C library (and ultimately 
+.BR /bin/sh )
+to run the command; hence, the command must be in Bourne-shell syntax.
+.SS Using Alternate Month and Weekday Abbreviations
+.PP
+You can use the
+.B \-monthxpm
+and
+.B \-weekdayxpm
+options to convince
+.B wmclock
+to display month and day-of-week abbreviations in a language besides
+the one it was compiled with, or to display them in a language that
+.B wmclock
+does not yet support.  The files you specify must be in the XPM format,
+and they must follow the same strict size and placement as the month
+and weekday XPMs that come in the
+.B wmclock
+source package.  Each weekday abbreviation must be 21 pixels wide and 6
+pixels high; each month abbreviation must be 22 pixels wide and 6
+pixels high.  The month abbreviations must be arranged vertically,
+beginning with January at the top and continuing down to December at
+the bottom.  The weekday abbreviations must also be arranged
+vertically, beginning with Monday at the top and continuing to Sunday
+at the bottom.
+.SS Obsolete Options
+.PP
+In order to maintain command-line compatibility (mostly) with
+.BR asclock ,
+.B wmclock
+accepts a few options on the command line without complaining, even
+though they don't have any effect.  The options which
+.B wmclock
+accepts in this manner are
+.B \-shape
+and
+.BR \-iconic .
+Some dockable versions of
+.B asclock
+required one or both of these options to become properly dockable.
+However, Since
+.B wmclock
+is designed for Window Maker's dock, it already displays in a shaped
+window in its own dockable appicon.
+.\" ----------------------------------------------------------------
+.SH BUGS
+.PP
+.B Wmclock
+shouldn't run a command on a single click; should use a double click
+instead.
+.PP
+.B Wmclock
+should use Alfredo Kojima's libdockapp library instead of inventing its
+own wheel.
+.\" ----------------------------------------------------------------
+.SH SEE ALSO
+.PP
+X(1), asclock(1x), wmaker(1x), system(3)
+.\" ----------------------------------------------------------------
+.SH COPYRIGHT AND LICENSE
+.PP
+Copyright (C) 1999 by Jim Knoble <jmknoble at pobox.com>.  Significant
+portions of
+.B wmclock
+are directly derived from
+.B asclock
+by Beat Christen, who, along with
+.BR asclock 's
+other authors, owns the copyright to those portions of
+.BR wmclock .
+.PP
+.B Wmclock
+is licensed under the GNU General Public License, version 2, or (at
+your option) any later version.  See <http://www.gnu.org/> for more
+information.
+.SH AUTHORS
+.TQ
+Jim Knoble <jmknoble at pobox.com>
+.TQ
+Beat Christen <spiff at longstreet.ch>, author of \fBasclock\fI
+.\" ----------------------------------------------------------------
+.SH DISCLAIMER
+.PP
+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(s) 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.
+.PP
+Your mileage may vary.  Eat your vegetables.
+
diff --git a/wmclock.man.in b/wmclock.man.in
new file mode 100644
index 0000000..0cda9c3
--- /dev/null
+++ b/wmclock.man.in
@@ -0,0 +1,232 @@
+.\" wmclock.man: manual page for wmclock -*- nroff -*-
+.\" created 1999-Apr-09 jmk
+.\" 
+.\" by Jim Knoble <jmknoble at pobox.com>
+.\" Copyright (C) 1999 Jim Knoble
+.\" Based on asclock.man by Dan Weeks.
+.\" 
+.\" Disclaimer:
+.\" 
+.\" 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(s) 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.
+.\"
+.de TQ
+.br
+.ns
+.TP \\$1
+..
+.\" ----------------------------------------------------------------
+.TH wmclock 1x "@DATE@" "Version @VERSION@"
+.\" ----------------------------------------------------------------
+.SH NAME
+.PP
+.BR wmclock :
+a dockable clock for the Window Maker window manager
+.\" ----------------------------------------------------------------
+.SH SYNOPSIS
+.HP
+\fBwmclock\fP [{\-12|\-24|\-year}] [\-noblink] [\-version] [\-exe \fIprogram\fP]
+[\-led \fIcolor\fP] [\-monthxpm \fIfilename\fP] [\-weekdayxpm
+\fIfilename\fP]
+.\" ----------------------------------------------------------------
+.SH DESCRIPTION
+.PP
+.B Wmclock
+is an applet which displays the date and time in a dockable tile in the
+same style as the clock from the NEXTSTEP(tm) operating system.
+.B Wmclock
+is specially designed for the Window Maker window manager, by Alfredo
+Kojima, and features multiple language support, twenty-four-hour and
+twelve-hour (am/pm) time display, and, optionally, can run a
+user-specified program on a mouse click.
+.B Wmclock
+is derived from
+.BR asclock ,
+a similar clock for the AfterStep window manager.
+.\" ----------------------------------------------------------------
+.SH OPTIONS
+.TP
+\fB\-12\fR or \fB\-24\fR
+Display the time in either twelve-hour format (with am/pm) or
+twenty-four-hour format.  Defaults to twenty-four-hour display.
+.TP
+\fB\-year\fR
+Display the current year in the LED display instead of the time.
+.TP
+\fB\-noblink\fR
+The separator between the hours and minutes in the time display blinks
+by default.  This option turns off the blinking and displays a steadily
+lit separator instead.
+.TP
+\fB\-version\fB
+Displays the version of Wmclock.
+.TP
+\fB\-exe\fR \fIcommand\fR
+Run
+.I command
+in the background when a mouse button is pressed over
+.BR wmclock .
+See below for details.
+.TP
+\fB\-led\fR \fIcolor\fR
+Use
+.I color
+as the foreground color of the LED display.
+.I Color
+may be either a named color from the rgb.txt database (for example,
+`red' or `chartreuse') or a numeric color specification in any of the usual
+X11 formats (for example, `#ff0000' or `rgb:7f/ff/00').  See the
+.BR X (1)
+man page for more information.
+.TP
+\fB\-monthxpm\fR \fIfilename\fR
+Get month abbreviations from
+.IR filename ,
+which is expected to be in the XPM format.  See below for details.
+.TP
+\fB\-weekdayxpm\fR \fIfilename\fR
+Get weekday abbreviations from
+.IR filename ,
+which is expected to be in the XPM format.  See below for details.
+.\" ----------------------------------------------------------------
+.SH INVOCATION AND EXAMPLES
+.PP
+The simplest way to start
+.B wmclock
+is:
+.PP
+.RS
+.TQ
+wmclock
+.RE
+.PP
+.B Wmclock
+displays in its own appicon, which you can place in Window Maker's dock
+by holding down the [Alt] or [Meta] key and dragging
+.B wmclock
+to the dock with the primary mouse button (usually the left one).
+.PP
+For a more complicated example:
+.PP
+.RS
+.TQ
+wmclock \-12 \-led gold \-exe /usr/GNUstep/Apps/WPrefs.app/WPrefs
+.RE
+.PP
+This displays 12-hour time in an amber-colored LED display, and starts
+Window Maker's preferences utility when you click on
+.BR wmclock .
+.\" ----------------------------------------------------------------
+.SH DETAILS
+.SS Running Commands
+.PP
+When you use
+.B wmclock
+with the 
+.B \-exe
+option,
+.B wmclock
+will run the command you specify whenever you press a mouse button
+while the mouse cursor is over
+.BR wmclock .
+.B Wmclock
+uses the
+.BR system (3)
+function from the C library (and ultimately 
+.BR /bin/sh )
+to run the command; hence, the command must be in Bourne-shell syntax.
+.SS Using Alternate Month and Weekday Abbreviations
+.PP
+You can use the
+.B \-monthxpm
+and
+.B \-weekdayxpm
+options to convince
+.B wmclock
+to display month and day-of-week abbreviations in a language besides
+the one it was compiled with, or to display them in a language that
+.B wmclock
+does not yet support.  The files you specify must be in the XPM format,
+and they must follow the same strict size and placement as the month
+and weekday XPMs that come in the
+.B wmclock
+source package.  Each weekday abbreviation must be 21 pixels wide and 6
+pixels high; each month abbreviation must be 22 pixels wide and 6
+pixels high.  The month abbreviations must be arranged vertically,
+beginning with January at the top and continuing down to December at
+the bottom.  The weekday abbreviations must also be arranged
+vertically, beginning with Monday at the top and continuing to Sunday
+at the bottom.
+.SS Obsolete Options
+.PP
+In order to maintain command-line compatibility (mostly) with
+.BR asclock ,
+.B wmclock
+accepts a few options on the command line without complaining, even
+though they don't have any effect.  The options which
+.B wmclock
+accepts in this manner are
+.B \-shape
+and
+.BR \-iconic .
+Some dockable versions of
+.B asclock
+required one or both of these options to become properly dockable.
+However, Since
+.B wmclock
+is designed for Window Maker's dock, it already displays in a shaped
+window in its own dockable appicon.
+.\" ----------------------------------------------------------------
+.SH BUGS
+.PP
+.B Wmclock
+shouldn't run a command on a single click; should use a double click
+instead.
+.PP
+.B Wmclock
+should use Alfredo Kojima's libdockapp library instead of inventing its
+own wheel.
+.\" ----------------------------------------------------------------
+.SH SEE ALSO
+.PP
+X(1), asclock(1x), wmaker(1x), system(3)
+.\" ----------------------------------------------------------------
+.SH COPYRIGHT AND LICENSE
+.PP
+Copyright (C) 1999 by Jim Knoble <jmknoble at pobox.com>.  Significant
+portions of
+.B wmclock
+are directly derived from
+.B asclock
+by Beat Christen, who, along with
+.BR asclock 's
+other authors, owns the copyright to those portions of
+.BR wmclock .
+.PP
+.B Wmclock
+is licensed under the GNU General Public License, version 2, or (at
+your option) any later version.  See <http://www.gnu.org/> for more
+information.
+.SH AUTHORS
+.TQ
+Jim Knoble <jmknoble at pobox.com>
+.TQ
+Beat Christen <spiff at longstreet.ch>, author of \fBasclock\fI
+.\" ----------------------------------------------------------------
+.SH DISCLAIMER
+.PP
+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(s) 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.
+.PP
+Your mileage may vary.  Eat your vegetables.
+
diff --git a/wmclock.spec.in b/wmclock.spec.in
new file mode 100644
index 0000000..b8c90a0
--- /dev/null
+++ b/wmclock.spec.in
@@ -0,0 +1,128 @@
+# User-Defined Macros:
+# %%define <name> <expansion>
+%define Name		wmclock
+%define Version		@VERSION@
+%define Release		1
+%define Prefix		/usr/local
+%define ExecPrefix	/usr/local
+Summary: dockable clock applet for Window Maker
+Name: %{Name}
+Version: %{Version}
+Release: %{Release}
+#Epoch: 
+Copyright: GPL
+Group: User Interface/X
+URL: http://www.bluestop.org/wmclock/
+Source0: http://www.bluestop.org/wmclock/%{Name}-%{Version}.tar.gz
+#Patch0: 
+#Prefix: %{Prefix}
+BuildRoot: /tmp/%{Name}-%{Version}-%{Release}-root
+#Provides: 
+#Requires: 
+#Obsoletes: 
+
+%description
+Wmclock is an applet which displays the date and time in a dockable
+tile in the same style as the clock from the NEXTSTEP(tm) operating
+system.  Wmclock is specially designed for the Window Maker window
+manager, by Alfredo Kojima, and features multiple language support,
+twenty-four-hour and twelve-hour (am/pm) time display, and, optionally,
+can run a user-specified program on a mouse click.  Wmclock is derived
+from asclock, a similar clock for the AfterStep window manager.
+
+%prep
+%setup
+#%patch0 -b .orig
+
+#function Replace() {
+#  local fil="$1"
+#  local sep="$2"
+#  local old="$3"
+#  local new="$4"
+#  local suf="$5"
+#  [ -z "${suf}" ] && suf='~'
+#  mv -f ${fil} ${fil}${suf}
+#  cat ${fil}${suf} | sed -e "s${sep}${old}${sep}${new}${sep}g" >$fil
+#}
+
+%build
+if [ -z "${CC}" ]; then
+  if [ -n "`which gcc`" ]; then
+    CC="gcc"
+  else
+    CC="cc"
+  fi
+fi
+export CC
+
+./configure --lang english
+make CC="${CC}" CDEBUGFLAGS="${RPM_OPT_FLAGS}"
+
+%install
+function CheckBuildRoot() {
+  # do a few sanity checks on the BuildRoot
+  # to make sure we don't damage a system
+  case "${RPM_BUILD_ROOT}" in
+    ''|' '|/|/bin|/boot|/dev|/etc|/home|/lib|/mnt|/root|/sbin|/tmp|/usr|/var)
+      echo "Yikes!  Don't use '${RPM_BUILD_ROOT}' for a BuildRoot!"
+      echo "The BuildRoot gets deleted when this package is rebuilt;"
+      echo "something like '/tmp/build-blah' is a better choice."
+      return 1
+    ;;
+    *) return 0
+    ;;
+  esac
+}
+function CleanBuildRoot() {
+  if CheckBuildRoot; then
+    rm -rf "${RPM_BUILD_ROOT}"
+  else
+    exit 1
+  fi
+}
+CleanBuildRoot
+
+for i in \
+  %{Prefix} \
+  %{Prefix}/share \
+  %{Prefix}/share/%{Name} \
+  %{ExecPrefix} \
+; do
+  mkdir -p "${RPM_BUILD_ROOT}${i}"
+done
+
+make DESTDIR="${RPM_BUILD_ROOT}" install
+make DESTDIR="${RPM_BUILD_ROOT}" install.man
+make DESTDIR="${RPM_BUILD_ROOT}" install.share
+
+%clean
+function CheckBuildRoot() {
+  # do a few sanity checks on the BuildRoot
+  # to make sure we don't damage a system
+  case "${RPM_BUILD_ROOT}" in
+    ''|' '|/|/bin|/boot|/dev|/etc|/home|/lib|/mnt|/root|/sbin|/tmp|/usr|/var)
+      echo "Yikes!  Don't use '${RPM_BUILD_ROOT}' for a BuildRoot!"
+      echo "The BuildRoot gets deleted when this package is rebuilt;"
+      echo "something like '/tmp/build-blah' is a better choice."
+      return 1
+    ;;
+    *) return 0
+    ;;
+  esac
+}
+function CleanBuildRoot() {
+  if CheckBuildRoot; then
+    rm -rf "${RPM_BUILD_ROOT}"
+  else
+    exit 1
+  fi
+}
+CleanBuildRoot
+
+%files
+%attr(-   ,root,root) %doc COPYING ChangeLog INSTALL README
+%attr(0755,root,root) %{ExecPrefix}/bin/wmclock
+%attr(0755,root,root) %{ExecPrefix}/man/man1/wmclock.1*
+%attr(0755,root,root) %dir %{Prefix}/share/wmclock
+%attr(-   ,root,root) %{Prefix}/share/wmclock/*
+
diff --git a/xpm/date.xpm b/xpm/date.xpm
new file mode 100644
index 0000000..2186f52
--- /dev/null
+++ b/xpm/date.xpm
@@ -0,0 +1,25 @@
+/* XPM */
+static char *date_xpm[] = {
+/* width height num_colors chars_per_pixel */
+"    95    13        4            1",
+/* colors */
+". c #000000",
+"# c #555555",
+"a c #aaaaaa",
+"b c #ffffff",
+/* pixels */
+"bbbb..bbbbbba..abbbb....abbbbbbb..bbbb......bbbbba...bbb......bbba..abbbbb...abbbbb....bbbbbbbb",
+"bbb#..bbbbb.....abb..bb..abbbbba..bbba.....bbbba...bbbb.......bba.bb.abbb..a...bbb..aa..bbbbbbb",
+"bb....bbbb..bba..bb.bbbb..bbbba...bbba.bbbbbbba..bbbbbb.bbba.abb..bb..bba.abb..abb.abba.bbbbbbb",
+"bbbb..bbbb.bbbb..bbbbbba.abbbb....bbb..bbbbbbb..bbbbbbbbbbb..bbb..bb..bb..bbbb..ba.bbbb.abbb.bb",
+"bbbb..bbbbbbbbb..bbbbba..bbbba.b..bbb....abbba..bbbbbbbbbba.abbba..b.abb..bbbb..b..bbbb..bbb.bb",
+"bbbb..bbbbbbbbb..bbbb...bbbba.ab..bbbaaa...bb......abbbbbb..bbbbb....bbb..bbbb..b..bbbb..bbbbbb",
+"bbbb..bbbbbbbba.abbbb....bbb..bb..bbbbbbb..ab..bbb..abbbbb.abbbbb....bbba..bbb..b..bbbb..bbbbbb",
+"bbbb..bbbbbbbb..bbbbbbb..aba.bbb..bbbbbbbb..b..bbbb..bbbba.bbbbb..b...bbb.......b..bbbb..bbbbbb",
+"bbbb..bbbbbbb..bbbbbbbbb..b.aaaa..abbbbbbb..b..bbbb..bbbb..bbbba.abb..abbba.a..ab..bbbb..bbbbbb",
+"bbbb..bbbbbb..bbbbbbbbbb..b........bbbbbbb..b..bbbb..bbbb.abbbb..bbbb..bbbbba..bba.bbbb.abbb.bb",
+"bbbb..bbbbb..bbbabbbbbba.abbbbbb..bbbabbba.ab..abbb.abbba.bbbbba.bbbb.abbbba..abbb.abba.bbbb.bb",
+"bbba..abbba.aaaa.bb.aba..bbbbbbb..bbb.aaa..bbb...a..bbbb..bbbbbb..aa..bbba...bbbbb..aa..bbbbbbb",
+"bb......bb.......bb....abbbbbbbb..bbb....abbbbb....bbbbb..bbbbbbba..abbb...abbbbbbb....bbbbbbbb"
+};
+
diff --git a/xpm/led.xpm b/xpm/led.xpm
new file mode 100644
index 0000000..c24e4e2
--- /dev/null
+++ b/xpm/led.xpm
@@ -0,0 +1,18 @@
+/* XPM */
+static char * led_xpm[] = {
+"122 11 4 1",
+" 	c None",
+".	c #000000",
+"+	c #00DF00",
+"@	c #004300",
+"....++++........ at ....@++++.... at ++++....@.... at ....++++@....++++ at ...@++++.....++++.....++++.................................",
+"...+....+.......+.........+........+...+....+...+........+.............+...+....+...+....+................................",
+".. at +...@+...... at +........@+....... at +..@+... at +..@+....... at +............@+.. at +...@+.. at +...@+................................",
+"..+ at ...+@......+ at ........+@.......+ at ..+@...+ at ..+@.......+ at ............+@..+ at ...+@..+ at ...+@..+.............................",
+"..+....+.......+.........+........+...+....+...+........+.............+...+....+...+....+...+.............................",
+"..+...+........+....+++++.... at ++++....@++++.... at +++@....++++ at .........+...+++++....@++++.........+...+...+..+++..+...+....",
+".+....+.......+....+.............+........+........+...+....+........+...+....+........+........ at +...++.++..+..+.++.++....",
+"@+... at +......@+... at +............@+....... at +.......@+.. at +...@+....... at +..@+... at +.......@+..+.....+.+..+.+.+..+..+.+.+.+....",
+"+ at ...+@......+ at ...+@............+ at .......+@.......+ at ..+@...+ at .......+@..+ at ...+@.......+ at ..+....+..+.@+.. at +.@+++. at +..@+....",
+"+....+.......+....+.............+........+........+...+....+........+...+....+........+........++++.+ at ..+@.+ at ...+@..+ at ....",
+".++++........ at .....++++@... at ++++.........@... at ++++.....++++.........@....++++.... at ++++........+...+.+...+..+....+...+....."};
diff --git a/xpm/mask.xbm b/xpm/mask.xbm
new file mode 100644
index 0000000..479760c
--- /dev/null
+++ b/xpm/mask.xbm
@@ -0,0 +1,30 @@
+#define mask_width 55
+#define mask_height 57
+static unsigned char mask_bits[] = {
+ 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,
+ 0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,
+ 0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,
+ 0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,
+ 0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,
+ 0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,
+ 0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0xff,0xff,0x07,0x00,0x00,0xfc,0xff,
+ 0xff,0xff,0x0f,0x00,0x00,0xfc,0xff,0xff,0xff,0x1f,0x00,0x00,0xfc,0xff,0xff,
+ 0xff,0x3f,0x00,0x00,0xfc,0xff,0xff,0xff,0x7f,0x00,0x00,0xfc,0xff,0xff,0xff,
+ 0xff,0x00,0x00,0xfc,0xff,0xff,0xff,0xff,0x01,0x00,0xfc,0xff,0xff,0xff,0xff,
+ 0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,
+ 0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,
+ 0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,
+ 0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,
+ 0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,
+ 0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,
+ 0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,
+ 0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,
+ 0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,
+ 0xfe,0xff,0xff,0xff,0xff,0x03,0x00,0xfe,0xff,0xff,0xff,0xff,0x03,0x00,0xfe,
+ 0xff,0xff,0xff,0xff,0x03,0x00,0xff,0xff,0xff,0xff,0xff,0x03,0x80,0xff,0xff,
+ 0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xfc,0xff,0xff,
+ 0xff,0xff,0x03,0x00,0xfc,0xff,0xff,0xff,0xff,0x03,0x00,0xf8,0xff,0xff,0xff,
+ 0xff,0x03,0x00,0xf0,0xff,0xff,0xff,0xff,0x03};
diff --git a/xpm/mask.xpm b/xpm/mask.xpm
new file mode 100644
index 0000000..b46d1f5
--- /dev/null
+++ b/xpm/mask.xpm
@@ -0,0 +1,65 @@
+/* XPM */
+static char * mask_xpm[] = {
+"54 57 5 1",
+" 	c None",
+".	c #404040",
+"+	c #A8A8A8",
+"@	c #000000",
+"#	c #FFFFFF",
+".....................................................+",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#",
+"+#####################################################",
+"                                                      ",
+"                                                      ",
+"          #################################           ",
+"          #################################@          ",
+"          #################################@@         ",
+"          #################################@@@        ",
+"          #################################@@@.       ",
+"          #################################@@@..      ",
+"          #################################@@@...     ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"          #################################@@@....    ",
+"         ##################################@@@....    ",
+"         ##################################@@@....    ",
+"         #################################.@@@....    ",
+"        ##################################.@@@....    ",
+"       ##################################..@@@....    ",
+"          .................................@@@....    ",
+"          +++++++++++++++++++++++++++++++++@@@....    ",
+"          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....    ",
+"           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....    ",
+"            ......................................    "};

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



More information about the Pkg-wmaker-commits mailing list