Man Linux: Main Page and Category List

NAME

       xdaliclock - melting digital clock

SYNOPSIS

       xdaliclock [-toolkitoption ...] [-option ...]

DESCRIPTION

       The  xdaliclock program displays a digital clock; when a digit changes,
       it ‘‘melts’’ into its new shape.

       This program was inspired by the Alto and  Macintosh  programs  of  the
       same name, written by Steve Capps in 1983 or 1984.

OPTIONS

       xdaliclock  accepts  all  of  the  standard  toolkit  options, and also
       accepts the following options:

       -help   Print a brief summary of the allowed options  on  the  standard
               error output.

       -12     Use a twelve hour clock.

       -24     Use a twenty-four hour clock.

       -seconds
               Update every second.

       -noseconds
               Update once per minute; don’t display seconds at all.

       -cycle  Do color-cycling.

       -nocycle
               Don’t do color-cycling.

       -font fontname
               Specifies  the  X font to use; xdaliclock can correctly animate
               any font that contains all the digits plus colon and slash, and
               in which the letters aren’t excessively curly.

               The  xdaliclock  program  also  contains four builtin bitmapped
               fonts, which are larger and more attractive than the standard X
               fonts.   One of these fonts will be used if the -font option is
               given one of the fontnames BUILTIN0,  BUILTIN1,   BUILTIN2,  or
               BUILTIN3.

       -builtin0
               This is the same as specifying -font BUILTIN0.

       -builtin1
               This is the same as specifying -font BUILTIN1.

       -builtin2 or -builtin
               This is the same as specifying -font BUILTIN2.

       -builtin3
               This is the same as specifying -font BUILTIN3.

       -fullscreen
               Make  the window take up the whole screen.  When -fullscreen is
               specified, the displayed time will wander around a  little,  to
               prevent  any  pixels  from  being  on  continuously and causing
               phosphor burn-in.

       -root   Display the clock on the root window  instead  of  in  its  own
               window.  This makes the digits wander around too.

       -window-id window
               Render the clock on a window created by some other program.

       -visual visual
               Specify which visual to use.  Legal values are:

               default Use the screen’s default visual (the visual of the root
                       window.)  This is the default.

               best    Use the visual which supports the most  writable  color
                       cells.

               class   One  of  StaticGray, StaticColor, TrueColor, GrayScale,
                       PseudoColor,  or  DirectColor.   Selects  the   deepest
                       visual of the given class.

               number  A number (decimal or hex) is interpreted as a visual id
                       number, as reported by the xdpyinfo(1) program; in this
                       way you can select a shallower visual if desired.

               If  you  don’t  have a 24-bit system, using a visual other than
               the default one may cause colormap flashing.

       -transparent
               Causes the background of  the  window  to  be  transparent,  if
               possible.

               If  the  server supports overlay planes, then they will be used
               (this is the case on SGIs, and on  certain  HP,  DEC,  and  IBM
               systems.)

               If  overlay  planes  are not available, but the server supports
               the Shape extension, then that will be used instead.   However,
               the  Shape  extension is very inefficient: it will cause your X
               server to use up a lot of cycles.

               Also, if the Shape extension is used, you will probably need to
               configure  your  window  manager  to  not put a titlebar on the
               XDaliClock window.  (This is the case at least with twm, tvtwm,
               and  mwm.)   If you don’t do this, then the window will flicker
               constantly, as the window manager tries to add and  remove  the
               titlebar ten times each second.

               None  of these problems occur if overlay planes are used (or if
               the -transparent option is not requested.)

       -nontransparent
               Don’t make the window’s background be transparent.  This is the
               default.

       -memory low
               Use  high-bandwidth,  low-memory mode.  If you have a very fast
               connection between the machine this program is running  on  and
               the  X  server  it  is  displaying on, then xdaliclock can work
               correctly by simply making the drawing requests it  needs  when
               it  needs  them.   This  is  the  elegant method.  However, the
               amount of data necessary to animate the display ends up being a
               bit  over  10  kilobytes  worth of X Protocol per second.  On a
               fast machine with a local display,  or  over  a  fast  network,
               that’s  almost  negligible, but (for example) an NCD X Terminal
               at 38.4 kbps can’t keep up.  That is the reason for:

       -memory medium
               Use high-memory, low-bandwidth mode.  In this mode,  xdaliclock
               precomputes most of the frames that it will ever need.  This is
               the sleazy  copout  method.   The  bandwidth  requirements  are
               drastically reduced, because instead of telling the server what
               bits to draw where, it merely tells it  what  pixmaps  to  copy
               into  the  window.  Aside from the fact that I consider this to
               be cheating, the only downside of this  method  is  that  those
               pixmaps (about 170 of them, each the size of one character) are
               consuming server-memory.  This probably isn’t a very big  deal,
               unless you’re using an exceptionally large font.

       -memory high
               With  memory set to high, the cache is twice as large (the n ->
               n+2 transitions are cached as well as the n -> n+1 ones).  Even
               with  memory set to medium, this program can seem sluggish when
               using a large font over a very slow connection to  the  display
               server.

       -countdown date
               Instead  of displaying the current time, display a countdown to
               the specified date (if the date has already  passed,  count  up
               from  it.)   The  date  can take two forms: either a time_t (an
               integer, the number of seconds past "Jan 1 00:00:00 GMT 1970");
               or,  a  string of the form "Mmm DD HH:MM:SS YYYY", for example,
               "Jan 1 00:00:00 2000".  This string is interpreted in the local
               time zone.

               To count up from the current time, do this:

                    xdaliclock -countdown "‘date ’+%b %d %T %Y’‘"

       The  following  standard  X Toolkit command line arguments are commonly
       used with xdaliclock:

       -display host:dpy
               This option specifies the X server to contact.

       -geometry geometry
               This option specifies the preferred size and  position  of  the
               clock window.

       -bg color
               This  option  specifies  the color to use for the background of
               the window.  The default is ‘‘white.’’

       -fg color
               This option specifies the color to use for  the  foreground  of
               the window.  The default is ‘‘black.’’

       -bd color
               This  option  specifies  the color to use for the border of the
               window.  The default is the same as the foreground color.

       -rv     This option indicates that reverse video should be simulated by
               swapping the foreground and background colors.

       -bw number
               This  option  specifies  the  width  in  pixels  of  the border
               surrounding the window.

       -xrm resourcestring
               This option specifies a resource string to be used.

