Annotation of src/usr.bin/calendar/calendar.1, Revision 1.42
1.42 ! jmc 1: .\" $OpenBSD: calendar.1,v 1.41 2016/01/14 20:08:01 jmc 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.
1.22 millert 14: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 15: .\" may be used to endorse or promote products derived from this software
16: .\" without specific prior written permission.
17: .\"
18: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28: .\" SUCH DAMAGE.
29: .\"
1.3 millert 30: .\" @(#)calendar.1 8.1 (Berkeley) 6/29/93
1.1 deraadt 31: .\"
1.42 ! jmc 32: .Dd $Mdocdate: January 14 2016 $
1.1 deraadt 33: .Dt CALENDAR 1
34: .Os
35: .Sh NAME
36: .Nm calendar
37: .Nd reminder service
38: .Sh SYNOPSIS
1.10 aaron 39: .Nm calendar
1.40 espie 40: .Op Fl abw
1.3 millert 41: .Op Fl A Ar num
42: .Op Fl B Ar num
1.15 mickey 43: .Op Fl f Ar calendarfile
1.38 schwarze 44: .Op Fl t Oo Oo Oo Ar cc Oc Ns Ar yy Oc Ns Ar mm Oc Ns Ar dd
1.1 deraadt 45: .Sh DESCRIPTION
1.3 millert 46: The
1.9 pjanzen 47: .Nm
1.1 deraadt 48: utility checks the current directory or the directory specified by the
1.5 aaron 49: .Ev CALENDAR_DIR
1.1 deraadt 50: environment variable for a file named
51: .Pa calendar
52: and displays lines that begin with either today's date
53: or tomorrow's.
54: On Fridays, events on Friday through Monday are displayed.
55: .Pp
1.12 aaron 56: The options are as follows:
1.1 deraadt 57: .Bl -tag -width Ds
1.25 jmc 58: .It Fl A Ar num
59: Print lines from today and next
60: .Ar num
61: days (forward, future).
1.1 deraadt 62: .It Fl a
1.9 pjanzen 63: Process the
64: .Dq calendar
65: files of all users and mail the results
1.1 deraadt 66: to them.
1.14 aaron 67: This requires superuser privileges.
1.3 millert 68: .It Fl B Ar num
1.5 aaron 69: Print lines from today and previous
1.3 millert 70: .Ar num
1.5 aaron 71: days (backward, past).
1.25 jmc 72: .It Fl b
1.39 zhuk 73: Enforce special date calculation mode for Cyrillic calendars.
1.37 schwarze 74: .It Fl f Ar calendarfile
1.5 aaron 75: Use
1.37 schwarze 76: .Ar calendarfile
1.5 aaron 77: as the default calendar file.
1.38 schwarze 78: .It Fl t Oo Oo Oo Ar cc Oc Ns Ar yy Oc Ns Ar mm Oc Ns Ar dd
1.9 pjanzen 79: Act like the specified value is
80: .Dq today
81: instead of using the current date.
1.35 jmc 82: If yy is specified, but cc is not,
83: a value for yy between 69 and 99 results in a cc value of 19.
84: Otherwise, a cc value of 20 is used.
1.40 espie 85: .It Fl w
86: Print day of the week name in front of each event.
1.1 deraadt 87: .El
88: .Pp
1.3 millert 89: To handle calendars in your national code table you can specify
90: .Dq LANG=<locale_name>
1.13 aaron 91: in the calendar file as early as possible.
92: To handle national Easter names in the calendars,
1.3 millert 93: .Dq Easter=<national_name>
94: (for Catholic Easter) or
95: .Dq Paskha=<national_name>
96: (for Orthodox Easter) can be used.
1.26 mickey 97: .Pp
1.27 jmc 98: The
1.26 mickey 99: .Dq CALENDAR
100: variable can be used to specify the style.
101: Only
102: .Sq Julian
103: and
104: .Sq Gregorian
105: styles are currently supported.
106: Use
107: .Dq CALENDAR=
108: to return to the default (Gregorian).
1.16 mickey 109: .Pp
110: To enforce special date calculation mode for Cyrillic calendars
111: you should specify
112: .Dq LANG=<local_name>
113: and
1.17 mickey 114: .Dq BODUN=<bodun_prefix>
1.39 zhuk 115: where <local_name> can be ru_RU.UTF-8, uk_UA.UTF-8 or by_BY.UTF-8.
1.3 millert 116: .Pp
117: Other lines should begin with a month and day.
1.1 deraadt 118: They may be entered in almost any format, either numeric or as character
119: strings.
1.3 millert 120: If proper locale is set, national months and weekdays
121: names can be used.
1.5 aaron 122: A single asterisk (`*') matches every month.
1.1 deraadt 123: A day without a month matches that day of every week.
124: A month without a day matches the first of that month.
125: Two numbers default to the month followed by the day.
126: Lines with leading tabs default to the last entered date, allowing
127: multiple line specifications for a single date.
1.9 pjanzen 128: .Dq Easter
129: (may be followed by a positive or negative integer) is Easter for this year.
130: .Dq Paskha
131: (may be followed by a positive or negative integer) is
1.3 millert 132: Orthodox Easter for this year.
1.9 pjanzen 133: Weekdays may be followed by
134: .Dq -4
135: .Li ...
136: .Dq +5
137: (aliases last, first, second, third, fourth) for moving events like
138: .Dq the last Monday in April .
1.3 millert 139: .Pp
1.5 aaron 140: By convention, dates followed by an asterisk
141: .Pq Sq *
142: are not fixed, i.e., change
1.1 deraadt 143: from year to year.
144: .Pp
1.5 aaron 145: Day descriptions start after the first <tab> character in the line;
146: if the line does not contain a <tab> character, it isn't printed out.
147: If the first character in the line is a <tab> character, it is treated as
1.8 pjanzen 148: the continuation of the previous description.
1.3 millert 149: .Pp
1.9 pjanzen 150: The calendar file is preprocessed by
1.1 deraadt 151: .Xr cpp 1 ,
152: allowing the inclusion of shared files such as company holidays or
153: meetings.
154: If the shared file is not referenced by a full pathname,
155: .Xr cpp 1
156: searches in the current (or home) directory first, and then in the
157: directory
158: .Pa /usr/share/calendar .
159: Empty lines and lines protected by the C commenting syntax
160: .Pq Li /* ... */
161: are ignored.
162: .Pp
1.27 jmc 163: Some possible calendar entries
164: (a \fB\et\fR sequence denotes a <tab> character):
1.1 deraadt 165: .Bd -unfilled -offset indent
1.3 millert 166: LANG=C
167: Easter=Ostern
168:
169: #include <calendar.usholiday>
170: #include <calendar.birthday>
171:
172: 6/15\fB\et\fRJune 15 (if ambiguous, will default to month/day).
173: Jun. 15\fB\et\fRJune 15.
174: 15 June\fB\et\fRJune 15.
175: Thursday\fB\et\fREvery Thursday.
1.27 jmc 176: June\fB\et\fREvery June 1st.
1.3 millert 177: 15 *\fB\et\fR15th of every month.
1.1 deraadt 178:
1.27 jmc 179: May Sun+2\fB\et\fRsecond Sunday in May (Muttertag)
180: 04/SunLast\fB\et\fRlast Sunday in April,
181: \fB\et\fRsummer time in Europe
1.3 millert 182: Easter\fB\et\fREaster
1.27 jmc 183: Ostern-2\fB\et\fRGood Friday (2 days before Easter)
184: Paskha\fB\et\fROrthodox Easter
1.1 deraadt 185: .Ed
186: .Sh FILES
1.5 aaron 187: .Bl -tag -width ~/.calendar/calendar -compact
1.3 millert 188: .It Pa calendar
1.25 jmc 189: File in current directory.
1.3 millert 190: .It Pa ~/.calendar
1.25 jmc 191: Directory in the user's home directory (which
1.9 pjanzen 192: .Nm
1.25 jmc 193: changes into, if it exists).
1.3 millert 194: .It Pa ~/.calendar/calendar
1.25 jmc 195: File to use if no calendar file exists in the current directory.
1.3 millert 196: .It Pa ~/.calendar/nomail
1.9 pjanzen 197: .Nm
1.25 jmc 198: will not send mail if this file exists.
1.29 xsa 199: .It Pa calendar.all
200: International and national calendar files.
1.1 deraadt 201: .It Pa calendar.birthday
1.25 jmc 202: Births and deaths of famous (and not-so-famous) people.
1.36 jmc 203: .It Pa calendar.canada
204: Canadian holidays.
1.1 deraadt 205: .It Pa calendar.christian
1.8 pjanzen 206: Christian holidays (should be updated yearly by the local system administrator
1.25 jmc 207: so that roving holidays are set correctly for the current year).
1.1 deraadt 208: .It Pa calendar.computer
1.25 jmc 209: Days of special significance to computer people.
210: .It Pa calendar.croatian
211: Croatian calendar.
1.31 jmc 212: .It Pa calendar.discord
213: Discordian calendar (all rites reversed).
1.18 mickey 214: .It Pa calendar.fictional
1.25 jmc 215: Fantasy and fiction dates (mostly LOTR).
216: .It Pa calendar.french
217: French calendar.
218: .It Pa calendar.german
219: German calendar.
1.1 deraadt 220: .It Pa calendar.history
1.32 jmc 221: Miscellaneous history.
1.1 deraadt 222: .It Pa calendar.holiday
1.25 jmc 223: Other holidays (including the not-well-known, obscure, and
1.1 deraadt 224: .Em really
1.25 jmc 225: obscure).
1.1 deraadt 226: .It Pa calendar.judaic
1.5 aaron 227: Jewish holidays (should be updated yearly by the local system administrator
1.25 jmc 228: so that roving holidays are set correctly for the current year).
1.1 deraadt 229: .It Pa calendar.music
1.25 jmc 230: Musical events, births, and deaths (strongly oriented toward rock n' roll).
1.42 ! jmc 231: .It Pa calendar.nz
! 232: New Zealand calendar.
1.19 fgsch 233: .It Pa calendar.openbsd
234: .Ox
1.25 jmc 235: related events.
1.18 mickey 236: .It Pa calendar.pagan
1.25 jmc 237: Pagan holidays, celebrations and festivals.
238: .It Pa calendar.russian
239: Russian calendar.
1.32 jmc 240: .It Pa calendar.space
241: Cosmic history.
1.41 jmc 242: .It Pa calendar.uk
243: UK calendar.
1.32 jmc 244: .It Pa calendar.ushistory
245: U.S. history.
1.1 deraadt 246: .It Pa calendar.usholiday
1.25 jmc 247: U.S. holidays.
1.18 mickey 248: .It Pa calendar.world
1.25 jmc 249: World wide calendar.
1.1 deraadt 250: .El
251: .Sh SEE ALSO
252: .Xr at 1 ,
1.12 aaron 253: .Xr cal 1 ,
1.1 deraadt 254: .Xr cpp 1 ,
1.5 aaron 255: .Xr mail 1 ,
256: .Xr cron 8
1.23 jmc 257: .Sh STANDARDS
1.1 deraadt 258: The
1.11 aaron 259: .Nm
1.1 deraadt 260: program previously selected lines which had the correct date anywhere
261: in the line.
1.12 aaron 262: This is no longer true: the date is only recognized when it occurs
1.3 millert 263: at the beginning of a line.
1.1 deraadt 264: .Sh HISTORY
265: A
266: .Nm
1.3 millert 267: command appeared in
1.1 deraadt 268: .At v7 .
269: .Sh BUGS
1.9 pjanzen 270: .Nm
1.28 mickey 271: doesn't handle all Jewish holidays or moon phases.