Next: , Previous: Diary, Up: Calendar/Diary


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.