CROCK By Kelly Roach. Last revised 25-Feb-84. CROCK sets up an analog face clock in the user's environment. To use, LOAD CROCK.DCOM and call (CROCK). CROCK requires that PROCESSWORLD be running (automatic in Fugue or later). Bugs and comments can be sent to ROACH.PA. (1) CROCK. Function CROCK has the form (CROCK REGION) The first invocation creates a clock window, CROCKWINDOW, occupying REGION with style CROCK.DEFAULT.STYLE. If REGION is left NIL, a region will be prompted for. Subsequent invocations use CROCKWINDOW. Only one clock window may exist at any given time. The clock is updated once a minute. (2) STYLE. The clock's style is maintained as a property list and can be found by (WINDOWPROP CROCKWINDOW 'STYLE). There are four independent boolean properties which the user may control: HANDS (the hands of the clock), TIMES (time digits printed where the hands end), RINGS (rings on the clock face), and NUMBERS (12 numbers around the outside of the clock face). The style first used will be CROCK.DEFAULT.STYLE (bound to '(HANDS T TIMES NIL RINGS NIL NUMBERS T) when CROCK is first loaded). (3) CROCK.ALARM AND CROCK.TUNE. The user can set CROCK's alarm via (CROCK.ALARM DATESTRING) where DATESTRING is any arg acceptable to Interlisp's IDATE (such as the date CROCK prints in CROCKWINDOW). CROCK will act appropriately when time reaches DATESTRING. Dandelion users can set global CROCK.TUNE to a tune to be played by Interlisp's PLAYTUNE when CROCK's alarm acts. (4) RECOMMENDED USAGE. The simplest way to call CROCK from your init file or other function is to set up your CROCK globals, then call CROCK: (SETQ CROCK.DEFAULT.STYLE