COMMANDS

       Clicking and holding any mouse button in  the  xdaliclock  window  will
       cause it to display the date while the button is held.

       Typing  ‘‘space’’ at the xdaliclock window will toggle between a twelve
       hour and twenty-four hour display.

       Typing ‘‘q’’ or ‘‘^C’’ at the window quits.

       If the xdaliclock window is iconified or otherwise unmapped, it will go
       to sleep until it is mapped again.

X RESOURCES

       xdaliclock  understands  all  of the core resource names and classes as
       well as:

       mode (class Mode)
               Whether to display 12-hour or 24-hour time.  If 12, this is the
               same  as the -12 command line argument; if 24, this is the same
               as -24.

       datemode (class DateMode)
               Specifies how the date should be printed when a mouse button is
               held  down.  This may be one of the strings mm/dd/yy, dd/mm/yy,
               yy/mm/dd, yy/dd/mm, mm/yy/dd,  or  dd/yy/mm.   The  default  is
               mm/dd/yy.   If  seconds  are not being displayed, then only the
               first four digits will ever  be  displayed  (mm/dd  instead  of
               mm/dd/yy, for example.)

       seconds (class Seconds)
               Whether  to  display seconds.  If true, this is the same as the
               -seconds command line argument; if false, this is the  same  as
               -noseconds.

       cycle (class Cycle)
               Whether  to do color cycling.  If true, this is the same as the
               -cycle command line argument; if false, this  is  the  same  as
               -nocycle.

       font (class Font)
               The  same  as  the -font command line option: the font to melt.
               If this is one of the strings BUILTIN0, BUILTIN1, BUILTIN2,  or
               BUILTIN3,  then  one  of  the large builtin fonts will be used.
               Otherwise, this must be the name of a valid X font.

       fullScreen (class FullScreen)
               The same as the -fullscreen command-line option.

       root (class Root)
               The same as the -root command-line option.

       visualID (class VisualID)
               The same as the -visual command-line option.

       transparent (class Transparent)
               Whether to make the  window’s  background  be  transparent,  if
               possible.   If  true,  this  is  the  same  as the -transparent
               command  line  argument;  if  false,  this  is  the   same   as
               -nontransparent.

       memory (class Memory)
               This  must  be  high,  medium,  or low, the same as the -memory
               command-line option.

       countdown (class Countdown)
               Same as the -countdown command-line option.

ENVIRONMENT

       DISPLAY
           to get the default host and display number.

       XENVIRONMENT
           to get the name of  a  resource  file  that  overrides  the  global
           resources stored in the RESOURCE_MANAGER property.

       TZ  to  get  the  current time zone.  If you want to force the clock to
           display some other time zone, set this variable before starting it.
           For example:

                 sh:   TZ=GMT0 xdaliclock
                csh:   ( setenv TZ PST8PDT ; xdaliclock )

           You may notice that the format of the TZ variable (which is used by
           the C library ctime(3) and localtime(3) routines) is  not  actually
           documented  anywhere.  The fourth character (the digit) is the only
           thing that really matters: it is the offset in hours from GMT.  The
           first  three characters are ignored.  The last three characters are
           used to flag daylight savings time: their presence effectively adds
           1 to the zone offset.  (I am not making this up...)

BUGS

       Other  system load will sometimes cause the second-display to increment
       by more than one second at a time, in order to remain  synchronized  to
       the current time.

       The  -memory  option  is disgusting and shouldn’t be necessary, but I’m
       not clever enough to eliminate it.   It  has  been  said  that  hacking
       graphics in X is like finding sqrt(pi) with roman numerals.

       When  using  a  small  font  (less than 48x56 or so) it’s possible that
       shipping a bitmap to the server would be more efficient than sending  a
       DrawSegments  request  (since the endpoints are specified using 16 bits
       each, when all that we really need is 6 or 7 bits.)

       Support for the Shared Memory Extension would be a good thing.

       It should display the day of the week somewhere.

       The color cycling should be less predictable; it should vary saturation
       and  intensity  as well, and should be more careful that foreground and
       background contrast well.

       The correct default datemode  should  be  extracted  from  the  current
       locale.

       Should have a -analog mode (maybe someday...)

UPGRADES

       The      latest      version     can     always     be     found     at
       http://www.jwz.org/xdaliclock/

       There is a version of this program for PalmOS available there as  well.

SEE ALSO

       X(1), xrdb(1), xlsfonts(1), xclock(1), dclock(1), oclock(1), tclock(1),
       xscreensaver(1)

COPYRIGHT

       Copyright © 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,  2002
       by  Jamie  Zawinski.   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.  No representations are made
       about the suitability of this software for any purpose.  It is provided
       "as is" without express or implied warranty.

AUTHOR

       Jamie Zawinski <jwz@jwz.org>, 18-sep-91.

       Please let me know if you find any bugs or make any improvements.

       Thanks  to  Ephraim  Vishniac  <ephraim@think.com>  for  explaining the
       format of the bitmap resources in the Macintosh  version  of  this,  so
       that I could snarf them for the -builtin3 font.

       And thanks to Steve Capps for the really great idea.