39.11 Appointments
If you have a diary entry for an appointment, and that diary entry
begins with a recognizable time of day, Emacs can warn you several
minutes beforehand that that appointment is pending. Emacs alerts you
to the appointment by displaying a message in your chosen format, as
specified by the variable appt-display-format
. If the value of
appt-audible
is non-nil
, an audible reminder is also
given. In addition, if appt-display-mode-line
is non-nil
,
Emacs displays the number of minutes to the appointment on the mode
line.
If appt-display-format
has the value window
, then the
variable appt-display-duration
controls how long the reminder
window is visible for; and the variables
appt-disp-window-function
and appt-delete-window-function
give the names of functions used to create and destroy the window,
respectively.
To enable appointment notification, call the function
appt-activate
with a positive argument. This sets up an
appointment list for today from the diary file, giving all diary entries
found with recognizable times of day, and reminds you just before each
of them. Calling appt-activate
with a negative argument disables
the appointment package. With no argument, it toggles.
For example, suppose the diary file contains these lines:
Monday
9:30am Coffee break
12:00pm Lunch
Then on Mondays, you will be reminded at around 9:20am about your coffee
break and at around 11:50am about lunch. How many minutes in advance you
are first warned is determined by the value of
appt-message-warning-time
.
You can write times in am/pm style (with ‘12:00am’ standing
for midnight and ‘12:00pm’ standing for noon), or 24-hour
European/military style. You need not be consistent; your diary file
can have a mixture of the two styles. Times must be at the beginning
of lines if they are to be recognized.
Emacs updates the appointments list from the diary file automatically
just after midnight. An update can be forced at any time by
re-activating the appointment package. Both these actions also display
the day's diary buffer, unless you set appt-display-diary
to
nil
. The appointments list is also updated whenever the
diary file is saved.
You can also use the appointment notification facility like an alarm
clock. The command M-x appt-add adds entries to the appointment
list without affecting your diary file. You delete entries from the
appointment list with M-x appt-delete.