Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XDaliClock(1)		     General Commands Manual		   XDaliClock(1)

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  pre-
	     vent  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 XDali-
	     Clock window.  (This is the case at  least  with  twm,  tvtwm,  and
	     mwm.)   If  you  don't  do  this, then the window will flicker con-
	     stantly, 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 de-
	     fault.

     -memory low
	     Use  high-bandwidth, low-memory mode.  If you have a very fast con-
	     nection 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 pre-
	     computes  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  exception-
	     ally 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  num-
	     ber 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  win-
	     dow.  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 -sec-
	     onds command line argument; if false, this is the same  as  -nosec-
	     onds.

     cycle (class Cycle)
	     Whether to do color cycling.  If true, this is the same as the -cy-
	     cle 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.  Other-
	     wise, 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 possi-
	     ble.  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  dis-
	 play  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  docu-
	 mented  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 cur-
     rent 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 back-
     ground 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 https://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 (C) 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  im-
     plied 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.

X Version 11			   11-Sep-2002			   XDaliClock(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xdaliclock&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help