From pa.dec.com!decwrl!uunet!sparky!kent Sun Apr 7 13:55:56 PDT 1991 Article: 2152 of comp.sources.misc Path: pa.dec.com!decwrl!uunet!sparky!kent From: billr@saab.CNA.TEK.COM (Bill Randle) Newsgroups: comp.sources.misc Subject: v17i087: calentool - day/week/month/year-at-a-glance SunView tool, Part06/23 Message-ID: <1991Apr5.050657.1659@sparky.IMD.Sterling.COM> Date: 5 Apr 91 05:06:57 GMT Sender: kent@sparky.IMD.Sterling.COM (Kent Landfield) Organization: Sterling Software, IMD Lines: 1657 Approved: kent@sparky.imd.sterling.com X-Checksum-Snefru: ad2bb7ea f615f654 dbb57163 5f40c505 Submitted-by: Bill Randle Posting-number: Volume 17, Issue 87 Archive-name: calentool/part06 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'Fixes2_1' <<'END_OF_FILE' X# $Header: Fixes2_1,v 2.1 89/05/09 14:26:54 billr Exp $ XBugs fixed in version 2.1: X - the -m option does not use a default userid X :: fixed to default to userid that started calentool X X - problems if no .appointment files exists X :: calentool now prompts the user asking if he wishes to create X :: a new .appointmnet file if it does not exist. X X - if there is only one entry in the .appointments file, it X can not be deleted. X :: this is actually an attempt at safety checking, to avoid X :: copying a zero length file over the original .appointments X :: file (in case of file system full or whatever). A check X :: for zero length file is still made, but due to the new format X :: it should never happen. X X - calentool dies if the input file is not in the expected X format X :: the whole input and output portions of the code have been X :: rewritten with an eye towards making it more robust. Things X :: like this should now print an error message, rather than X :: just dumping core. X X - When going from month display to week display, sometimes the X week displayed is not the one that was selected. X :: fixed. X X - Calentool dies on OS 4.x machines when certain panel buttons X are selected. X :: argument list for some of the notify functions were incorrect. X :: fixed. X XNew features in version 2.1: X :: The user interface panel layout and button functionality X has been redesigned (again) based on feedback from beta X testers of version 2.0. The new panel layout has the buttons X grouped closer together (for ease of moving the mouse X around) and is more consistent. Most of the buttons also X have menus accessible by pushing the right mouse button. X "Current" and "Today" do not have menus. When X displaying a day or week, a particular day of that week X can be displayed by selecting it from the menu under the X "Day" button. The "Next" and "Previous" buttons allow X moving forward and back by days, weeks, months or years. X The display type stays the same, so some options may be X disabled, depending on display mode. E.g., from a day X display you can go to the same day next week, month or year X (or the next day); but with a month display you can not X go to the next week or day, only the next month or year. X Clicking the left mouse button selects the next . X The Week, Month and Year buttons work much as they did in X the 2.0 version, with the selection of larger timespans X (e.g. week to month) keeping you in the same time period X (e.g. same month) as you started. When going to shorter X time spans (e.g. month to week) the first event is displayed X (e.g. first week in the month). Current selects the X current that matches today. X The Done button has been removed. Use the frame menu X close or quit options to close to an icon or quit the tool. X A File button has been added to allow switching appointment X files while calentool is running. X X :: Today is grayed out in the year, month, week and day displays X as a way to highlight it. X X :: The current date and time is displayed in the control panel. X The default is to update the time every second. Optionally, X one can set the UPDATE_RATE to "minute" in ct.h (or the X Makefile) to change the update rate to every minute - with X no seconds field displayed. X X :: A future appointment reminder is available to remind you X every day for n days in advance about an appointment. A X popup frame is created to display the future appointments. X This frame may be removed by selecting the "Done" button. X Selecting one of the future appointments with the left X mouse button moves you to that day and displays it. (This X can be handy for turning off the reminder, see below.) X X :: The repeating appointment facility has been expanded in X capability. In addition to the every year, month, day X or repeat every n days appointments in 2.0, you can now X specify a specific day of the week (e.g. every Monday). X One can also tag that with specific weeks (e.g. 1st & 3rd X Monday, Last Thursday). X X :: In the day display a menu is available with the right X mouse button to allow cut and paste operations on appointment X entries, as well as modification of an appointment. X When Modify is selected, a popup window appears to allow X setting special attributes, such as repeating appointments X and future reminders. This should eliminate the need for X ever having to manually edit the .appointments file. Note X that the cursor has to be in an appointment slot to get the X menu. X X :: The .appointments file format also supports the use of X #include files to include *non-editable* appointments X (such as site specific holidays, etc.). The format for X this is: X #include "file" X or X #include "/somepathname/file" X Where the '#' *must* start in column 1 of the .appointments X file. If the "file" form is used, the file is prepended X with the pathname used for the initial .appointments file. X Include files are not nestable. Using include files is the X one case where manual editing of the .appointments file is X still necessary. Included appointments are marked as read- X only, they can not be deleted or modified. (You can still X modify it my invoking calentool with the include file as X the alternate appts file (-f option).) X X :: Clicking the left mouse button on an existing appointment X no longer deletes it. You must use the "Cut" option of X the popup menu to delete the appointment. X X :: An optional date may be specified on the command line. This X will tell calentool to display that day when it starts up. X The date format is pretty flexible - it will accept day X names (e.g. Tue, Th, fr, MONDAY) or numeric dates in m/d/y X format. Valid forms are: dd (e.g. 27 => 27th of this month), X mm/dd (e.g. 11/27 => Nov 27th of this year) and mm/dd/yy X (e.g. 11/27/90 => Nov 27th, 1990). Preface the date with X the "-d" flag. X X :: In the .appointments file, notes are now indicated by a "99" X in the hour field, rather than "00". This is in case X someone works graveyard or wanted a 24-hour appointment X display. The minutes field defaults to 00. A "99" in the X minutes field marks this note so that it will not show up X in the month or year display. X X :: The .appointments file is now one-based - i.e., months and X days start at 1, rather than zero. This was an option in X 2.0, but is now standard in 2.1. Calentool has the built-in X capability to automatically convert existing .appointment X files (see the README file). X X :: Support has been added for keeping outdated appointments in X a seperate file of the form ".appointments.YY", where YY X is the year. This is controlled with the "-i" (include X outdated appointments) and "-o" (save outdated appointments) X flags. If "-o" is specified on an appointment file with X outdated entries, the save file(s) is(are) automatically X created upon quiting the calentool program. If "-o" is X specified on the first time calentool is invoked on a X version 1 file, the outdated appointment files are created X when the file format is converted from version 1 to X version 2. X X :: Calentool now allows you to temporarily delete a recurring X appointment. That is, if one has a meeting every Monday, X except next Monday, then the appointment can be "deleted" X (or hidden, actually) for that day only. Recurring X appointments that are deleted for a single occurance like X this are the only ones that can be "undeleted". X X :: Calentool finally supports overlapping and mulitple X appointments for a given time period. When more than one X appointment exists during a particular 30 minute timeslot, X a "More" button appears to the right of the timeslot in X the day display. Clicking on this button with the left MB X will show the next appointment in sequence. To add another X appointment on top of an existing appointment, click the X left MB as normal and enter the new message. X X :: Support for common date directory. If an included file X has the form '#include ' then "file" is prepended X with a library directory path determined from the X /CalenTool//LibDir entry in the suntools X defaults file (if it exists) or from the compile time X specified name (DATELIB_DIR), which defaults to X "/usr/local/lib/calentool". Several date/event files X are included in the distribution in the "dates" subdirectory. X X :: Day of year and days remaining in year added to the bottom X of the day display. X X :: Appointment entries that are longer than the width of the X display are normally displayed left justified. When a X keyboard character is typed into the timeslot the displayed X message is right justified for editing. A set of left and X right arrows are also displayed to allow viewing the entire X text of the message. X X :: An up-arrow cursor has been added to the currently selected X day slot to show where text entry/deletion will take place. X X :: A sun and moon image have been added to the main control panel. X When they are selected, interesting information about the sun X and/or moon is displayed in a popup window. Edit the riseset.h X file to adjust for your specific lattitude and longitude. This X code is based on code from the riseset and moontool programs. X X :: A "Print" button has been added to the main control panel to X generate a raster or Postscript image file and send it to X your printer. This works for day, week and month displays. X The day and week printouts are exact copies of what is seen on X the screen. The month printout is in a different format. X A menu is available with the Print button to allow changing X the print command. The default print command is obtained X from (in order): the suntool defaults file, the PRINTER X environment variable and the #define for PRINT_CMD. X X :: A "File" button has been added to the control panel to X allow selecting a different appointments file after X calentool has been started. X X :: Calentool tries to auto-size itself based on the font in use. X This should keep buttons, etc from overlapping when fonts X other than screen.r.14 (default) are used. X X :: Once the tool is started, error messages are displayed in a X popup window, rather than the console, if possible. X X :: The action of the middle mouse button in the day display X has been changed. Point to the selected appt, push the middle X button, drag the mouse to the termination timeslot and release X the button. X X :: The "-t" option will display the current time below the icon X when the tool is closed. The displayed time format and update X rate is governed by the -u option (or UPDATE_INTERVAL #define). X X :: "-b" also puts a copy of the appt string in $HOME/.msgfile X (in addition to the console) for use with nlock(1). X X :: Today's day and month are now displayed on the bottom of X the icon's calendar page. X X :: Popup window added to allow direct entry of a date to view. X Selected by a menu entry under the "Current" button. X X :: Extended "Current" button menu to allow selecting current X year, month, week or day, along with setting the date as X noted above. X X :: Add "Save" button to the "File" frame that forces an update X to the current appointments file. X X :: Change the defaults entry from an appointment directory to X the actual appointment file. New name is /CalenTool/Appts. X This change was made to (hopefully) allow easier use of X the tool when accessing multiple people's calendars when X using the "File" frame. /Lib entry changed to /LibDir. X X :: Create the tmp file in /tmp, with a name /tmp/apptsNNNNN X where NNNNN is the pid. The file name used to be X .tmp.apts.NNNNN created in whatever directory the appointments X file was found in. X X :: Add "-w" option to turn off display of "Working!" message. X XAs always, bug reports and suggestions for improvements are encouraged. X X -Bill Randle X Tektronix, Inc. X billr@saab.CNA.TEK.COM X May 9, 1989 END_OF_FILE if test 12247 -ne `wc -c <'Fixes2_1'`; then echo shar: \"'Fixes2_1'\" unpacked with wrong size! fi # end of 'Fixes2_1' fi if test -f 'calencheck.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'calencheck.c'\" else echo shar: Extracting \"'calencheck.c'\" \(2774 characters\) sed "s/^X//" >'calencheck.c' <<'END_OF_FILE' X/* X * $Header: calencheck.c,v 2.3 91/03/27 16:44:57 billr Exp $ X * X * calencheck.c - check for pending appts without the overhead X * of the full blown calentool X * X * Copyright (C) 1989, 1991 Tektronix, Inc. X * All Rights Reserved X * Permission is hereby granted to use and modify this file in source X * or binary form as long as it is not sold for profit and this copyright X * notice remains intact. X */ X X/* X * define NO_DEFAULTS if you don't need info looked up in the .defaults X * file (saves memory by not linking in pixrect lib with SunOs > 4.0). X */ X#include X#include X#include X#include "ct.h" X Xint read_only = 1; /* no modifications allowed */ Xint n_tslots, otherfile = 0; Xint include_old = 0, save_old = 0; Xint new_entry = 0; Xint start_hour, end_hour, n_slots; Xstruct tm current, today, closedate; Xstruct tm First, Last; Xchar *progname, *othername; Xstruct dayslot *slots; Xint show_future = 1; Xint one_based = 0, version2 = 0; X Xmain(argc,argv) Xint argc; Xchar *argv[]; X{ X int flag; X extern char *optarg; X char *rindex(); X X if (progname = rindex(*argv, '/')) X progname++; X else X progname = *argv; X X start_hour = START_HOUR; X end_hour = END_HOUR; X X get_today(); /* initial day is today */ X current = today; X X while ((flag = getopt(argc, argv, "f:S:s:")) != EOF) X switch (flag) { X case 'f': /* use this file */ X otherfile = 1; X othername = optarg; X break; X X case 's': X start_hour = atoi(optarg); X if (start_hour > 23 || start_hour < 0) X printf("start hour must be in range 0 - 23\n"); X break; X X case 'S': X end_hour = atoi(optarg); X if (end_hour > 24 || end_hour < 1) X printf("end hour must be in range 1 - 24\n"); X break; X X case '?': X default: X fprintf(stderr, "usage: %s [-f ]", progname); X fprintf(stderr, " [-s ]"); X fprintf(stderr, " [-S ]\n"); X exit(1); X } X X err2console(TRUE); X X /* X ** setup number of slots and allocate memory for them X */ X if ( start_hour >= end_hour ) X err_rpt("Start Hour must be less than Stop Hour", FATAL); X n_tslots = (end_hour - start_hour) * 2; X n_slots = n_tslots + N_NOTESLOTS; X /* make room for n_slot dayslot entries and week entries */ X if ((slots = (struct dayslot *)malloc(n_slots* sizeof(struct dayslot))) == NULL) X err_rpt("Can't get enough storage for day slots", FATAL); X X do_files(); X closedate = today; X check_calendar(); X for (;;) { X /* only check appointments every TIME_OUT minutes */ X sleep(TIME_OUT); X check_calendar(); X } X} X X/* some stubs required by routines in common.c not used by calencheck */ Xnext_appt(i, j) Xint i, j; X{ X} X Xdraw_day_appts() X{ X} X Xdeactivate_slot(i, j) Xint i, j; X{ X} X Xint Xput_aentry(f, a) XFILE *f; Xstruct appts_entry *a; X{ X return 0; X} X Xworking(i) Xint i; X{ X} END_OF_FILE if test 2774 -ne `wc -c <'calencheck.c'`; then echo shar: \"'calencheck.c'\" unpacked with wrong size! fi # end of 'calencheck.c' fi if test -f 'calentool.1' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'calentool.1'\" else echo shar: Extracting \"'calentool.1'\" \(37695 characters\) sed "s/^X//" >'calentool.1' <<'END_OF_FILE' X.\" $Header: calentool.1,v 2.8 91/03/27 17:01:33 billr Exp $ X.\" X.TH CALENTOOL 1 "7 March 1991" X.ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2\*R X.SH NAME Xcalentool - day/week/month/year-at-a-glance SunView tool (the Hacker's Almanac) X.SH SYNOPSIS X.B calentool X[ X.B \-b X] X[ X.B \-B X] X[ X.B \-d X.I date X] X[ X.B \-f X.I apptsfile X] X[ X.B \-h X[ X.IR A | a | c | i | l | j | s X]] X[ X.B \-H X[ X.IR A | a | c | i | l | j | s X]] X[ X.B \-i X] X[ X.B \-l X[ X.IR 0 | 1 X]] X[{ X.B \-m X| X.B \-M X} X.I userid X] X[ X.B \-o X] X[{ X.B \-p X| X.B \-P X}{ X.IR d | w | W | m X}] X[ X.B \-r X] X[ X.B \-t X] X[ X.B \-u X.I int X] X[ X.B \-w X] X[ X.B \-z X] X[ X.B \-5 X] X[ X.B \-6 X] X[ X[ X.B \-7 X] X[ X.B \-12 X] X[ X.B \-24 X] X[ X.B \-e X] X[ X.B \-E X] X[ X.B \-T X.I printdev X] X[ X.B \-s X.I starthour X] X[ X.B \-S X.I stophour X] X[ X.B \-N X.I int X] X[ X.B \-x X.I int X] X[ X.I sunview options X] X.SH DESCRIPTION X.I Calentool Xis a day/week/month/year-at-a-glance tool. It is a Xwindow-based calendar; the only time you should have to type is Xwhen entering the text for an appointment. X.I Calentool Xprovides for both one-time and recurring appointments, as well as notes X(appointments or reminders with no associated time). A period of advance Xwarning can be specified. A visual warning (and optional auditory bell) Xare produced at the approach of a scheduled appointment. X.LP XBy employing appropriate options, this tool can be used to send reminders Xof appointments by X.IR mail (1), Xand to examine colleagues appointment schedules. Daily, weekly and Xmonthly schedules Xcan be sent to a \*(Ps printer. Outdated appointments can be sent Xautomatically to an archival file. An extensive set of files containing Xcommemorative dates is included, as well as a library of routines which Xcomputes the dates of various holidays which do not fall on fixed days Xof the Gregorian calendar (including religious holidays and astronomical Xevents). Lunar and solar almanacs are also included. X.LP XAlthough to take full advantage of X.I calentool Xyou should be operating within the SunView environment, the X.BR \-m , X.BR \-M , X.BR \-p , X.BR \-P , Xand X.B \-T Xoptions allow the Hacker's Almanac to be employed even from ordinary terminals. XThe accompanying utilities X.IR cal2ct (1L), X.IR month2ct (1L), Xand X.IR mt2ct (1L), Xtransform appointment files in X.IR calendar (1), X.IR month (1L), Xand X.IR monthtool (1L) Xformats to X.I calentool Xformat. X.LP XInstructions appear in the section DETAILED INSTRUCTIONS, which follows the XOPTIONS section. X.SH OPTIONS X.I Calentool Xaccepts standard X.I sunview Xcommand line options at the end of the command line. X.TP 15 X.B \-b XWhen an appointment is pending, a bell character (along with the appointment Xmessage) is sent to the console; only one reminder is sent for each Xappointment. Also, place a copy of the appointment text in the file X.IR $HOME/.msgfile . XThe text in this file is displayed by the screen lock program X.IR nlock (1L); Xnotifying passers-by of the user's current activity. X.TP X.B \-B XSimilar to X.B \-b Xexcept that the X.I calentool Xframe is opened instead of writing to the console. If both features are Xdesired, both options may be specified. X.TP X.BI \-d \ date XOpen the calendar at the day X.IR date , Xwhich may take on several formats: X.RS X.TP Xday of current week: XTue, Th, fr, MONDAY X.TP Xnumeric dates: XDD (day DD of current month, for example 27 for the 27th of this month) X.br XMO/DD (day DD of month MO, for example 11/12 for November 12) X.br XMO/DD/YY (day DD of month MO, year YY, for example 9/1/88 for 1 September 1988). X(If the X.B \-e Xor X.B \-E Xoptions are used, the date format is DD/MO and DD/MO/YY. X.TP Xrelative dates: X+n (n days from now, for example +1 for tomorrow) X.br X-n (n days ago, for example -1 for yesterday) X.RE X.TP X.B \-e XSet European (ISO) week display format (Monday through Sunday). When 7 day Xweek display is set, the display shows the days Monday through Sunday, Xrather than Sunday through Saturday. This also affects the month Xand year displays. With this option the weeks are numbered according Xto ISO standard. X.TP X.B \-E XSet all European style options. Currently, this includes: X.B \-24 Xand X.BR \-e . X.TP X.BI \-f \ apptsfile XUse X.I apptsfile Xas the appointments file. This is useful for seeing if Xother people on the net are free to attend a meeting. XIf everyone exports his appointments file (in a NFS environment) then Xpeople can plan appointments more effectively. X.IP XFile integrity can NOT be assured when this option is in use; Xif two people try to write to the same appointments file at the same time, the Xresult could be tragic. Only the person whose schedule is Xdescribed by a particular appointments file should have write permission for Xthat file. X.TP X.BI \-h " char" XCompute and display holidays which do not fall on set dates of the Gregorian Xcalendar. Notes appear in the day and week displays, and marks appear in Xthe month and year displays. This option is followed by a single character Xwhich indicates which set of holidays is to be computed (the option can be Xinvoked multiple times on the command line). The character codes for Xsupported date sets are: X.RS X.TP X.B A XUse all available date sets. When this option is chosen, the time required Xto produce a new display increases. It becomes long for the month display Xand extremely long for the year display. X.TP X.B a XAstronomical events (solstices and equinoxes). X.TP X.B c XChristian religious holidays. These dates may be inaccurate for years Xprior to the advent of the Gregorian calendar in 1582. X.TP X.B i XIslamic religious holidays. There are different conventions used by Muslim Xcountries to determine the dates in the Islamic calendar; the dates computed Xhere may differ by 1-2 days from the locally determined date. X.TP X.B l XLunar calendar (Chinese/Oriental) holidays (not yet implemented). X.TP X.B j XJewish religious holidays. These may not be accurate for years after 2000. XAlso note that until recent centuries, the Jewish calendar was regulated (like Xthe modern Islamic calendar) by sightings of the crescent Moon, so that Xdates for previous years must be interpreted with caution. X.TP X.B s XUS Secular holidays. X.RE X.TP X.BI \-H " char" XIdentical to the X.B \-h Xoption, except that computed dates are displayed only in the day and week Xdisplays; the month and year displays are not marked for these dates. X.TP X.B \-i XInclude all outdated appointments files (files named X.IR .appointments.yy , Xwhere X.I yy Xrepresents the last two digits of the appointment's year). X.TP X.BI \-l " int" XSet limit check for appointments. If X.I int Xis 0 or missing, then only the appointment time slots are checked when Xdetermining whether to show a "no appointments" icon or a standard icon. XWhen X.I int Xis 1, the notes are also included in the check. X.TP X.BI \-m " userid" X.PD 0 X.TP X.BI \-M " userid" X.PD XSend mail listing todays appointments to the user specified by X.I userid Xand exit. X.B \-m Xshows all notes, while X.B \-M Xdoes not show notes not marked for display in the month/year displays. XThis feature is useful when calentool is run from X.IR cron (1), Xto send yourself mail about today's appointments. No mail is Xsent about today's appointments, if there are none. XThe X.B \-p Xand X.B \-P Xoptions may be used with these options to mail yourself a whole weeks Xworth of appointments, e.g.: X.I Xcalentool -Pw -m billr. X(Note: this option eliminates the need for the separate program, X.IR calenmail (1L), Xwhich was distributed with earlier releases of X.IR calentool ). XBy default, the output generated by the -[mM] command is Xin ASCII. By using the X.B \-T Xoption, a different output format (e.g. \*(Ps) may be chosen. Month Xoutput is in \*(Ps only. X.TP X.BI \-N " int" XSet the number of noteslots displayed to X.I int Xslots. This is useful if the you increase the number of timeslots used Xand want to keep the overall display size down. X.TP X.B \-o XSave outdated appointments to an outdated Xappointments file (e.g., a file named X.IR .appointments.yy , Xwhere X.I yy Xrepresents the last two digits of the appointments year). XAn appointment is considered outdated at the beginning of the next Xyear or, if the X.BI \-x n Xoption is specified, X.I n Xdays after the appointment. X.TP X.BI \-p " char" X.PD 0 X.TP X.BI \-P " char" X.PD XPrint today's appointments and exit. This is useful for reviewing Xappointments from an ordinary terminal or X.IR shelltool "(1)." XThe X.I d, w, W, m Xmodifiers select a printout of the current day, week, week or month, Xrespectively. The X.I w Xoption prints a weeks worth starting at the beginning of the current week. X.I W Xprints a weeks worth starting at the current day. X.B \-p Xshows all notes, while X.B \-P Xdoes not show notes not marked for display in the month/year displays. XNo printout is provide of the current day's appointments, if there Xare none. XBy default, the output generated by the -[pP] command is Xin ASCII, except for month printouts where the default is \*(Ps. XBy using the X.B \-T Xoption, a different output format (e.g. \*(Ps) may be chosen. Month Xoutput is in \*(Ps only. X.TP X.B \-r XOpen the calendar tool in read-only mode. XAppointments can be edited, but no changes will be saved. XThe tool's banner strip will contain the string "[Read Only]". XThis is particularly useful for inspecting other users' appointment files Xwith the X.B -f Xoption. X.TP X.BI \-s " starthour" XSet the start hour for the day and week displays to X.I starthour Xhour (0 to 23). X.TP X.BI \-S " stophour" XSet the stop (end) hour for the day and week displays to X.I stophour Xhour (1 to 24). The end hour must be greater than the start hour. XIf the start stop span is large, you should change the default font Xto a smaller size font. This can be done with the X.B \-Wi XSunView window option or by setting it explicity in the defaults file X(see below). X.TP X.B \-t XDisplay the current time below the X.I calentool Xicon (no further need for X.IR clocktool (1)). X.TP X.BI \-T " device" XUse X.I device Xas the output format for printing or mailing appointments. The default Xis ASCII. The only currently supported option for X.I device Xis X.B ps Xor X.B psc Xwhich specifies \*(Ps output instead. X.TP X.BI \-u " int" XUpdate the time at the interval of X.I int Xseconds. X.TP X.B \-w XDisplay the "Working!" message in the control panel during Xlengthy operations. The cursor also changes to an hourglass. X.TP X.BI \-x " int" XExpire (delete) appointment file entries if they are older than X.I int Xdays old. If X.B \-o Xis set, entries are moved from Xthe appointments file to the outdated appointments file. XAppointments in #include files and read only appointments are not Xexpired. To expire included appointments, X.I calentool Xmust be run on the included file directly. X.TP X.B \-z XConvert appointments file used by earlier (pre 2.0) versions of X.I calentool Xto the format used by the current version. This option should be invoked only Xonce, the first time an old format file is read by X.IR calentool . X.TP X.B \-5 XDisplay only five days (Monday through Friday) in the week display. This is Xuseful if the installer has set the default display format to 6 or 7 days. X.TP X.B \-6 XDisplay six days (Monday through Saturday) in the week display. This is Xuseful if the installer has set the default display format to 5 or 7 days. X.TP X.B \-7 XDisplay all seven days in the week display. This is useful if the installer Xhas set the default value to 5 or 6 days. XSundat through Saturday is the standard format. Using the X.B \-e Xor X.B \-E Xoptions displays a Monday through Sunday format. XThe 7-day display is wider than the 5-day Xdisplay, allowing longer messages to be displayed on the day page. X.TP X.B \-12 XDisplay time in a 12-hour AM/PM format whenever practical. This is useful Xif the installer has set the default time format to 24-hour time. X.TP X.B \-24 XDisplay time in a 24-hour format. This is useful Xif the installer has set the default time format to 12-hour time. X.LP X.SH "DETAILED INSTRUCTIONS" X.SS "Examining the calendar" XWhen first opened, the tool displays the appointments for a single day (today Xif the X.B \-d Xoption has not been employed). The day page for today is demarcated in gray. XEach appointment or reminder is shown at its start time in reverse video. XIf the appointment lasts longer than 30 minutes an arrow is drawn from Xthe starting timeslot to the end of the appointment. XIf advance warning of future appointments has been requested, a popup Xdisplay appears. The day display containing a future appointment may be Xdisplayed if the future appointment is selected with the X.IR mouse-LB . XThe reminder popup may be removed permanently (during this X.I calentool Xsession) by selecting the X.B Done Xoption; if the X.B Keep Xoption is selected, the reminder window will reappear each time the current Xday page is displayed. X.LP XIf there are multiple appointments sharing a time slot, a X.B More Xbutton appears to the right of the time slot. This may be toggled repeatedly Xto view each appointment in turn. Any arrows for hidden appointments Xare drawn as X.I dashed Xlines to show all scheduled time at a glance. As the X.B More Xbutton is toggled, the arrows change state such that the new active Xappointment has arrows drawna s solid lines and the previous appointment's Xarrows (if any) are now dashed. XIf appointment text is too wide for the Xday page, scroll buttons appear to the right of the text and may be used to Xview the text in its entirety. When first displayed, all text is left Xjustified. X.SS "The control panel" XThe control subwindow contains various control buttons and todays date and Xtime. View the current week, month, or year by employing Xthe X.I mouse-LB Xto select the X.BR Week , X.BR Month , Xor X.B Year Xpanel buttons. Pushing the X.I mouse-RB Xin the X.BR Day , X.BR Week , X.BR Month , Xor X.BR Year Xpanel buttons activates pull-down menus with appropriate selections (certain Xof the selections may be inactivated due to the current display mode). The X.B Today Xpanel button redisplays today's day page. In each of the four display modes, Xthe X.B Previous Xand X.B Next Xpanel buttons move backward or forward one day, week, month or year, as Xappropriate (maintaining the current display mode). There are also pull-down Xmenus associated with these buttons, produced by selecting the X.I mouse-RB X(again, certain options may be inactivated according to the current display Xmode). The X.B Current Xbutton displays the current day, week, month or year, depending upon the current Xdisplay mode. A pull-down menu associated with the X.B Current Xbutton allows selection of the current day, week, month, or year displays, or Xdirect entry of a specific date for which a day page is to be displayed. XThe X.B Done Xbutton closes the frame to an icon. A pull-down menu associated with Xthe X.B Done Xbutton allows selection of either closing the frame or exiting the tool. X.SS "Week, month and year displays" XIn the week display, the initial part of each appointment message is visible. XIf there are overlapping appointments/notes, a X.B More Xbutton appears at the bottom of the day column, which prints a message Xreminding the user to select the day display to be able to view all of the Xappointments/notes. XThe day strip for today, if present, is demarcated in gray. XMove the cursor over any day of the week and select the X.I mouse-LB Xto view the indicated day display. X.LP XIn the month display, a triangular hatch-mark in the Xupper right-hand corner of a day indicates an appointment. XThe day box for today, if present, is demarcated in gray. XMove the cursor over any day of the month and select the X.I mouse-LB Xto view the indicated day display. Position the cursor Xover the arrow to the left of a week and select the X.I mouse-LB Xto view the indicated week. X.LP XIn the year display, a reverse-video date indicates an appointment. XToday's date, if present, is marked in gray. XMove the cursor over a particular month and select the X.I mouse-LB Xto select the indicated month display. X.LP XThe pulldown menu actuated within the top control bar of the window Xby selecting the X.I mouse-RB Xallows the tool to be closed, moved, terminated, etc. X.SS "Lunar and Solar data" XSelection of the Sun or Moon icons in the day display reveals Xinformation about rising and setting times, lunar phases, local Xtime, sidereal time, etc. An abbreviated solar data display is shown Xif the day currently being displayed is not today. X.SS "Iconic warning of an appointment" XWhen X.I calentool Xis in iconic form, the icon is inverted to a reverse video representation Xprior to a scheduled appointment and remains inverted Xfor the duration of the appointment. The amount of advance warning given Xis set by the X.B modify Xmenu, with a default of 10 minutes. X.LP XWhen there are no appointments or notes remaining for the current day, Xan alternate icon with an empty page is displayed instead of the Xstandard or reverse video icons. XFor all icons, today's month and day of month are displayed at the Xbottom of the icon's calendar page. X.SS "Entering appointments" XAppointments can only be entered in the day display. The day display presents Xa number of labeled time slots (generally 30 minute intervals) as well as a X.I notes Xsection at the end of the day page, to enter reminders not associated with a Xspecific time. To enter an appointment, position the cursor over the required Xtime slot and press the X.IR mouse-LB . XThe slot is toggled from white to black, leaving the cursor positioned in the Xslot; type appropriate descriptive text. If the text exceeds the size of the Xwindow, scroll buttons will appear to the right. Typing new text into the Xtime slot automatically right-justifies the text already present, so that the Xnew text is appended. To indicate the duration of any appointment, click the X.I mouse-MB Xin the initial time slot (any existing duration arrow will be deleted); Xa vertical indicator arrow appears and follows the cursor. Drag the cursor Xto the location of the final time slot and release the button. XThe SunView L6 and L8 keys (COPY/PASTE or PUT/GET) may be also be Xused to paste the text from the shelf to an active appoinment slot Xor from an appointment slot to the shelf. When inserting a string Xin calentool using PASTE the slot must be active first (i.e. the X.I mouse-LB Xmust have been pressed first. X.SS "Changing an appointment" XSelecting the X.I mouse-RB Xin the highlighted time slot produces a popup menu with the options X.BR modify , X.BR cut , X.BR paste , X.BR copy , X.BR delete , Xand X.BR undelete . XTo delete the current appointment, storing it in a temporary buffer, Xselect the X.B cut Xoption. To copy the text of an appointment into the buffer without deleting Xit, select X.BR copy , XTo place the text of a buffer-stored appointment into a time slot, click the X.I mouse-RB Xin the new time slot, and then select the X.B paste Xoption. X.LP XTo delete the current appointment, select the X.B delete Xoption. If the appointment in question is recurring, a special subwindow Xappears which allows the user to delete (or move) every occurrence or Xjust today's occurrence. If the latter is selected, the X.B undelete Xoption is activated, which allows today's occurrence to be reinstated. X.SS "Appointment modifiers" XAn appointment may be further modified be selecting the X.B modify Xoption. This causes an options subwindow to appear, in which the user Xmay specify that the appointment is to be repeated every day, for selected Xweeks of the month (first through fifth, last or every Monday thru XFriday), every month, and/or every year. Alternatively, Xthe appointment may be repeated at a specified interval of days. The user can Xalso specify a period of days prior to the appointment for which an Xadvance warning will be printed; how many times this appointment will be repeated; Xand how many minutes ahead of the scheduled time the user should be Xreminded about an appointment (default is 10 minutes). XFor example, one could specify that a meeting is to occur Xon the first and third Tuesday of the month, in perpetuity, by selecting Xthe repeat options X.BR "Selected Week" , X.BR "Every Month" , Xand X.BR "Every Year" , Xas well as the selected week indicators X.B 1st Xand X.BR 3rd . XAfter selecting the appointment options, the user can select either X.B Accept Xor X.B Abort Xto close the options subwindow. X.SS "Entering notes" XEntering notes is similar to entering appointments, except that no duration Xarrows can be appended, and the modify panel allows the user to indicate Xwhether or not the note is to be used to mark the month and year displays, Xor to be printed (or mailed) when the X.B \-P X(or X.BR \-M ) Xoption is invoked. X.SS "Printing appointments" XThe X.B Print Xbutton prints a copy of the day, week, or month display. Pressing the X.I mouse-RB Xover this button produces a popup menu which allows either a raster image or Xa \*(Ps version of the current display to be printed. A third option allows Xmodification of the default print command. The default print command is taken from Xthe first provided by the following sources: the X.I $HOME/.defaults Xfile, the X.I PRINTER Xenvironment variable, and the X.I PRINT_CMD Xvalue provided by the system manager at the time of installation. XThe printer output can also be sent to a file instead of directly to Xthe printer. X.SS "Saving outdated appointments" XAppointments are recorded in a file named X.IR .appointments . XIf the X.B \-o Xoption is in effect, at the end of a year all appointments for the Xpast year are copied into a special file with a name X.I .yy X(where X.I yy Xcontains the final two digits of the past year). These appointments are then Xdeleted from the current appointments file. If the X.B \-x Xand X.B \-o Xoptions are in effect, expired appointments are also copied to the outdated Xfile, rather than being purged. X.SS "Examining other appointment files" XThe X.B File Xbutton displays a window in which an alternate X.I .appointments Xfile can be specified. This is useful for maintaining multiple appointment Xbooks or for examining colleagues' calendars. The file can be made Xread-only or read-write according to the toggle option, and a file name can Xbe typed into the window. The X.B Accept Xbutton Xinitiates reading of the currently displayed file, while X.B Done Xcloses the window without further action. XThe X.B Original Xbutton restores the original file name that calentool was invoke with. XThe X.B Reset Xbutton undoes any filename changes that have been made prior to Xselecting X.BR Accept . XThe X.B Update Xbutton updates the current appointments file with any changes made that Xhave not yet been logged. X.SH "FILE FORMAT" XUsing an included file (see below) is the one instance where manual editing Xof the X.I .appointments Xfile is still required (although one could use the window-based aids of X.I calentool Xto build such a file, by means of the X.B \-f Xoption, the include command must still be edited into the primary Xappointment file). The appointments file contains four types of lines: X.br X.nf X \fC# CalenTool V2 - DO NOT REMOVE THIS LINE X #include "file" X # X YY MO DD HH MI AA [II] +RR %AA # \fImessage\fP X.fi X.SS Header line XThe first line in an X.I appointments Xfile identifies the version of X.I calentool Xin use. This line should never be removed. X.SS Included appointment files XA X.B non-editable Xappointments file (for example, one containing site specific holidays) can Xbe included. Three formats are possbile for specifying such a file: X.br X #include "/pathname/file" X.br Xor X.br X #include "file" X.br Xor X.br X #include X.br XIn the second case, the file will be prepended with the pathname used for the Xappointments file. In the last case, the included file is assumed to reside Xin a system-wide library directory specified at the time of installation X(see your system administrator). The # X.B must Xstart in column 1 of the appointments file. The first line of an included file Xmust also have a header line. Included files may not include other files. X.SS Comment line XA X.I # Xin column one (not followed by the string "include") indicates a comment; Xthe rest of the line is ignored. X.SS Appointment/Note entries XAll fields are separated by at least one space character. X.RS X.SS Mandatory entries XThe X.I YY Xfield is the year (00-99), the X.I MO Xfield is the month (1-12) and X.I DD Xis the day (1-31). The X.I DD Xfield can also contain a two-character alphabetic string describing Xa day of the week: Su, Mo, Tu, We, Th, Fr, Sa or MF (Monday thru Friday). XThis feature is used in conjunction with wildcards (see below), and the X.I [II] Xfield, which must appear within square brackets, and which can contain the Xdigits 1-5 and the letter L, separated by commas, to indicate the first Xthrough fifth (or last) monthly occurrence of the specified day of the week. X.I HH Xand X.I MI Xare the starting hour (00-23) and Xminutes (00 or 30). XThe X.I AA Xfield is the number of arrow bars (additional 30 minute Xtime slots) required. X.SS Notes XA X.I HH Xvalue of 99 indicates a note, rather than an appointment, Xwith X.I MI Xdesignating whether presence of the note is to be shown (marked) in the month and year Xpanels (00 indicates that it is to be marked, 99 indicates that it should not Xbe marked). X.SS Wildcards for recurring appointments/notes XA double asterisk (**) can be used in place of the year, month and/or day Xfields to indicate every year, month or day. X.SS Optional entries XThe X.I [II] Xfield appears within square brackets, and (if the DD field contains a Xnumerical value) is taken to be an interval in days between recurring Xappointments. The X.I Xfield appears within broken brackets, and indicates the number of Xdays of advance warning required. The X.I +RR Xfield is preceded by a plus sign, and indicates the repetition count Xfor a given appointment. The X.I %AA Xfield is preceded by a percent sign, and indicates the number of minutes Xin advance of an appointment the user should be reminded. If this field Xdoes not exist, the default value of 10 minutes is used. X.SS Appointment text XIf a # character appears in front of the text, it indicates that a recurring Xappointment has been suppressed for that day. A leading '\\' character Xis prepended to a text entry that starts with special characters to Xprevent the text from being misinterpreted as appointment options. X.SS Example entries XA meeting that occurs weekly at 0900 and lasts for 1 hour, starting on XApril 1st, would be represented as: X.br X.nf X \fC88 04 01 09 00 01 [7] Weekly status meeting\fP X.fi XSeveral other examples: X.nf X \fC** 04 01 99 99 00 April Fool's Day X ** ** Tu 10 30 00 [1,3] Meeting on 1st and 3rd Tues. of Month X ** ** 01 99 00 00 <1> First day of every month, one day warning X 88 05 ** 99 99 00 On vacation for entire month of May 1988 X 89 11 06 99 00 00 +4 SigFishing Conference X ** ** MF 17 00 00 Daily backups\fP X.fi X.RE X.SH "SUPPLIED SPECIAL DATES FILES" X.I Calentool Xis supplied with a number of system-wide special dates files which may be Xincluded in a user's X.I .appointments Xfile: X.RS X.TP 15 Xancient XEvents celebrated in ancient times X.TP Xcan_holiday XMajor Canadian holidays (holidays from work) X.TP Xceltic XHolidays/events of interest to Celts X.TP Xcomputing XEvents in the history of computing X.TP Xevents XHistorical events (major and minor) X.TP Xgdead XDates concerning the rock group Grateful Dead X.TP Xhawaii XHistorical events pertaining to Hawaii X.TP Xliterature XHistorical events pertaining to literature, newspapers and comics X.TP Xlives XBiographical dates of note (births, deaths, weddings) X.TP Xlotr XSpecial dates for fans of Tolkien's X.I Lord of the Rings X.TP Xmovies XHistorical events pertaining to motion pictures X.TP Xmovies XHistorical events pertaining to the music world (both popular and traditional) X.TP Xradio XHistorical events pertaining to radio X.TP Xsfo XHistorical events pertaining to San Francisco, CA and the surrounding area X.TP Xspace XDates of note in the history of the exploration of outer space X.TP Xsports XDates concerning sports. X.TP Xtelevision XDates concerning television programs and history of tv. X.TP Xusa_holiday XMajor US holidays (holidays from work) X.TP Xusa_other XMinor US/Canadian holidays X.TP Xusa_states XUS holidays specific to selected states X.TP Xwitchcraft XDates of interest to witches and warlocks X.TP Xworld XHolidays from countries other than the US/Canada X.RE X.SH "ENVIRONMENT VARIABLES, INITIALIZATION FILES, AND COMPILATION OPTIONS" X.LP XBy default, the X.I .appointments Xfile employed by X.I calentool Xresides Xin the users' home directory. Alternatively, the environment variable XCALENTOOL_DIR can be set to the full pathname of a directory where the X.I .appointments Xfile resides. X.I Calentool Xmust have write permission in the directory to be used. X.LP X.I Calentool Xalso recognizes "/CalenTool/Appts", "/CalenTool/Font", "/CalenTool/BigFont", X"/CalenTool/LibDir" and "/CalenTool/Printer" Xentries in the X.IR suntools (1) Xinitialization file, X.IR .defaults . XThe "/CalenTool/Appts" entry, if it exists, is used instead of the CALENTOOL_DIR Xor HOME environment variables when searching for the X.I .appointments Xfile. "/CalenTool/Appts" should be the full pathname of the appointments Xfile (e.g. /usr/local/lib/calentool/billr.appts). [Useful if everyone's Xappointment files are NFS'd from a common directory.] XThe normal font (by default, the default system font) may be changed Xby use of the "/CalenTool/Font" entry. The X.IR suntools (1) X.B \-Wt Xoption will override the entry in the X.I .defaults Xfile. XThe default large font (gallant.r.10) may be changed by use of Xthe "/CalenTool/BigFont" entry. XThe "/CalenTool/LibDir" entry overrides the compile time default directory Xfor files specified with the X.I #include Xappointment file entry (such as the special date files mentioned Xabove). The "/CalenTool/Printer" entry overrides the compile time Xdefault and PRINTER environment variable for the printer name. X.LP XCompile time options allow modification of the start and ending year for the Xyear pull-down menu, and various parameters defining the display. X.SH FILES X.TP 30 X$HOME/.appointments Xdefault appointments file X.TP X$HOME/.defaults X.IR suntools (1) Xdefaults initialization file X.TP X/tmp/appts* Xdefault temporary appointments file, while active X.TP X$HOME/.msgfile Xmessage file (containing current appointment) for X.IR nlock (1L) Xprogram X.TP X/usr/local/lib/calentool Xdefault directory containing special date inclusion files X.TP X/usr/lib/defaults/CalenTool.d Xfile specifying system-wide alternate fonts and directories; such information may also be appended to a user's X.I $HOME/.defaults Xfile X.TP X/usr/tmp/calentool.ps Xfile used when \*(Ps printer File Only output is selected X.TP X/usr/tmp/calentool.ras Xfile used when raster printer File Only output is selected X.SH "SEE ALSO" Xcal(1), cal2ct(1L), calencheck(1L), calendar(1), clocktool(1), cron(8), Xmail(1), month(1L), monthtool(1L), month2ct(1L), mt2ct(1L), Xnlock(1L), suntools(1) X.SH REFERENCES XAn excellent compendium which describes basic terminology of time measurement, Xmethods of astronomical computation, and the convoluted history of calendars: X.IP "" XThe Nautical Almanac Offices of the United Kingdom and the United States of XAmerica, \fIExplanatory Supplement to the Astronomical Ephemeris and the XAmerican Ephemeris and Nautical Almanac\fP, Her Majesty's Stationery Office, XLondon, 1961 (reprinted with amendments, 1977). X.LP XThe best single source for practical computations of solar and lunar data: X.IP "" XJean Meeus, \fIAstronomical Formulae for Calculators\fP, \fIMonografieen Xover Astronomie en Astrofysica\fP, Volkssterrenwacht Urania V.Z.W., XMattheessensstraat 62, B 2540 Hove, Belgium, Vereniging voor Sterrenkunde XV.Z.W., Ringlaan 3, B 1180 Brussel, Belgium, Vol. 4, Derde Druk, October 1980. X.LP XOther helpful references for astronomical computations: X.IP "" XEric Burgess, \fICelestial BASIC\fP, Revised Edition, Sybex, 1985 (cookbook Xoriented, many algorithms hard to dig out of turgid BASIC). X.IP "" XPierre Bretagnon and Jean-Louis Simon, \fIPlanetary Programs and Tables Xfrom -4000 to +2800\fP, Willmann-Bell, 1986 (for utmost accuracy in Xplanetary computations). X.LP XA non-scholarly work with easily implemented algorithms for computation of XChristian and Jewish holidays and (an approximation to) the Islamic New Year: X.IP "" XWolfgang Alexander Schocken, \fIThe calculated confusion of calendars; Xpuzzles in Christian, Jewish and Moslem calendars\fP, 1st Ed., Vantage Press, XNew York, 1976. X.LP XUseful tables and additional information about the Islamic calendar: X.IP "" XG. S. P. Freeman-Grenville, \fIThe Muslim and Christian Calendars\fP, XOxford University Press, London, 1963. X.IP "" XF. R. Unat, \fIHicri Tarihleri\fP, Turktarih Kurumu Basimevi, Ankara, 1959 (Turkish). X.IP "" XU. V. Tsybulsky, \fICalendar of Middle Eastern Countries\fP, Nauka XPublishing House, Moscow, 1979 (English). X.LP XInformation (regrettably, not at all current) about Japanese holidays: X.IP "" XW. H. Erskine, \fIJapanese Festival and Calendar Lore\fP, XKyo Bun Kwan, Tokyo, 1933. X.SH "CALLING ALL HACKERS" XPlease help extend the special dates files and date computation library X(only carefully verified dates and algorithms, please!). In particular, it Xwould be splendid if someone would expand the range of astronomical Xcomputations, which currently include only the equinoxes and solstices; Xone could add dates/times of the major meteor showers, planetary risings and Xsettings, etc. Perhaps a sailing buff could build in high/low tide estimations. XThe lunar calendar date computation library remains to be completed. XThere are many other historical and contemporary calendrical systems we have Xoverlooked (Egyptian, Armenian, Babylonian, Greek, Julian, Indian, and Russian, Xas well as ecclesiatical calendars such as the Alexandrian). The present dates Xlibrary provides useful calendrical computations not currently exploited by X.IR calentool , Xsuch as determining the number of days, or weekdays, or Mondays Xbetween two dates. Perhaps a third icon could be placed next to those for Xthe solar and lunar almanacs, which would open a calendrical computation window. XIt would be very useful if someone would write a X.IR curses (3X) Xbased front-end for X.I calentool Xformat date files for those not using X.IR suntools (1). XAn efficient way of doing this might be to merge X.I calentool Xwith the excellent X.IR Dates (1L) Xprogram of Dain Samples (samples@dougfir.berkeley.edu). X.LP XAn XView version of X.I calentool Xis also available. X.LP XMail suggestions, corrections, and additions for the Hacker's Almanac to XBill Randle (billr@saab.CNA.TEK.COM). X.SH BUGS XWithout a doubt, but hopefully pretty minor. X.SH CAUTIONS XNote that the dates computed here are for the Gregorian calendar, which Xwas a modification of the Julian calendar first introduced in 1582. XCountries have adapted this system as recently as 1927 (Turkey), and in Xsome countries it is used as a civil calendar in co-existence with a separate Xindigenous calendar system. Apply caution in using computed dates for Xnon-recent years and non-European countries. X.SH AUTHORS XThe original version of X.I calentool Xwas contributed to the Sun User Group tape (17 April 1987) by XPhilip Heller (Sun Microsystems, heller%terrapin@sun.COM). Sun Microsystems Xowns this program, but has no interest in maintaining it. X.LP XExtensive corrections and additions have been executed by XBill Randle (Tektronix, Inc., billr@saab.CNA.TEK.COM); it is likely that XPhil Heller would recognize little of the current program! XR. P. C. Rodgers (rodgers@maxwell.mmwb.ucsf.edu, School of Pharmacy, XUniversity of California, San Francisco) performed extensive beta Xtesting, made numerous design suggestions, and contributed the holiday Xcomputation library, icons, manual pages, and special dates files. The initial Xset of special dates files were modified from earlier net postings contributed Xby Rich Kulawiec (rsk@boulder.Colorado.EDU) and XDick Wexelblat (...decvax!ittvax!wxlvax!rlw), assisted by the following Xcontributors known only by their network addresses: X(ittvax!decvax!harpo!eagle!mhuxl!ihnp4!ihuxw!pector), X(ittvax!bunker!dick), X(decvax!sii!mem), X(ittvax!decvax!bellcore!yquem!psl), X(seismo!rochester!rocksvax!sunybcs!colonel), Xand X(decvax!seismo!rochester!ritcv!ccieng5!ccieng6!wla), Xin addition to others whose identifications have been lost (speak up!). XMore dates were obtained from "Today in History" by Robert Heckendorn Xat Hewlett-Packard in Fort Collins, Colorado (robert@fc.hp.com) for Xwhich the conversion to calentool format was done by Larry W. Virden X(lwv27%cas.BITNET@CUNYVM.CUNY.Edu). X.LP XWe thank Dr. Omar Afzal of Cornell University (Chairman of the Committee Xfor Crescent Observation) for his help in implementing the Islamic date Xcomputations. XThe lunar computations were adapted from a network posting of John Walker Xof Autodeck, Inc. (Sausalito, CA, sun!acad!kelvin), the solar computations Xwere adapted from a network posting of Marc T. Kaufman (Los Altos, CA), Xthe raster to \*(Ps conversion was adapted from a network posting Xby Glenn Boysko of Case Western Reserve University and the pcal code Xfor printing the pretty month calendar was adapted from a network Xposting by Ken Keirnan of Pacific Bell. X.LP XPaul Blumstein (Citicorp/TTI, paulb@harley.tti.COM), XMark Feblowitz (GTE Laboratories, mdf0%shemesh@gte.COM), XDennis Calkins (Teradata Corp., tdat!dc1@suntzu.sun.com), XHakan Kallberg (Simulina AB, hk@simulina.se), XBaron O.A. Grey (UCLA, baron@lanai.cs.ucla.edu), XMatt Landau (BBN Laboratories, mlandau@bbn.COM), XDavid St. Pierre (Pacific Bell, david@pbsaint.PacBell.COM), XCasey Leedom (Lawrence Livermore Laboratories, casey@lll-crg.llnl.GOV), Xand Alfred Correira (UniSQL, Inc. alfred@unisql.uucp) Xalso provided useful suggestions, patches and feedback on previous releases, Xas did many others. X.\" end of man page END_OF_FILE if test 37695 -ne `wc -c <'calentool.1'`; then echo shar: \"'calentool.1'\" unpacked with wrong size! fi # end of 'calentool.1' fi echo shar: End of archive 6 \(of 23\). cp /dev/null ark6isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 23 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 exit 0 # Just in case... -- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM Sterling Software, IMD UUCP: uunet!sparky!kent Phone: (402) 291-8300 FAX: (402) 291-4362 Please send comp.sources.misc-related mail to kent@uunet.uu.net.