comparison man/calendar.texi @ 90365:a802c5505156

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-43 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 148-156) - Update from CVS - Merge from gnus--rel--5.10 - Remove nick-abbrevs stuff from rcirc.el - rcirc.el update from Ryan Yeske * gnus--rel--5.10 (patch 57) - Copy/update icons from Gnus trunk
author Miles Bader <miles@gnu.org>
date Mon, 13 Mar 2006 12:19:58 +0000
parents c5406394f567 c8e7b3c192ff
children 2ecafc6d5db7
comparison
equal deleted inserted replaced
90364:494bf720eaf0 90365:a802c5505156
22 @kbd{Mouse-2} in the calendar brings up a menu of operations on a 22 @kbd{Mouse-2} in the calendar brings up a menu of operations on a
23 particular date; @kbd{Mouse-3} brings up a menu of commonly used 23 particular date; @kbd{Mouse-3} brings up a menu of commonly used
24 calendar features that are independent of any particular date. To exit 24 calendar features that are independent of any particular date. To exit
25 the calendar, type @kbd{q}. 25 the calendar, type @kbd{q}.
26 26
27 The basic features of the Calendar/Diary are described here. 27 This chapter describes the basic calendar features.
28 @inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information 28 @inforef{Advanced Calendar/Diary Usage,, emacs-xtra}, for information
29 about more specialized features. 29 about more specialized features.
30 30
31 @menu 31 @menu
32 * Calendar Motion:: Moving through the calendar; selecting a date. 32 * Calendar Motion:: Moving through the calendar; selecting a date.
47 47
48 @node Calendar Motion 48 @node Calendar Motion
49 @section Movement in the Calendar 49 @section Movement in the Calendar
50 50
51 @cindex moving inside the calendar 51 @cindex moving inside the calendar
52 Calendar mode lets you move through the calendar in logical units of 52 Calendar mode provides commands to move through the calendar in
53 time such as days, weeks, months, and years. If you move outside the 53 logical units of time such as days, weeks, months, and years. If you
54 three months originally displayed, the calendar display ``scrolls'' 54 move outside the three months originally displayed, the calendar
55 automatically through time to make the selected date visible. Moving to 55 display ``scrolls'' automatically through time to make the selected
56 a date lets you view its holidays or diary entries, or convert it to other 56 date visible. Moving to a date lets you view its holidays or diary
57 calendars; moving longer time periods is also useful simply to scroll the 57 entries, or convert it to other calendars; moving by long time periods
58 calendar. 58 is also useful simply to scroll the calendar.
59 59
60 @menu 60 @menu
61 * Calendar Unit Motion:: Moving by days, weeks, months, and years. 61 * Calendar Unit Motion:: Moving by days, weeks, months, and years.
62 * Move to Beginning or End:: Moving to start/end of weeks, months, and years. 62 * Move to Beginning or End:: Moving to start/end of weeks, months, and years.
63 * Specified Dates:: Moving to the current date or another 63 * Specified Dates:: Moving to the current date or another
115 @findex calendar-forward-year 115 @findex calendar-forward-year
116 @kindex C-x [ @r{(Calendar mode)} 116 @kindex C-x [ @r{(Calendar mode)}
117 @findex calendar-forward-year 117 @findex calendar-forward-year
118 The commands for motion by months and years work like those for 118 The commands for motion by months and years work like those for
119 weeks, but move a larger distance. The month commands @kbd{M-@}} and 119 weeks, but move a larger distance. The month commands @kbd{M-@}} and
120 @kbd{M-@{} move forward or backward by an entire month's time. The 120 @kbd{M-@{} move forward or backward by an entire month. The year
121 year commands @kbd{C-x ]} and @w{@kbd{C-x [}} move forward or backward a 121 commands @kbd{C-x ]} and @w{@kbd{C-x [}} move forward or backward a
122 whole year. 122 whole year.
123 123
124 The easiest way to remember these commands is to consider months and 124 The easiest way to remember these commands is to consider months and
125 years analogous to paragraphs and pages of text, respectively. But the 125 years analogous to paragraphs and pages of text, respectively. But
126 commands themselves are not quite analogous. The ordinary Emacs paragraph 126 the commands themselves are not quite analogous. The ordinary Emacs
127 commands move to the beginning or end of a paragraph, whereas these month 127 paragraph commands move to the beginning or end of a paragraph,
128 and year commands move by an entire month or an entire year, which usually 128 whereas these month and year commands move by an entire month or an
129 involves skipping across the end of a month or year. 129 entire year, keeping the same date within the month or year.
130 130
131 All these commands accept a numeric argument as a repeat count. 131 All these commands accept a numeric argument as a repeat count.
132 For convenience, the digit keys and the minus sign specify numeric 132 For convenience, the digit keys and the minus sign specify numeric
133 arguments in Calendar mode even without the Meta modifier. For example, 133 arguments in Calendar mode even without the Meta modifier. For example,
134 @kbd{100 C-f} moves point 100 days forward from its present location. 134 @kbd{100 C-f} moves point 100 days forward from its present location.
311 @cindex day of year 311 @cindex day of year
312 @findex calendar-print-day-of-year 312 @findex calendar-print-day-of-year
313 To display the number of days elapsed since the start of the year, or 313 To display the number of days elapsed since the start of the year, or
314 the number of days remaining in the year, type the @kbd{p d} command 314 the number of days remaining in the year, type the @kbd{p d} command
315 (@code{calendar-print-day-of-year}). This displays both of those 315 (@code{calendar-print-day-of-year}). This displays both of those
316 numbers in the echo area. The number of days elapsed includes the 316 numbers in the echo area. The count of days elapsed includes the
317 selected date. The number of days remaining does not include that 317 selected date. The count of days remaining does not include that
318 date. 318 date.
319 319
320 @kindex C-c C-l @r{(Calendar mode)} 320 @kindex C-c C-l @r{(Calendar mode)}
321 @findex redraw-calendar 321 @findex redraw-calendar
322 If the calendar window text gets corrupted, type @kbd{C-c C-l} 322 If the calendar window text gets corrupted, type @kbd{C-c C-l}
430 To see if any holidays fall on a given date, position point on that 430 To see if any holidays fall on a given date, position point on that
431 date in the calendar window and use the @kbd{h} command. Alternatively, 431 date in the calendar window and use the @kbd{h} command. Alternatively,
432 click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays} 432 click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays}
433 from the menu that appears. Either way, this displays the holidays for 433 from the menu that appears. Either way, this displays the holidays for
434 that date, in the echo area if they fit there, otherwise in a separate 434 that date, in the echo area if they fit there, otherwise in a separate
435 window. If the variable @code{view-calendar-holidays-initially} is 435 window.
436 non-@code{nil}, creating the calendar displays holidays in this way.
437 436
438 @kindex x @r{(Calendar mode)} 437 @kindex x @r{(Calendar mode)}
439 @findex mark-calendar-holidays 438 @findex mark-calendar-holidays
440 @kindex u @r{(Calendar mode)} 439 @kindex u @r{(Calendar mode)}
441 @findex calendar-unmark 440 @findex calendar-unmark
460 calendar window to scroll that list up and down, respectively. 459 calendar window to scroll that list up and down, respectively.
461 460
462 @findex holidays 461 @findex holidays
463 The command @kbd{M-x holidays} displays the list of holidays for the 462 The command @kbd{M-x holidays} displays the list of holidays for the
464 current month and the preceding and succeeding months; this works even 463 current month and the preceding and succeeding months; this works even
465 if you don't have a calendar window. If you want the list of holidays 464 if you don't have a calendar window. If the variable
466 centered around a different month, use @kbd{C-u M-x holidays}, which 465 @code{view-calendar-holidays-initially} is non-@code{nil}, creating
467 prompts for the month and year. 466 the calendar displays holidays in this way. If you want the list of
467 holidays centered around a different month, use @kbd{C-u M-x
468 holidays}, which prompts for the month and year.
468 469
469 The holidays known to Emacs include United States holidays and the 470 The holidays known to Emacs include United States holidays and the
470 major Christian, Jewish, and Islamic holidays; also the solstices and 471 major Christian, Jewish, and Islamic holidays; also the solstices and
471 equinoxes. 472 equinoxes.
472 473
1015 1016
1016 Another way to display the diary entries for a date is to click 1017 Another way to display the diary entries for a date is to click
1017 @kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from 1018 @kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from
1018 the menu that appears. If the variable 1019 the menu that appears. If the variable
1019 @code{view-diary-entries-initially} is non-@code{nil}, creating the 1020 @code{view-diary-entries-initially} is non-@code{nil}, creating the
1020 calendar also lists diary entries for the current date (provided the 1021 calendar lists the diary entries for the current date (provided the
1021 current date is visible). 1022 current date is visible).
1022 1023
1023 @kindex m @r{(Calendar mode)} 1024 @kindex m @r{(Calendar mode)}
1024 @findex mark-diary-entries 1025 @findex mark-diary-entries
1025 @vindex mark-diary-entries-in-calendar 1026 @vindex mark-diary-entries-in-calendar
1369 If you have a diary entry for an appointment, and that diary entry 1370 If you have a diary entry for an appointment, and that diary entry
1370 begins with a recognizable time of day, Emacs can warn you several 1371 begins with a recognizable time of day, Emacs can warn you several
1371 minutes beforehand that that appointment is pending. Emacs alerts you 1372 minutes beforehand that that appointment is pending. Emacs alerts you
1372 to the appointment by displaying a message in your chosen format, as 1373 to the appointment by displaying a message in your chosen format, as
1373 specified by the variable @code{appt-display-format}. If the value of 1374 specified by the variable @code{appt-display-format}. If the value of
1374 @code{appt-audible} is non-@code{nil}, an audible reminder is also 1375 @code{appt-audible} is non-@code{nil}, the warning includes an audible
1375 given. In addition, if @code{appt-display-mode-line} is non-@code{nil}, 1376 reminder. In addition, if @code{appt-display-mode-line} is
1376 Emacs displays the number of minutes to the appointment on the mode 1377 non-@code{nil}, Emacs displays the number of minutes to the
1377 line. 1378 appointment on the mode line.
1378 1379
1379 @vindex appt-display-duration 1380 @vindex appt-display-duration
1380 @vindex appt-disp-window-function 1381 @vindex appt-disp-window-function
1381 @vindex appt-delete-window-function 1382 @vindex appt-delete-window-function
1382 If @code{appt-display-format} has the value @code{window}, then the 1383 If @code{appt-display-format} has the value @code{window}, then the
1385 @code{appt-disp-window-function} and @code{appt-delete-window-function} 1386 @code{appt-disp-window-function} and @code{appt-delete-window-function}
1386 give the names of functions used to create and destroy the window, 1387 give the names of functions used to create and destroy the window,
1387 respectively. 1388 respectively.
1388 1389
1389 @findex appt-activate 1390 @findex appt-activate
1390 To enable appointment notification, call the function 1391 To enable appointment notification, use the command @kbd{M-x
1391 @code{appt-activate} with a positive argument. This sets up an 1392 appt-activate}. With a positive argument, it enables notification;
1392 appointment list for today from the diary file, giving all diary entries 1393 with a negative argument, it disables notification; with no argument,
1393 found with recognizable times of day, and reminds you just before each 1394 it toggles. Enabling notification also sets up an appointment list
1394 of them. Calling @code{appt-activate} with a negative argument disables 1395 for today from the diary file, giving all diary entries found with
1395 the appointment package. With no argument, it toggles. 1396 recognizable times of day, and reminds you just before each of them.
1396 1397
1397 For example, suppose the diary file contains these lines: 1398 For example, suppose the diary file contains these lines:
1398 1399
1399 @example 1400 @example
1400 Monday 1401 Monday
1402 12:00pm Lunch 1403 12:00pm Lunch
1403 @end example 1404 @end example
1404 1405
1405 @vindex appt-message-warning-time 1406 @vindex appt-message-warning-time
1406 @noindent 1407 @noindent
1407 Then on Mondays, you will be reminded at around 9:20am about your coffee 1408 Then on Mondays, you will be reminded at around 9:20am about your
1408 break and at around 11:50am about lunch. How many minutes in advance you 1409 coffee break and at around 11:50am about lunch. The variable
1409 are first warned is determined by the value of 1410 @code{appt-message-warning-time} specifies how many minutes in advance
1410 @code{appt-message-warning-time}. 1411 to warn you; its default value is 12 (12 minutes).
1411 1412
1412 You can write times in am/pm style (with @samp{12:00am} standing 1413 You can write times in am/pm style (with @samp{12:00am} standing
1413 for midnight and @samp{12:00pm} standing for noon), or 24-hour 1414 for midnight and @samp{12:00pm} standing for noon), or 24-hour
1414 European/military style. You need not be consistent; your diary file 1415 European/military style. You need not be consistent; your diary file
1415 can have a mixture of the two styles. Times must be at the beginning 1416 can have a mixture of the two styles. Times must be at the beginning
1416 of lines if they are to be recognized. 1417 of lines if they are to be recognized.
1417 1418
1418 @vindex appt-display-diary 1419 @vindex appt-display-diary
1419 Emacs updates the appointments list from the diary file automatically 1420 Emacs updates the appointments list from the diary file
1420 just after midnight. An update can be forced at any time by 1421 automatically just after midnight. You can force an update at any
1421 re-activating the appointment package. Both these actions also display 1422 time by re-enabling appointment notification. Both these actions also
1422 the day's diary buffer, unless you set @code{appt-display-diary} to 1423 display the day's diary buffer, unless you set
1423 @code{nil}. The appointments list is also updated whenever the 1424 @code{appt-display-diary} to @code{nil}. The appointments list is
1424 diary file is saved. 1425 also updated whenever the diary file is saved.
1425 1426
1426 @findex appt-add 1427 @findex appt-add
1427 @findex appt-delete 1428 @findex appt-delete
1428 @cindex alarm clock 1429 @cindex alarm clock
1429 You can also use the appointment notification facility like an alarm 1430 You can also use the appointment notification facility like an alarm
1448 The icalendar package allows you to transfer data between your Emacs 1449 The icalendar package allows you to transfer data between your Emacs
1449 diary file and iCalendar files, which are defined in ``RFC 1450 diary file and iCalendar files, which are defined in ``RFC
1450 2445---Internet Calendaring and Scheduling Core Object Specification 1451 2445---Internet Calendaring and Scheduling Core Object Specification
1451 (iCalendar)'' (as well as the earlier vCalendar format). 1452 (iCalendar)'' (as well as the earlier vCalendar format).
1452 1453
1453 Importing works for ``ordinary'' (i.e. non-recurring) events, but (at 1454 Importing works for ``ordinary'' (i.e. non-recurring) events, but
1454 present) may not work correctly (if at all) for recurring events. 1455 (at present) may not work correctly (if at all) for recurring events.
1455 Exporting of diary files into iCalendar files should work correctly for 1456 Exporting of diary files into iCalendar files should work correctly
1456 most diary entries. Please note that @file{icalendar.el} is work in 1457 for most diary entries. This feature is a work in progress, so the
1457 progress, so usage may evolve in future. 1458 commands may evolve in future.
1458 1459
1459 @findex icalendar-import-buffer 1460 @findex icalendar-import-buffer
1460 The command @code{icalendar-import-buffer} extracts 1461 The command @code{icalendar-import-buffer} extracts
1461 iCalendar data from the current buffer and adds it to your (default) 1462 iCalendar data from the current buffer and adds it to your (default)
1462 diary file. This function is also suitable for automatic extraction of 1463 diary file. This function is also suitable for automatic extraction of
1474 (icalendar-import-file "/here/is/calendar.ics" "/there/goes/ical-diary") 1475 (icalendar-import-file "/here/is/calendar.ics" "/there/goes/ical-diary")
1475 @end example 1476 @end example
1476 1477
1477 @noindent 1478 @noindent
1478 You can use an @code{#include} directive to add the import file contents 1479 You can use an @code{#include} directive to add the import file contents
1479 to the main diary file, if these are distinct. @inforef{Fancy Diary 1480 to the main diary file, if these are different files. @inforef{Fancy Diary
1480 Display,, emacs-xtra}. 1481 Display,, emacs-xtra}.
1481 1482
1482 @findex icalendar-export-file, icalendar-export-region 1483 @findex icalendar-export-file, icalendar-export-region
1483 Use @code{icalendar-export-file} to interactively export an entire 1484 Use @code{icalendar-export-file} to interactively export an entire
1484 Emacs diary file to iCalendar format. To export only a part of a diary 1485 Emacs diary file to iCalendar format. To export only a part of a diary
1485 file, mark the relevant area, and call @code{icalendar-export-region}. 1486 file, mark the relevant area, and call @code{icalendar-export-region}.
1486 In both cases the result is appended to the target file. 1487 In both cases the result is appended to the target file.
1487
1488 1488
1489 @node Daylight Savings 1489 @node Daylight Savings
1490 @section Daylight Savings Time 1490 @section Daylight Savings Time
1491 @cindex daylight savings time 1491 @cindex daylight savings time
1492 1492
1558 @cindex time intervals, summing 1558 @cindex time intervals, summing
1559 @cindex summing time intervals 1559 @cindex summing time intervals
1560 @cindex timeclock 1560 @cindex timeclock
1561 1561
1562 The timeclock feature adds up time intervals, so you can (for 1562 The timeclock feature adds up time intervals, so you can (for
1563 instance) keep track of how much time you spend working. 1563 instance) keep track of how much time you spend working on particular
1564 projects.
1564 1565
1565 @findex timeclock-in 1566 @findex timeclock-in
1566 @findex timeclock-out 1567 @findex timeclock-out
1567 @findex timeclock-change 1568 @findex timeclock-change
1568 @findex timeclock-workday-remaining 1569 @findex timeclock-workday-remaining
1584 workday in the mode line, either customize the 1585 workday in the mode line, either customize the
1585 @code{timeclock-modeline-display} variable and set its value to 1586 @code{timeclock-modeline-display} variable and set its value to
1586 @code{t}, or invoke the @kbd{M-x timeclock-modeline-display} command. 1587 @code{t}, or invoke the @kbd{M-x timeclock-modeline-display} command.
1587 1588
1588 @vindex timeclock-ask-before-exiting 1589 @vindex timeclock-ask-before-exiting
1589 Terminating the current Emacs session might or might not mean that you 1590 Terminating the current Emacs session might or might not mean that
1590 have stopped working on the project and, by default, Emacs queries this. 1591 you have stopped working on the project and, by default, Emacs asks
1591 You can, however, set the value of the variable 1592 you. You can, however, set the value of the variable
1592 @code{timeclock-ask-before-exiting} to @code{nil} (via @kbd{M-x 1593 @code{timeclock-ask-before-exiting} to @code{nil} (via @kbd{M-x
1593 customize}) to avoid this behavior; then, only an explicit @kbd{M-x 1594 customize}) to avoid the question; then, only an explicit @kbd{M-x
1594 timeclock-out} or @kbd{M-x timeclock-change} will tell Emacs that the 1595 timeclock-out} or @kbd{M-x timeclock-change} will tell Emacs that the
1595 current interval is over. 1596 current interval is over.
1596 1597
1597 @cindex @file{.timelog} file 1598 @cindex @file{.timelog} file
1598 @vindex timeclock-file 1599 @vindex timeclock-file