XDaliClock(1)

XDaliClock(1)

xcutsel Home Page User Commands Index xdemineur


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  pro-
       grams  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 cor-
               rectly animate any font that contains all the dig-
               its plus colon and slash, and in which the letters
               aren't excessively curly.
               The xdaliclock program contains a pair of  builtin
               bitmapped fonts, which are larger and more attrac-
               tive than the standard  X  fonts.   One  of  these
               fonts  will  be  used if the -font option is given
               one of the fontnames BUILTIN or BUILTIN2.

       -builtin
               This is the same as specifying -font BUILTIN.

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

       -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.

       -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 trans-
               parent, 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  exten-
               sion  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  dis-
               playing  on, then xdaliclock can work correctly by
               simply making the drawing requests it  needs  when
               it  needs them.  This is the elegant method.  How-
               ever, 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 drasti-
               cally 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 charac-
               ter) 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
               the builtin font over a very  slow  connection  to
               the display server.

       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 prefered size and  posi-
               tion 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  back-
               ground 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 argu-
               ment; 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 the string BUILTIN, then
               the large builtin font is used.  If  this  is  the
               string BUILTIN2, then the even larger builtin font
               is 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 trans-
               parent, 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.

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  prop-
           erty.

       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  local-
           time(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 sav-
           ings 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 neces-
       sary, 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  pos-
       sible  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.netscape.com/people/jwz/xdaliclock/

SEE ALSO
       X(1) xrdb(1) xlsfonts(1) xclock(1) dclock(1) 
       oclock(1) tclock(1) xscreensaver(1) 

COPYRIGHT
       Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997  by
       Jamie  Zawinski.   Permission  to  use, copy, modify, dis-
       tribute, 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 lt;jwz@netscape.com, 18-sep-91.

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

       Thanks  to  Ephraim   Vishniac   lt;ephraim@think.com   for
       explaining  the format of the bitmap resources in the Mac-
       intosh version of this, so that I could snarf them for the
       -builtin fonts.

       And thanks to Steve Capps for the really great idea.

xcutsel Home Page User Commands Index xdemineur