Annotation of src/usr.bin/calendar/calendar.1, Revision 1.3
1.3 ! millert 1: .\" $OpenBSD: calendar.1,v 1.2 1996/06/26 05:31:45 deraadt Exp $
1.1 deraadt 2: .\"
3: .\" Copyright (c) 1989, 1990, 1993
1.3 ! millert 4: .\" The Regents of the University of California. All rights reserved.
1.1 deraadt 5: .\"
6: .\" Redistribution and use in source and binary forms, with or without
7: .\" modification, are permitted provided that the following conditions
8: .\" are met:
9: .\" 1. Redistributions of source code must retain the above copyright
10: .\" notice, this list of conditions and the following disclaimer.
11: .\" 2. Redistributions in binary form must reproduce the above copyright
12: .\" notice, this list of conditions and the following disclaimer in the
13: .\" documentation and/or other materials provided with the distribution.
14: .\" 3. All advertising materials mentioning features or use of this software
15: .\" must display the following acknowledgement:
1.3 ! millert 16: .\" This product includes software developed by the University of
! 17: .\" California, Berkeley and its contributors.
1.1 deraadt 18: .\" 4. Neither the name of the University nor the names of its contributors
19: .\" may be used to endorse or promote products derived from this software
20: .\" without specific prior written permission.
21: .\"
22: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32: .\" SUCH DAMAGE.
33: .\"
1.3 ! millert 34: .\" @(#)calendar.1 8.1 (Berkeley) 6/29/93
1.1 deraadt 35: .\"
36: .Dd June 29, 1993
37: .Dt CALENDAR 1
38: .Os
39: .Sh NAME
40: .Nm calendar
41: .Nd reminder service
42: .Sh SYNOPSIS
43: .Nm calendar
44: .Op Fl a
1.3 ! millert 45: .Op Fl A Ar num
! 46: .Op Fl B Ar num
! 47: .Oo Fl t Ar dd
! 48: .Sm off
! 49: .Op . Ar mm Op . Ar year
! 50: .Sm on
! 51: .Oc
! 52: .Op Fl f Ar calendarfile
1.1 deraadt 53: .Sh DESCRIPTION
1.3 ! millert 54: The
1.1 deraadt 55: .Nm calendar
56: utility checks the current directory or the directory specified by the
57: .Dq Ev CALENDAR_DIR
58: environment variable for a file named
59: .Pa calendar
60: and displays lines that begin with either today's date
61: or tomorrow's.
62: On Fridays, events on Friday through Monday are displayed.
63: .Pp
64: The following options are available:
65: .Bl -tag -width Ds
66: .It Fl a
67: Process the ``calendar'' files of all users and mail the results
68: to them.
69: This requires super-user privileges.
1.3 ! millert 70: .It Fl A Ar num
! 71: print lines from today and next
! 72: .Ar num
! 73: days (forward, future)
! 74: .It Fl B Ar num
! 75: print lines from today and previous
! 76: .Ar num
! 77: days (backward, past)
! 78: .It Fl f Pa calendarfile
! 79: use
! 80: .Pa calendarfile
! 81: as default calendar file.
! 82: .It Xo Fl t
! 83: .Sm off
! 84: .Ar dd
! 85: .Op . Ar mm Op . Ar year
! 86: .Sm on
! 87: .Xc
! 88: for test purposes only: set date directly to argument values.
1.1 deraadt 89: .El
90: .Pp
1.3 ! millert 91: To handle calendars in your national code table you can specify
! 92: .Dq LANG=<locale_name>
! 93: in the calendar file as early as possible. To handle national Easter
! 94: names in the calendars
! 95: .Dq Easter=<national_name>
! 96: (for Catholic Easter) or
! 97: .Dq Paskha=<national_name>
! 98: (for Orthodox Easter) can be used.
! 99: .Pp
! 100: Other lines should begin with a month and day.
1.1 deraadt 101: They may be entered in almost any format, either numeric or as character
102: strings.
1.3 ! millert 103: If proper locale is set, national months and weekdays
! 104: names can be used.
1.1 deraadt 105: A single asterisk (``*'') matches every month.
106: A day without a month matches that day of every week.
107: A month without a day matches the first of that month.
108: Two numbers default to the month followed by the day.
109: Lines with leading tabs default to the last entered date, allowing
110: multiple line specifications for a single date.
1.3 ! millert 111: ``Easter'', may be followed by an positive or negative integer, is
! 112: Easter for this year.
! 113: ``Paskha'', may be followed by an positive or negative integer, is
! 114: Orthodox Easter for this year.
! 115: Weekdays may be followed by ``-4'' ... ``+5'' (aliases
! 116: last, first, second, third, fourth) for moving events like
! 117: ``the last Monday in April''
! 118: .Pp
1.1 deraadt 119: By convention, dates followed by an asterisk are not fixed, i.e., change
120: from year to year.
121: .Pp
1.3 ! millert 122: Day description start after the first <tab> character in the line;
! 123: if the line not contains <tab> character, it isn't printed out.
! 124: If the first character in the line is a <tab> character, it is treated as
! 125: continue of previous description.
! 126: .Pp
1.1 deraadt 127: The ``calendar'' file is preprocessed by
128: .Xr cpp 1 ,
129: allowing the inclusion of shared files such as company holidays or
130: meetings.
131: If the shared file is not referenced by a full pathname,
132: .Xr cpp 1
133: searches in the current (or home) directory first, and then in the
134: directory
135: .Pa /usr/share/calendar .
136: Empty lines and lines protected by the C commenting syntax
137: .Pq Li /* ... */
138: are ignored.
139: .Pp
1.3 ! millert 140: Some possible calendar entries (<tab> characters highlighted by
! 141: \fB\et\fR sequence)
1.1 deraadt 142: .Bd -unfilled -offset indent
1.3 ! millert 143: LANG=C
! 144: Easter=Ostern
! 145:
! 146: #include <calendar.usholiday>
! 147: #include <calendar.birthday>
! 148:
! 149: 6/15\fB\et\fRJune 15 (if ambiguous, will default to month/day).
! 150: Jun. 15\fB\et\fRJune 15.
! 151: 15 June\fB\et\fRJune 15.
! 152: Thursday\fB\et\fREvery Thursday.
! 153: June\fB\et\fREvery June 1st.
! 154: 15 *\fB\et\fR15th of every month.
1.1 deraadt 155:
1.3 ! millert 156: May Sun+2\fB\et\fRsecond Sunday in May (Muttertag)
! 157: 04/SunLast\fB\et\fRlast Sunday in April,
! 158: \fB\et\fRsummer time in Europe
! 159: Easter\fB\et\fREaster
! 160: Ostern-2\fB\et\fRGood Friday (2 days before Easter)
! 161: Paskha\fB\et\fROrthodox Easter
1.1 deraadt 162: .Ed
163: .Sh FILES
1.3 ! millert 164: .Pp
! 165: .Bl -tag -width calendar.christian -compact
! 166: .It Pa calendar
! 167: file in current directory
! 168:
! 169: .It Pa ~/.calendar
! 170: .Pa calendar
! 171: HOME directory.
! 172: .Nm calendar
! 173: does a chdir into this directory if it exists.
! 174:
! 175: .It Pa ~/.calendar/calendar
! 176: calendar file to use if no calendar file exists in the current directory.
! 177:
! 178: .It Pa ~/.calendar/nomail
! 179: do not send mail if this file exists.
! 180: .El
! 181:
1.1 deraadt 182: The following default calendar files are provided:
183: .Pp
184: .Bl -tag -width calendar.christian -compact
185: .It Pa calendar.birthday
186: Births and deaths of famous (and not-so-famous) people.
1.3 ! millert 187:
1.1 deraadt 188: .It Pa calendar.christian
189: Christian holidays.
190: This calendar should be updated yearly by the local system administrator
191: so that roving holidays are set correctly for the current year.
1.3 ! millert 192:
1.1 deraadt 193: .It Pa calendar.computer
194: Days of special significance to computer people.
1.3 ! millert 195:
1.1 deraadt 196: .It Pa calendar.history
197: Everything else, mostly U. S. historical events.
1.3 ! millert 198:
1.1 deraadt 199: .It Pa calendar.holiday
200: Other holidays, including the not-well-known, obscure, and
201: .Em really
202: obscure.
1.3 ! millert 203:
1.1 deraadt 204: .It Pa calendar.judaic
205: Jewish holidays.
206: This calendar should be updated yearly by the local system administrator
207: so that roving holidays are set correctly for the current year.
1.3 ! millert 208:
1.1 deraadt 209: .It Pa calendar.music
1.3 ! millert 210: Musical events, births, and deaths.
! 211: Strongly oriented toward rock 'n' roll.
! 212:
1.1 deraadt 213: .It Pa calendar.usholiday
214: U.S. holidays.
215: This calendar should be updated yearly by the local system administrator
216: so that roving holidays are set correctly for the current year.
1.3 ! millert 217:
! 218: .It Pa calendar.german
! 219: German calendar.
! 220:
! 221: .It Pa calendar.russian
! 222: Russian calendar.
1.1 deraadt 223: .El
224: .Sh SEE ALSO
225: .Xr at 1 ,
226: .Xr cpp 1 ,
1.3 ! millert 227: .Xr cron 8 ,
! 228: .Xr mail 1
1.1 deraadt 229: .Sh COMPATIBILITY
230: The
231: .Nm calendar
232: program previously selected lines which had the correct date anywhere
233: in the line.
234: This is no longer true, the date is only recognized when it occurs
1.3 ! millert 235: at the beginning of a line.
1.1 deraadt 236: .Sh HISTORY
237: A
238: .Nm
1.3 ! millert 239: command appeared in
1.1 deraadt 240: .At v7 .
241: .Sh BUGS
242: .Nm Calendar
1.3 ! millert 243: doesn't handle Jewish holidays and moon phases.