6387
|
1 @c -*-texinfo-*-
|
|
2 @c This is part of the GNU Emacs Lisp Reference Manual.
|
49600
|
3 @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998 Free Software Foundation, Inc.
|
6387
|
4 @c See the file elisp.texi for copying conditions.
|
21682
|
5 @node Calendar, System Interface, Display, Top
|
6387
|
6 @chapter Customizing the Calendar and Diary
|
|
7
|
|
8 There are many customizations that you can use to make the calendar and
|
|
9 diary suit your personal tastes.
|
|
10
|
|
11 @menu
|
|
12 * Calendar Customizing:: Defaults you can set.
|
|
13 * Holiday Customizing:: Defining your own holidays.
|
|
14 * Date Display Format:: Changing the format.
|
|
15 * Time Display Format:: Changing the format.
|
|
16 * Daylight Savings:: Changing the default.
|
|
17 * Diary Customizing:: Defaults you can set.
|
|
18 * Hebrew/Islamic Entries:: How to obtain them.
|
49600
|
19 * Fancy Diary Display:: Enhancing the diary display, sorting entries,
|
7401
|
20 using included diary files.
|
6387
|
21 * Sexp Diary Entries:: Fancy things you can do.
|
|
22 * Appt Customizing:: Customizing appointment reminders.
|
|
23 @end menu
|
|
24
|
|
25 @node Calendar Customizing
|
|
26 @section Customizing the Calendar
|
|
27 @vindex view-diary-entries-initially
|
|
28
|
|
29 If you set the variable @code{view-diary-entries-initially} to
|
|
30 @code{t}, calling up the calendar automatically displays the diary
|
|
31 entries for the current date as well. The diary dates appear only if
|
|
32 the current date is visible. If you add both of the following lines to
|
25875
|
33 your init file:@refill
|
6387
|
34
|
|
35 @example
|
|
36 (setq view-diary-entries-initially t)
|
|
37 (calendar)
|
|
38 @end example
|
|
39
|
|
40 @noindent
|
7688
|
41 this displays both the calendar and diary windows whenever you start Emacs.
|
6387
|
42
|
|
43 @vindex view-calendar-holidays-initially
|
|
44 Similarly, if you set the variable
|
|
45 @code{view-calendar-holidays-initially} to @code{t}, entering the
|
7688
|
46 calendar automatically displays a list of holidays for the current
|
|
47 three-month period. The holiday list appears in a separate
|
|
48 window.
|
6387
|
49
|
|
50 @vindex mark-diary-entries-in-calendar
|
7401
|
51 You can set the variable @code{mark-diary-entries-in-calendar} to
|
|
52 @code{t} in order to mark any dates with diary entries. This takes
|
|
53 effect whenever the calendar window contents are recomputed. There are
|
|
54 two ways of marking these dates: by changing the face (@pxref{Faces}),
|
26324
|
55 or by placing a plus sign (@samp{+}) beside the date.
|
6387
|
56
|
|
57 @vindex mark-holidays-in-calendar
|
|
58 Similarly, setting the variable @code{mark-holidays-in-calendar} to
|
7401
|
59 @code{t} marks holiday dates, either with a change of face or with an
|
|
60 asterisk (@samp{*}).
|
|
61
|
|
62 @vindex calendar-holiday-marker
|
|
63 @vindex diary-entry-marker
|
|
64 The variable @code{calendar-holiday-marker} specifies how to mark a
|
|
65 date as being a holiday. Its value may be a character to insert next to
|
|
66 the date, or a face name to use for displaying the date. Likewise, the
|
|
67 variable @code{diary-entry-marker} specifies how to mark a date that has
|
12067
|
68 diary entries. The calendar creates faces named @code{holiday-face} and
|
|
69 @code{diary-face} for these purposes; those symbols are the default
|
26324
|
70 values of these variables.
|
6387
|
71
|
|
72 @vindex calendar-load-hook
|
7401
|
73 The variable @code{calendar-load-hook} is a normal hook run when the
|
|
74 calendar package is first loaded (before actually starting to display
|
|
75 the calendar).
|
6387
|
76
|
|
77 @vindex initial-calendar-window-hook
|
7401
|
78 Starting the calendar runs the normal hook
|
|
79 @code{initial-calendar-window-hook}. Recomputation of the calendar
|
|
80 display does not run this hook. But if you leave the calendar with the
|
|
81 @kbd{q} command and reenter it, the hook runs again.@refill
|
6387
|
82
|
|
83 @vindex today-visible-calendar-hook
|
7401
|
84 The variable @code{today-visible-calendar-hook} is a normal hook run
|
|
85 after the calendar buffer has been prepared with the calendar when the
|
|
86 current date is visible in the window. One use of this hook is to
|
|
87 replace today's date with asterisks; to do that, use the hook function
|
|
88 @code{calendar-star-date}.
|
6387
|
89
|
|
90 @findex calendar-star-date
|
|
91 @example
|
7401
|
92 (add-hook 'today-visible-calendar-hook 'calendar-star-date)
|
6387
|
93 @end example
|
|
94
|
|
95 @noindent
|
7401
|
96 Another standard hook function marks the current date, either by
|
|
97 changing its face or by adding an asterisk. Here's how to use it:
|
6387
|
98
|
|
99 @findex calendar-mark-today
|
|
100 @example
|
7401
|
101 (add-hook 'today-visible-calendar-hook 'calendar-mark-today)
|
6387
|
102 @end example
|
|
103
|
7401
|
104 @noindent
|
|
105 @vindex calendar-today-marker
|
|
106 The variable @code{calendar-today-marker} specifies how to mark today's
|
|
107 date. Its value should be a character to insert next to the date or a
|
12067
|
108 face name to use for displaying the date. A face named
|
|
109 @code{calendar-today-face} is provided for this purpose; that symbol is
|
26324
|
110 the default for this variable.
|
7401
|
111
|
6387
|
112 @vindex today-invisible-calendar-hook
|
|
113 @noindent
|
7401
|
114 A similar normal hook, @code{today-invisible-calendar-hook} is run if
|
|
115 the current date is @emph{not} visible in the window.
|
6387
|
116
|
25751
|
117 @vindex calendar-move-hook
|
60441
|
118 Each of the calendar cursor motion commands runs the hook
|
|
119 @code{calendar-move-hook} after it moves the cursor.
|
25751
|
120
|
6387
|
121 @node Holiday Customizing
|
|
122 @section Customizing the Holidays
|
|
123
|
|
124 @vindex calendar-holidays
|
|
125 @vindex christian-holidays
|
|
126 @vindex hebrew-holidays
|
|
127 @vindex islamic-holidays
|
|
128 Emacs knows about holidays defined by entries on one of several lists.
|
7688
|
129 You can customize these lists of holidays to your own needs, adding or
|
|
130 deleting holidays. The lists of holidays that Emacs uses are for
|
|
131 general holidays (@code{general-holidays}), local holidays
|
|
132 (@code{local-holidays}), Christian holidays (@code{christian-holidays}),
|
|
133 Hebrew (Jewish) holidays (@code{hebrew-holidays}), Islamic (Moslem)
|
|
134 holidays (@code{islamic-holidays}), and other holidays
|
|
135 (@code{other-holidays}).
|
6387
|
136
|
|
137 @vindex general-holidays
|
|
138 The general holidays are, by default, holidays common throughout the
|
|
139 United States. To eliminate these holidays, set @code{general-holidays}
|
|
140 to @code{nil}.
|
|
141
|
|
142 @vindex local-holidays
|
|
143 There are no default local holidays (but sites may supply some). You
|
|
144 can set the variable @code{local-holidays} to any list of holidays, as
|
|
145 described below.
|
|
146
|
|
147 @vindex all-christian-calendar-holidays
|
|
148 @vindex all-hebrew-calendar-holidays
|
|
149 @vindex all-islamic-calendar-holidays
|
7401
|
150 By default, Emacs does not include all the holidays of the religions
|
7688
|
151 that it knows, only those commonly found in secular calendars. For a
|
7401
|
152 more extensive collection of religious holidays, you can set any (or
|
|
153 all) of the variables @code{all-christian-calendar-holidays},
|
6387
|
154 @code{all-hebrew-calendar-holidays}, or
|
|
155 @code{all-islamic-calendar-holidays} to @code{t}. If you want to
|
|
156 eliminate the religious holidays, set any or all of the corresponding
|
|
157 variables @code{christian-holidays}, @code{hebrew-holidays}, and
|
|
158 @code{islamic-holidays} to @code{nil}.@refill
|
|
159
|
|
160 @vindex other-holidays
|
|
161 You can set the variable @code{other-holidays} to any list of
|
7401
|
162 holidays. This list, normally empty, is intended for individual use.
|
6387
|
163
|
|
164 @cindex holiday forms
|
|
165 Each of the lists (@code{general-holidays}, @code{local-holidays},
|
|
166 @code{christian-holidays}, @code{hebrew-holidays},
|
|
167 @code{islamic-holidays}, and @code{other-holidays}) is a list of
|
|
168 @dfn{holiday forms}, each holiday form describing a holiday (or
|
7401
|
169 sometimes a list of holidays).
|
|
170
|
|
171 Here is a table of the possible kinds of holiday form. Day numbers
|
7688
|
172 and month numbers count starting from 1, but ``dayname'' numbers
|
7401
|
173 count Sunday as 0. The element @var{string} is always the
|
|
174 name of the holiday, as a string.
|
6387
|
175
|
|
176 @table @code
|
|
177 @item (holiday-fixed @var{month} @var{day} @var{string})
|
7688
|
178 A fixed date on the Gregorian calendar.
|
6387
|
179
|
|
180 @item (holiday-float @var{month} @var{dayname} @var{k} @var{string})
|
|
181 The @var{k}th @var{dayname} in @var{month} on the Gregorian calendar
|
|
182 (@var{dayname}=0 for Sunday, and so on); negative @var{k} means count back
|
7401
|
183 from the end of the month.
|
6387
|
184
|
|
185 @item (holiday-hebrew @var{month} @var{day} @var{string})
|
7688
|
186 A fixed date on the Hebrew calendar.
|
6387
|
187
|
|
188 @item (holiday-islamic @var{month} @var{day} @var{string})
|
7688
|
189 A fixed date on the Islamic calendar.
|
6387
|
190
|
|
191 @item (holiday-julian @var{month} @var{day} @var{string})
|
7688
|
192 A fixed date on the Julian calendar.
|
6387
|
193
|
|
194 @item (holiday-sexp @var{sexp} @var{string})
|
7401
|
195 A date calculated by the Lisp expression @var{sexp}. The expression
|
7688
|
196 should use the variable @code{year} to compute and return the date of a
|
|
197 holiday, or @code{nil} if the holiday doesn't happen this year. The
|
|
198 value of @var{sexp} must represent the date as a list of the form
|
|
199 @code{(@var{month} @var{day} @var{year})}.
|
|
200
|
|
201 @item (if @var{condition} @var{holiday-form})
|
|
202 A holiday that happens only if @var{condition} is true.
|
6387
|
203
|
7401
|
204 @item (@var{function} @r{[}@var{args}@r{]})
|
7688
|
205 A list of dates calculated by the function @var{function}, called with
|
|
206 arguments @var{args}.
|
6387
|
207 @end table
|
|
208
|
|
209 For example, suppose you want to add Bastille Day, celebrated in
|
7401
|
210 France on July 14. You can do this as follows:
|
6387
|
211
|
|
212 @smallexample
|
|
213 (setq other-holidays '((holiday-fixed 7 14 "Bastille Day")))
|
|
214 @end smallexample
|
|
215
|
|
216 @noindent
|
|
217 The holiday form @code{(holiday-fixed 7 14 "Bastille Day")} specifies the
|
|
218 fourteenth day of the seventh month (July).
|
|
219
|
|
220 Many holidays occur on a specific day of the week, at a specific time
|
|
221 of month. Here is a holiday form describing Hurricane Supplication Day,
|
|
222 celebrated in the Virgin Islands on the fourth Monday in August:
|
|
223
|
|
224 @smallexample
|
|
225 (holiday-float 8 1 4 "Hurricane Supplication Day")
|
|
226 @end smallexample
|
|
227
|
|
228 @noindent
|
|
229 Here the 8 specifies August, the 1 specifies Monday (Sunday is 0,
|
|
230 Tuesday is 2, and so on), and the 4 specifies the fourth occurrence in
|
|
231 the month (1 specifies the first occurrence, 2 the second occurrence,
|
|
232 @minus{}1 the last occurrence, @minus{}2 the second-to-last occurrence, and
|
|
233 so on).
|
|
234
|
|
235 You can specify holidays that occur on fixed days of the Hebrew,
|
|
236 Islamic, and Julian calendars too. For example,
|
|
237
|
|
238 @smallexample
|
|
239 (setq other-holidays
|
|
240 '((holiday-hebrew 10 2 "Last day of Hanukkah")
|
|
241 (holiday-islamic 3 12 "Mohammed's Birthday")
|
|
242 (holiday-julian 4 2 "Jefferson's Birthday")))
|
|
243 @end smallexample
|
|
244
|
|
245 @noindent
|
|
246 adds the last day of Hanukkah (since the Hebrew months are numbered with
|
|
247 1 starting from Nisan), the Islamic feast celebrating Mohammed's
|
|
248 birthday (since the Islamic months are numbered from 1 starting with
|
|
249 Muharram), and Thomas Jefferson's birthday, which is 2 April 1743 on the
|
|
250 Julian calendar.
|
|
251
|
7401
|
252 To include a holiday conditionally, use either Emacs Lisp's @code{if} or the
|
|
253 @code{holiday-sexp} form. For example, American presidential elections
|
|
254 occur on the first Tuesday after the first Monday in November of years
|
|
255 divisible by 4:
|
6387
|
256
|
|
257 @smallexample
|
54123
|
258 (holiday-sexp '(if (= 0 (% year 4))
|
6387
|
259 (calendar-gregorian-from-absolute
|
7688
|
260 (1+ (calendar-dayname-on-or-before
|
|
261 1 (+ 6 (calendar-absolute-from-gregorian
|
54020
|
262 (list 11 1 year)))))))
|
|
263 "US Presidential Election")
|
6387
|
264 @end smallexample
|
|
265
|
|
266 @noindent
|
|
267 or
|
|
268
|
|
269 @smallexample
|
|
270 (if (= 0 (% displayed-year 4))
|
|
271 (fixed 11
|
|
272 (extract-calendar-day
|
|
273 (calendar-gregorian-from-absolute
|
|
274 (1+ (calendar-dayname-on-or-before
|
|
275 1 (+ 6 (calendar-absolute-from-gregorian
|
|
276 (list 11 1 displayed-year)))))))
|
|
277 "US Presidential Election"))
|
|
278 @end smallexample
|
|
279
|
|
280 Some holidays just don't fit into any of these forms because special
|
|
281 calculations are involved in their determination. In such cases you
|
7401
|
282 must write a Lisp function to do the calculation. To include eclipses,
|
|
283 for example, add @code{(eclipses)} to @code{other-holidays}
|
|
284 and write an Emacs Lisp function @code{eclipses} that returns a
|
|
285 (possibly empty) list of the relevant Gregorian dates among the range
|
|
286 visible in the calendar window, with descriptive strings, like this:
|
6387
|
287
|
|
288 @smallexample
|
|
289 (((6 27 1991) "Lunar Eclipse") ((7 11 1991) "Solar Eclipse") ... )
|
|
290 @end smallexample
|
|
291
|
|
292 @node Date Display Format
|
|
293 @section Date Display Format
|
|
294 @vindex calendar-date-display-form
|
|
295
|
7688
|
296 You can customize the manner of displaying dates in the diary, in mode
|
|
297 lines, and in messages by setting @code{calendar-date-display-form}.
|
|
298 This variable holds a list of expressions that can involve the variables
|
|
299 @code{month}, @code{day}, and @code{year}, which are all numbers in
|
|
300 string form, and @code{monthname} and @code{dayname}, which are both
|
|
301 alphabetic strings. In the American style, the default value of this
|
|
302 list is as follows:
|
6387
|
303
|
|
304 @smallexample
|
|
305 ((if dayname (concat dayname ", ")) monthname " " day ", " year)
|
|
306 @end smallexample
|
|
307
|
|
308 @noindent
|
|
309 while in the European style this value is the default:
|
|
310
|
|
311 @smallexample
|
|
312 ((if dayname (concat dayname ", ")) day " " monthname " " year)
|
|
313 @end smallexample
|
|
314
|
7401
|
315 @noindent
|
6387
|
316 The ISO standard date representation is this:
|
|
317
|
|
318 @smallexample
|
|
319 (year "-" month "-" day)
|
|
320 @end smallexample
|
|
321
|
|
322 @noindent
|
|
323 This specifies a typical American format:
|
|
324
|
|
325 @smallexample
|
|
326 (month "/" day "/" (substring year -2))
|
|
327 @end smallexample
|
|
328
|
|
329 @node Time Display Format
|
|
330 @section Time Display Format
|
|
331 @vindex calendar-time-display-form
|
|
332
|
7401
|
333 The calendar and diary by default display times of day in the
|
|
334 conventional American style with the hours from 1 through 12, minutes,
|
|
335 and either @samp{am} or @samp{pm}. If you prefer the European style,
|
|
336 also known in the US as military, in which the hours go from 00 to 23,
|
|
337 you can alter the variable @code{calendar-time-display-form}. This
|
|
338 variable is a list of expressions that can involve the variables
|
7688
|
339 @code{12-hours}, @code{24-hours}, and @code{minutes}, which are all
|
|
340 numbers in string form, and @code{am-pm} and @code{time-zone}, which are
|
|
341 both alphabetic strings. The default value of
|
|
342 @code{calendar-time-display-form} is as follows:
|
6387
|
343
|
|
344 @smallexample
|
|
345 (12-hours ":" minutes am-pm
|
|
346 (if time-zone " (") time-zone (if time-zone ")"))
|
|
347 @end smallexample
|
|
348
|
7401
|
349 @noindent
|
|
350 Here is a value that provides European style times:
|
6387
|
351
|
|
352 @smallexample
|
|
353 (24-hours ":" minutes
|
|
354 (if time-zone " (") time-zone (if time-zone ")"))
|
|
355 @end smallexample
|
|
356
|
|
357 @node Daylight Savings
|
|
358 @section Daylight Savings Time
|
|
359 @cindex daylight savings time
|
|
360
|
|
361 Emacs understands the difference between standard time and daylight
|
|
362 savings time---the times given for sunrise, sunset, solstices,
|
|
363 equinoxes, and the phases of the moon take that into account. The rules
|
|
364 for daylight savings time vary from place to place and have also varied
|
|
365 historically from year to year. To do the job properly, Emacs needs to
|
|
366 know which rules to use.
|
|
367
|
|
368 Some operating systems keep track of the rules that apply to the place
|
|
369 where you are; on these systems, Emacs gets the information it needs
|
|
370 from the system automatically. If some or all of this information is
|
|
371 missing, Emacs fills in the gaps with the rules currently used in
|
7688
|
372 Cambridge, Massachusetts, which is the center of GNU's world.
|
|
373
|
6387
|
374
|
|
375 @vindex calendar-daylight-savings-starts
|
|
376 @vindex calendar-daylight-savings-ends
|
7688
|
377 If the default choice of rules is not appropriate for your location,
|
|
378 you can tell Emacs the rules to use by setting the variables
|
|
379 @code{calendar-daylight-savings-starts} and
|
|
380 @code{calendar-daylight-savings-ends}. Their values should be Lisp
|
6387
|
381 expressions that refer to the variable @code{year}, and evaluate to the
|
|
382 Gregorian date on which daylight savings time starts or (respectively)
|
|
383 ends, in the form of a list @code{(@var{month} @var{day} @var{year})}.
|
|
384 The values should be @code{nil} if your area does not use daylight
|
|
385 savings time.
|
|
386
|
7688
|
387 Emacs uses these expressions to determine the start and end dates of
|
|
388 daylight savings time as holidays and for correcting times of day in the
|
|
389 solar and lunar calculations.
|
6387
|
390
|
|
391 The values for Cambridge, Massachusetts are as follows:
|
|
392
|
|
393 @example
|
|
394 @group
|
|
395 (calendar-nth-named-day 1 0 4 year)
|
|
396 (calendar-nth-named-day -1 0 10 year)
|
|
397 @end group
|
|
398 @end example
|
|
399
|
|
400 @noindent
|
|
401 i.e., the first 0th day (Sunday) of the fourth month (April) in
|
|
402 the year specified by @code{year}, and the last Sunday of the tenth month
|
|
403 (October) of that year. If daylight savings time were
|
|
404 changed to start on October 1, you would set
|
|
405 @code{calendar-daylight-savings-starts} to this:
|
|
406
|
|
407 @example
|
|
408 (list 10 1 year)
|
|
409 @end example
|
|
410
|
|
411 For a more complex example, suppose daylight savings time begins on
|
7401
|
412 the first of Nisan on the Hebrew calendar. You should set
|
|
413 @code{calendar-daylight-savings-starts} to this value:
|
6387
|
414
|
|
415 @example
|
|
416 (calendar-gregorian-from-absolute
|
|
417 (calendar-absolute-from-hebrew
|
|
418 (list 1 1 (+ year 3760))))
|
|
419 @end example
|
|
420
|
|
421 @noindent
|
|
422 because Nisan is the first month in the Hebrew calendar and the Hebrew
|
|
423 year differs from the Gregorian year by 3760 at Nisan.
|
|
424
|
|
425 If there is no daylight savings time at your location, or if you want
|
|
426 all times in standard time, set @code{calendar-daylight-savings-starts}
|
|
427 and @code{calendar-daylight-savings-ends} to @code{nil}.
|
|
428
|
|
429 @vindex calendar-daylight-time-offset
|
7401
|
430 The variable @code{calendar-daylight-time-offset} specifies the
|
|
431 difference between daylight savings time and standard time, measured in
|
|
432 minutes. The value for Cambridge is 60.
|
6387
|
433
|
|
434 @vindex calendar-daylight-savings-starts-time
|
|
435 @vindex calendar-daylight-savings-ends-time
|
7401
|
436 The variable @code{calendar-daylight-savings-starts-time} and the
|
|
437 variable @code{calendar-daylight-savings-ends-time} specify the number
|
|
438 of minutes after midnight local time when the transition to and from
|
|
439 daylight savings time should occur. For Cambridge, both variables'
|
|
440 values are 120.
|
6387
|
441
|
|
442 @node Diary Customizing
|
|
443 @section Customizing the Diary
|
|
444
|
|
445 @vindex holidays-in-diary-buffer
|
|
446 Ordinarily, the mode line of the diary buffer window indicates any
|
|
447 holidays that fall on the date of the diary entries. The process of
|
|
448 checking for holidays can take several seconds, so including holiday
|
|
449 information delays the display of the diary buffer noticeably. If you'd
|
|
450 prefer to have a faster display of the diary buffer but without the
|
|
451 holiday information, set the variable @code{holidays-in-diary-buffer} to
|
|
452 @code{nil}.@refill
|
|
453
|
|
454 @vindex number-of-diary-entries
|
|
455 The variable @code{number-of-diary-entries} controls the number of
|
|
456 days of diary entries to be displayed at one time. It affects the
|
|
457 initial display when @code{view-diary-entries-initially} is @code{t}, as
|
|
458 well as the command @kbd{M-x diary}. For example, the default value is
|
|
459 1, which says to display only the current day's diary entries. If the
|
|
460 value is 2, both the current day's and the next day's entries are
|
7688
|
461 displayed. The value can also be a vector of seven elements: for
|
|
462 example, if the value is @code{[0 2 2 2 2 4 1]} then no diary entries
|
|
463 appear on Sunday, the current date's and the next day's diary entries
|
|
464 appear Monday through Thursday, Friday through Monday's entries appear
|
|
465 on Friday, while on Saturday only that day's entries appear.
|
6387
|
466
|
|
467 @vindex print-diary-entries-hook
|
|
468 @findex print-diary-entries
|
|
469 The variable @code{print-diary-entries-hook} is a normal hook run
|
|
470 after preparation of a temporary buffer containing just the diary
|
|
471 entries currently visible in the diary buffer. (The other, irrelevant
|
|
472 diary entries are really absent from the temporary buffer; in the diary
|
|
473 buffer, they are merely hidden.) The default value of this hook does
|
|
474 the printing with the command @code{lpr-buffer}. If you want to use a
|
|
475 different command to do the printing, just change the value of this
|
|
476 hook. Other uses might include, for example, rearranging the lines into
|
|
477 order by day and time.
|
|
478
|
|
479 @vindex diary-date-forms
|
|
480 You can customize the form of dates in your diary file, if neither the
|
|
481 standard American nor European styles suits your needs, by setting the
|
7401
|
482 variable @code{diary-date-forms}. This variable is a list of patterns
|
|
483 for recognizing a date. Each date pattern is a list whose elements may
|
|
484 be regular expressions (@pxref{Regular Expressions}) or the symbols
|
6387
|
485 @code{month}, @code{day}, @code{year}, @code{monthname}, and
|
7401
|
486 @code{dayname}. All these elements serve as patterns that match certain
|
|
487 kinds of text in the diary file. In order for the date pattern, as a
|
|
488 whole, to match, all of its elements must match consecutively.
|
|
489
|
|
490 A regular expression in a date pattern matches in its usual fashion,
|
|
491 using the standard syntax table altered so that @samp{*} is a word
|
|
492 constituent.
|
|
493
|
|
494 The symbols @code{month}, @code{day}, @code{year}, @code{monthname},
|
|
495 and @code{dayname} match the month number, day number, year number,
|
|
496 month name, and day name of the date being considered. The symbols that
|
|
497 match numbers allow leading zeros; those that match names allow
|
|
498 three-letter abbreviations and capitalization. All the symbols can
|
|
499 match @samp{*}; since @samp{*} in a diary entry means ``any day'', ``any
|
|
500 month'', and so on, it should match regardless of the date being
|
|
501 considered.
|
|
502
|
|
503 The default value of @code{diary-date-forms} in the American style is
|
|
504 this:
|
6387
|
505
|
|
506 @example
|
|
507 ((month "/" day "[^/0-9]")
|
|
508 (month "/" day "/" year "[^0-9]")
|
|
509 (monthname " *" day "[^,0-9]")
|
|
510 (monthname " *" day ", *" year "[^0-9]")
|
|
511 (dayname "\\W"))
|
|
512 @end example
|
|
513
|
7401
|
514 The date patterns in the list must be @emph{mutually exclusive} and
|
|
515 must not match any portion of the diary entry itself, just the date and
|
|
516 one character of whitespace. If, to be mutually exclusive, the pattern
|
|
517 must match a portion of the diary entry text---beyond the whitespace
|
|
518 that ends the date---then the first element of the date pattern
|
|
519 @emph{must} be @code{backup}. This causes the date recognizer to back
|
|
520 up to the beginning of the current word of the diary entry, after
|
|
521 finishing the match. Even if you use @code{backup}, the date pattern
|
|
522 must absolutely not match more than a portion of the first word of the
|
|
523 diary entry. The default value of @code{diary-date-forms} in the
|
6387
|
524 European style is this list:
|
|
525
|
|
526 @example
|
|
527 ((day "/" month "[^/0-9]")
|
|
528 (day "/" month "/" year "[^0-9]")
|
|
529 (backup day " *" monthname "\\W+\\<[^*0-9]")
|
|
530 (day " *" monthname " *" year "[^0-9]")
|
|
531 (dayname "\\W"))
|
|
532 @end example
|
|
533
|
|
534 @noindent
|
7401
|
535 Notice the use of @code{backup} in the third pattern, because it needs
|
|
536 to match part of a word beyond the date itself to distinguish it from
|
|
537 the fourth pattern.
|
6387
|
538
|
|
539 @node Hebrew/Islamic Entries
|
|
540 @section Hebrew- and Islamic-Date Diary Entries
|
|
541
|
|
542 Your diary file can have entries based on Hebrew or Islamic dates, as
|
7401
|
543 well as entries based on the world-standard Gregorian calendar.
|
|
544 However, because recognition of such entries is time-consuming and most
|
|
545 people don't use them, you must explicitly enable their use. If you
|
49600
|
546 want the diary to recognize Hebrew-date diary entries, for example,
|
7401
|
547 you must do this:
|
6387
|
548
|
|
549 @vindex nongregorian-diary-listing-hook
|
|
550 @vindex nongregorian-diary-marking-hook
|
|
551 @findex list-hebrew-diary-entries
|
|
552 @findex mark-hebrew-diary-entries
|
|
553 @smallexample
|
7401
|
554 (add-hook 'nongregorian-diary-listing-hook 'list-hebrew-diary-entries)
|
|
555 (add-hook 'nongregorian-diary-marking-hook 'mark-hebrew-diary-entries)
|
6387
|
556 @end smallexample
|
|
557
|
|
558 @noindent
|
7401
|
559 If you want Islamic-date entries, do this:
|
6387
|
560
|
|
561 @findex list-islamic-diary-entries
|
|
562 @findex mark-islamic-diary-entries
|
|
563 @smallexample
|
7401
|
564 (add-hook 'nongregorian-diary-listing-hook 'list-islamic-diary-entries)
|
|
565 (add-hook 'nongregorian-diary-marking-hook 'mark-islamic-diary-entries)
|
6387
|
566 @end smallexample
|
|
567
|
|
568 Hebrew- and Islamic-date diary entries have the same formats as
|
7401
|
569 Gregorian-date diary entries, except that @samp{H} precedes a Hebrew
|
|
570 date and @samp{I} precedes an Islamic date. Moreover, because the
|
|
571 Hebrew and Islamic month names are not uniquely specified by the first
|
|
572 three letters, you may not abbreviate them. For example, a diary entry
|
|
573 for the Hebrew date Heshvan 25 could look like this:
|
6387
|
574
|
|
575 @smallexample
|
|
576 HHeshvan 25 Happy Hebrew birthday!
|
|
577 @end smallexample
|
|
578
|
|
579 @noindent
|
|
580 and would appear in the diary for any date that corresponds to Heshvan 25
|
22252
|
581 on the Hebrew calendar. And here is an Islamic-date diary entry that matches
|
7401
|
582 Dhu al-Qada 25:
|
6387
|
583
|
|
584 @smallexample
|
|
585 IDhu al-Qada 25 Happy Islamic birthday!
|
|
586 @end smallexample
|
|
587
|
|
588 As with Gregorian-date diary entries, Hebrew- and Islamic-date entries
|
|
589 are nonmarking if they are preceded with an ampersand (@samp{&}).
|
|
590
|
7401
|
591 Here is a table of commands used in the calendar to create diary entries
|
|
592 that match the selected date and other dates that are similar in the Hebrew
|
|
593 or Islamic calendar:
|
6387
|
594
|
|
595 @table @kbd
|
|
596 @item i h d
|
|
597 Add a diary entry for the Hebrew date corresponding to the selected date
|
|
598 (@code{insert-hebrew-diary-entry}).
|
|
599 @item i h m
|
|
600 Add a diary entry for the day of the Hebrew month corresponding to the
|
7401
|
601 selected date (@code{insert-monthly-hebrew-diary-entry}). This diary
|
7688
|
602 entry matches any date that has the same Hebrew day-within-month as the
|
7401
|
603 selected date.
|
6387
|
604 @item i h y
|
|
605 Add a diary entry for the day of the Hebrew year corresponding to the
|
49600
|
606 selected date (@code{insert-yearly-hebrew-diary-entry}). This diary
|
7401
|
607 entry matches any date which has the same Hebrew month and day-within-month
|
|
608 as the selected date.
|
6387
|
609 @item i i d
|
|
610 Add a diary entry for the Islamic date corresponding to the selected date
|
|
611 (@code{insert-islamic-diary-entry}).
|
|
612 @item i i m
|
|
613 Add a diary entry for the day of the Islamic month corresponding to the
|
|
614 selected date (@code{insert-monthly-islamic-diary-entry}).
|
|
615 @item i i y
|
|
616 Add a diary entry for the day of the Islamic year corresponding to the
|
|
617 selected date (@code{insert-yearly-islamic-diary-entry}).
|
|
618 @end table
|
|
619
|
|
620 @findex insert-hebrew-diary-entry
|
|
621 @findex insert-monthly-hebrew-diary-entry
|
|
622 @findex insert-yearly-hebrew-diary-entry
|
|
623 @findex insert-islamic-diary-entry
|
|
624 @findex insert-monthly-islamic-diary-entry
|
|
625 @findex insert-yearly-islamic-diary-entry
|
7401
|
626 These commands work much like the corresponding commands for ordinary
|
7688
|
627 diary entries: they apply to the date that point is on in the calendar
|
7401
|
628 window, and what they do is insert just the date portion of a diary entry
|
49600
|
629 at the end of your diary file. You must then insert the rest of the
|
7401
|
630 diary entry.
|
6387
|
631
|
|
632 @node Fancy Diary Display
|
|
633 @section Fancy Diary Display
|
|
634 @vindex diary-display-hook
|
|
635 @findex simple-diary-display
|
|
636
|
|
637 Diary display works by preparing the diary buffer and then running the
|
7401
|
638 hook @code{diary-display-hook}. The default value of this hook
|
|
639 (@code{simple-diary-display}) hides the irrelevant diary entries and
|
|
640 then displays the buffer. However, if you specify the hook as follows,
|
6387
|
641
|
|
642 @cindex diary buffer
|
|
643 @findex fancy-diary-display
|
|
644 @example
|
|
645 (add-hook 'diary-display-hook 'fancy-diary-display)
|
|
646 @end example
|
|
647
|
|
648 @noindent
|
7401
|
649 this enables fancy diary display. It displays diary entries and
|
|
650 holidays by copying them into a special buffer that exists only for the
|
|
651 sake of display. Copying to a separate buffer provides an opportunity
|
|
652 to change the displayed text to make it prettier---for example, to sort
|
|
653 the entries by the dates they apply to.
|
6387
|
654
|
|
655 As with simple diary display, you can print a hard copy of the buffer
|
|
656 with @code{print-diary-entries}. To print a hard copy of a day-by-day
|
24862
|
657 diary for a week, position point on Sunday of that week, type
|
|
658 @kbd{7 d}, and then do @kbd{M-x print-diary-entries}. As usual, the
|
6387
|
659 inclusion of the holidays slows down the display slightly; you can speed
|
|
660 things up by setting the variable @code{holidays-in-diary-buffer} to
|
|
661 @code{nil}.
|
|
662
|
|
663 @vindex diary-list-include-blanks
|
|
664 Ordinarily, the fancy diary buffer does not show days for which there are
|
|
665 no diary entries, even if that day is a holiday. If you want such days to be
|
|
666 shown in the fancy diary buffer, set the variable
|
|
667 @code{diary-list-include-blanks} to @code{t}.@refill
|
|
668
|
|
669 @cindex sorting diary entries
|
|
670 If you use the fancy diary display, you can use the normal hook
|
|
671 @code{list-diary-entries-hook} to sort each day's diary entries by their
|
22252
|
672 time of day. Here's how:
|
6387
|
673
|
|
674 @findex sort-diary-entries
|
|
675 @example
|
10906
|
676 (add-hook 'list-diary-entries-hook 'sort-diary-entries t)
|
6387
|
677 @end example
|
|
678
|
|
679 @noindent
|
|
680 For each day, this sorts diary entries that begin with a recognizable
|
|
681 time of day according to their times. Diary entries without times come
|
|
682 first within each day.
|
|
683
|
7401
|
684 Fancy diary display also has the ability to process included diary
|
|
685 files. This permits a group of people to share a diary file for events
|
|
686 that apply to all of them. Lines in the diary file of this form:
|
6387
|
687
|
|
688 @smallexample
|
|
689 #include "@var{filename}"
|
|
690 @end smallexample
|
|
691
|
|
692 @noindent
|
|
693 includes the diary entries from the file @var{filename} in the fancy
|
7688
|
694 diary buffer. The include mechanism is recursive, so that included files
|
7401
|
695 can include other files, and so on; you must be careful not to have a
|
|
696 cycle of inclusions, of course. Here is how to enable the include
|
|
697 facility:
|
6387
|
698
|
|
699 @vindex list-diary-entries-hook
|
|
700 @vindex mark-diary-entries-hook
|
|
701 @findex include-other-diary-files
|
|
702 @findex mark-included-diary-files
|
|
703 @smallexample
|
|
704 (add-hook 'list-diary-entries-hook 'include-other-diary-files)
|
|
705 (add-hook 'mark-diary-entries-hook 'mark-included-diary-files)
|
|
706 @end smallexample
|
|
707
|
7401
|
708 The include mechanism works only with the fancy diary display, because
|
|
709 ordinary diary display shows the entries directly from your diary file.
|
|
710
|
6387
|
711 @node Sexp Diary Entries
|
|
712 @section Sexp Entries and the Fancy Diary Display
|
|
713 @cindex sexp diary entries
|
|
714
|
|
715 Sexp diary entries allow you to do more than just have complicated
|
|
716 conditions under which a diary entry applies. If you use the fancy
|
|
717 diary display, sexp entries can generate the text of the entry depending
|
|
718 on the date itself. For example, an anniversary diary entry can insert
|
|
719 the number of years since the anniversary date into the text of the
|
|
720 diary entry. Thus the @samp{%d} in this dairy entry:
|
|
721
|
|
722 @findex diary-anniversary
|
|
723 @smallexample
|
|
724 %%(diary-anniversary 10 31 1948) Arthur's birthday (%d years old)
|
|
725 @end smallexample
|
|
726
|
|
727 @noindent
|
|
728 gets replaced by the age, so on October 31, 1990 the entry appears in
|
|
729 the fancy diary buffer like this:
|
|
730
|
|
731 @smallexample
|
|
732 Arthur's birthday (42 years old)
|
|
733 @end smallexample
|
|
734
|
|
735 @noindent
|
|
736 If the diary file instead contains this entry:
|
|
737
|
|
738 @smallexample
|
|
739 %%(diary-anniversary 10 31 1948) Arthur's %d%s birthday
|
|
740 @end smallexample
|
|
741
|
|
742 @noindent
|
|
743 the entry in the fancy diary buffer for October 31, 1990 appears like this:
|
|
744
|
|
745 @smallexample
|
|
746 Arthur's 42nd birthday
|
|
747 @end smallexample
|
|
748
|
|
749 Similarly, cyclic diary entries can interpolate the number of repetitions
|
|
750 that have occurred:
|
|
751
|
|
752 @findex diary-cyclic
|
|
753 @smallexample
|
|
754 %%(diary-cyclic 50 1 1 1990) Renew medication (%d%s time)
|
|
755 @end smallexample
|
|
756
|
|
757 @noindent
|
|
758 looks like this:
|
|
759
|
|
760 @smallexample
|
|
761 Renew medication (5th time)
|
|
762 @end smallexample
|
|
763
|
|
764 @noindent
|
|
765 in the fancy diary display on September 8, 1990.
|
|
766
|
20355
|
767 There is an early reminder diary sexp that includes its entry in the
|
|
768 diary not only on the date of occurrence, but also on earlier dates.
|
|
769 For example, if you want a reminder a week before your anniversary, you
|
|
770 can use
|
|
771
|
|
772 @findex diary-remind
|
|
773 @smallexample
|
21007
|
774 %%(diary-remind '(diary-anniversary 12 22 1968) 7) Ed's anniversary
|
20355
|
775 @end smallexample
|
|
776
|
|
777 @noindent
|
20360
|
778 and the fancy diary will show
|
20355
|
779 @smallexample
|
25751
|
780 Ed's anniversary
|
20355
|
781 @end smallexample
|
|
782 @noindent
|
|
783 both on December 15 and on December 22.
|
|
784
|
|
785 @findex diary-date
|
|
786 The function @code{diary-date} applies to dates described by a month,
|
|
787 day, year combination, each of which can be an integer, a list of
|
|
788 integers, or @code{t}. The value @code{t} means all values. For
|
|
789 example,
|
|
790
|
|
791 @smallexample
|
|
792 %%(diary-date '(10 11 12) 22 t) Rake leaves
|
|
793 @end smallexample
|
|
794
|
|
795 @noindent
|
20360
|
796 causes the fancy diary to show
|
20355
|
797
|
|
798 @smallexample
|
|
799 Rake leaves
|
|
800 @end smallexample
|
|
801
|
|
802 @noindent
|
20360
|
803 on October 22, November 22, and December 22 of every year.
|
|
804
|
|
805 @findex diary-float
|
|
806 The function @code{diary-float} allows you to describe diary entries
|
|
807 that apply to dates like the third Friday of November, or the last
|
|
808 Tuesday in April. The parameters are the @var{month}, @var{dayname},
|
|
809 and an index @var{n}. The entry appears on the @var{n}th @var{dayname}
|
|
810 of @var{month}, where @var{dayname}=0 means Sunday, 1 means Monday, and
|
|
811 so on. If @var{n} is negative it counts backward from the end of
|
|
812 @var{month}. The value of @var{month} can be a list of months, a single
|
|
813 month, or @code{t} to specify all months. You can also use an optional
|
|
814 parameter @var{day} to specify the @var{n}th @var{dayname} of
|
21007
|
815 @var{month} on or after/before @var{day}; the value of @var{day} defaults
|
20360
|
816 to 1 if @var{n} is positive and to the last day of @var{month} if
|
|
817 @var{n} is negative. For example,
|
|
818
|
|
819 @smallexample
|
|
820 %%(diary-float t 1 -1) Pay rent
|
|
821 @end smallexample
|
|
822
|
|
823 @noindent
|
|
824 causes the fancy diary to show
|
|
825
|
|
826 @smallexample
|
|
827 Pay rent
|
|
828 @end smallexample
|
|
829
|
|
830 @noindent
|
|
831 on the last Monday of every month.
|
20355
|
832
|
46751
|
833 The generality of sexp diary entries lets you specify any diary
|
|
834 entry that you can describe algorithmically. A sexp diary entry
|
|
835 contains an expression that computes whether the entry applies to any
|
|
836 given date. If its value is non-@code{nil}, the entry applies to that
|
|
837 date; otherwise, it does not. The expression can use the variable
|
|
838 @code{date} to find the date being considered; its value is a list
|
|
839 (@var{month} @var{day} @var{year}) that refers to the Gregorian
|
|
840 calendar.
|
|
841
|
|
842 The sexp diary entry applies to a date when the expression's value
|
|
843 is non-@code{nil}, but some values have more specific meanings. If
|
|
844 the value is a string, that string is a description of the event which
|
|
845 occurs on that date. The value can also have the form
|
|
846 @code{(@var{mark} . @var{string})}; then @var{mark} specifies how to
|
|
847 mark the date in the calendar, and @var{string} is the description of
|
|
848 the event. If @var{mark} is a single-character string, that character
|
|
849 appears next to the date in the calendar. If @var{mark} is a face
|
|
850 name, the date is displayed in that face. If @var{mark} is
|
|
851 @code{nil}, that specifies no particular highlighting for the date.
|
7401
|
852
|
|
853 Suppose you get paid on the 21st of the month if it is a weekday, and
|
7688
|
854 on the Friday before if the 21st is on a weekend. Here is how to write
|
7401
|
855 a sexp diary entry that matches those dates:
|
6387
|
856
|
|
857 @smallexample
|
|
858 &%%(let ((dayname (calendar-day-of-week date))
|
|
859 (day (car (cdr date))))
|
|
860 (or (and (= day 21) (memq dayname '(1 2 3 4 5)))
|
|
861 (and (memq day '(19 20)) (= dayname 5)))
|
|
862 ) Pay check deposited
|
|
863 @end smallexample
|
|
864
|
|
865 The following sexp diary entries take advantage of the ability (in the fancy
|
7401
|
866 diary display) to concoct diary entries whose text varies based on the date:
|
6387
|
867
|
|
868 @findex diary-sunrise-sunset
|
|
869 @findex diary-phases-of-moon
|
|
870 @findex diary-day-of-year
|
|
871 @findex diary-iso-date
|
|
872 @findex diary-julian-date
|
|
873 @findex diary-astro-day-number
|
|
874 @findex diary-hebrew-date
|
|
875 @findex diary-islamic-date
|
|
876 @findex diary-french-date
|
|
877 @findex diary-mayan-date
|
|
878 @table @code
|
|
879 @item %%(diary-sunrise-sunset)
|
|
880 Make a diary entry for the local times of today's sunrise and sunset.
|
|
881 @item %%(diary-phases-of-moon)
|
|
882 Make a diary entry for the phases (quarters) of the moon.
|
|
883 @item %%(diary-day-of-year)
|
|
884 Make a diary entry with today's day number in the current year and the number
|
|
885 of days remaining in the current year.
|
|
886 @item %%(diary-iso-date)
|
|
887 Make a diary entry with today's equivalent ISO commercial date.
|
|
888 @item %%(diary-julian-date)
|
|
889 Make a diary entry with today's equivalent date on the Julian calendar.
|
|
890 @item %%(diary-astro-day-number)
|
|
891 Make a diary entry with today's equivalent astronomical (Julian) day number.
|
|
892 @item %%(diary-hebrew-date)
|
|
893 Make a diary entry with today's equivalent date on the Hebrew calendar.
|
|
894 @item %%(diary-islamic-date)
|
|
895 Make a diary entry with today's equivalent date on the Islamic calendar.
|
|
896 @item %%(diary-french-date)
|
|
897 Make a diary entry with today's equivalent date on the French Revolutionary
|
|
898 calendar.
|
|
899 @item %%(diary-mayan-date)
|
|
900 Make a diary entry with today's equivalent date on the Mayan calendar.
|
|
901 @end table
|
|
902
|
|
903 @noindent
|
|
904 Thus including the diary entry
|
|
905
|
7401
|
906 @example
|
6387
|
907 &%%(diary-hebrew-date)
|
7401
|
908 @end example
|
6387
|
909
|
|
910 @noindent
|
|
911 causes every day's diary display to contain the equivalent date on the
|
|
912 Hebrew calendar, if you are using the fancy diary display. (With simple
|
|
913 diary display, the line @samp{&%%(diary-hebrew-date)} appears in the
|
|
914 diary for any date, but does nothing particularly useful.)
|
|
915
|
7688
|
916 These functions can be used to construct sexp diary entries based on
|
|
917 the Hebrew calendar in certain standard ways:
|
6387
|
918
|
|
919 @cindex rosh hodesh
|
|
920 @findex diary-rosh-hodesh
|
|
921 @cindex parasha, weekly
|
|
922 @findex diary-parasha
|
|
923 @cindex candle lighting times
|
|
924 @findex diary-sabbath-candles
|
|
925 @cindex omer count
|
|
926 @findex diary-omer
|
|
927 @cindex yahrzeits
|
|
928 @findex diary-yahrzeit
|
|
929 @table @code
|
|
930 @item %%(diary-rosh-hodesh)
|
|
931 Make a diary entry that tells the occurrence and ritual announcement of each
|
|
932 new Hebrew month.
|
|
933 @item %%(diary-parasha)
|
|
934 Make a Saturday diary entry that tells the weekly synagogue scripture reading.
|
|
935 @item %%(diary-sabbath-candles)
|
|
936 Make a Friday diary entry that tells the @emph{local time} of Sabbath
|
|
937 candle lighting.
|
|
938 @item %%(diary-omer)
|
|
939 Make a diary entry that gives the omer count, when appropriate.
|
|
940 @item %%(diary-yahrzeit @var{month} @var{day} @var{year}) @var{name}
|
|
941 Make a diary entry marking the anniversary of a date of death. The date
|
|
942 is the @emph{Gregorian} (civil) date of death. The diary entry appears
|
|
943 on the proper Hebrew calendar anniversary and on the day before. (In
|
|
944 the European style, the order of the parameters is changed to @var{day},
|
|
945 @var{month}, @var{year}.)
|
|
946 @end table
|
|
947
|
46751
|
948 All the functions documented above take an optional argument
|
|
949 @var{mark} which specifies how to mark the date in the calendar display.
|
|
950 If one of these functions decides that it applies to a certain date,
|
|
951 it returns a value that contains @var{mark}.
|
|
952
|
6387
|
953 @node Appt Customizing
|
|
954 @section Customizing Appointment Reminders
|
|
955
|
7688
|
956 You can specify exactly how Emacs reminds you of an appointment, and
|
|
957 how far in advance it begins doing so, by setting these variables:
|
6387
|
958
|
|
959 @vindex appt-message-warning-time
|
|
960 @vindex appt-audible
|
|
961 @vindex appt-visible
|
|
962 @vindex appt-display-mode-line
|
|
963 @vindex appt-msg-window
|
|
964 @vindex appt-display-duration
|
7401
|
965 @vindex appt-disp-window-function
|
|
966 @vindex appt-delete-window-function
|
6387
|
967 @table @code
|
|
968 @item appt-message-warning-time
|
|
969 The time in minutes before an appointment that the reminder begins. The
|
54020
|
970 default is 12 minutes.
|
6387
|
971 @item appt-audible
|
7401
|
972 If this is non-@code{nil}, Emacs rings the
|
|
973 terminal bell for appointment reminders. The default is @code{t}.
|
6387
|
974 @item appt-visible
|
7401
|
975 If this is non-@code{nil}, Emacs displays the appointment
|
7688
|
976 message in the echo area. The default is @code{t}.
|
6387
|
977 @item appt-display-mode-line
|
7401
|
978 If this is non-@code{nil}, Emacs displays the number of minutes
|
|
979 to the appointment on the mode line. The default is @code{t}.
|
6387
|
980 @item appt-msg-window
|
7401
|
981 If this is non-@code{nil}, Emacs displays the appointment
|
|
982 message in another window. The default is @code{t}.
|
|
983 @item appt-disp-window-function
|
|
984 This variable holds a function to use to create the other window
|
|
985 for the appointment message.
|
|
986 @item appt-delete-window-function
|
|
987 This variable holds a function to use to get rid of the appointment
|
|
988 message window, when its time is up.
|
6387
|
989 @item appt-display-duration
|
7401
|
990 The number of seconds to display an appointment message. The default
|
54020
|
991 is 10 seconds.
|
6387
|
992 @end table
|
52401
|
993
|
|
994 @ignore
|
|
995 arch-tag: 8e50c766-4703-4888-a421-af15244cca7e
|
|
996 @end ignore
|