diff options
| author | Carsten Dominik | 2006-01-05 08:06:36 +0000 |
|---|---|---|
| committer | Carsten Dominik | 2006-01-05 08:06:36 +0000 |
| commit | d2eaec4dc985d31adce440f07bfdb8966841c7e8 (patch) | |
| tree | c4778e33d74aaba10bac2cbf1180ebd40f6f5b95 | |
| parent | 8abe9d4f56f792d493191c037c425c172555259e (diff) | |
| download | emacs-d2eaec4dc985d31adce440f07bfdb8966841c7e8.tar.gz emacs-d2eaec4dc985d31adce440f07bfdb8966841c7e8.zip | |
(Agenda Views): Chapter reorganized.
| -rw-r--r-- | man/org.texi | 408 |
1 files changed, 233 insertions, 175 deletions
diff --git a/man/org.texi b/man/org.texi index 6d7d831a98f..30528891ec9 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -4,12 +4,13 @@ | |||
| 4 | @setfilename ../info/org | 4 | @setfilename ../info/org |
| 5 | @settitle Org Mode Manual | 5 | @settitle Org Mode Manual |
| 6 | 6 | ||
| 7 | @set VERSION 4.01 | 7 | @set VERSION 4.02 |
| 8 | @set DATE December 2005 | 8 | @set DATE January 2006 |
| 9 | 9 | ||
| 10 | @dircategory Emacs | 10 | @dircategory Emacs |
| 11 | @direntry | 11 | @direntry |
| 12 | * Org Mode: (org). outline-based notes management and organizer. | 12 | * Org Mode: (org). outline-based notes management and organizer |
| 13 | |||
| 13 | @end direntry | 14 | @end direntry |
| 14 | 15 | ||
| 15 | @c Version and Contact Info | 16 | @c Version and Contact Info |
| @@ -35,7 +36,7 @@ | |||
| 35 | @copying | 36 | @copying |
| 36 | This manual is for Org-mode (version @value{VERSION}). | 37 | This manual is for Org-mode (version @value{VERSION}). |
| 37 | 38 | ||
| 38 | Copyright @copyright{} 2004, 2005 Free Software Foundation | 39 | Copyright @copyright{} 2004, 2005, 2006 Free Software Foundation |
| 39 | 40 | ||
| 40 | @quotation | 41 | @quotation |
| 41 | Permission is granted to copy, distribute and/or modify this document | 42 | Permission is granted to copy, distribute and/or modify this document |
| @@ -105,7 +106,7 @@ Document Structure | |||
| 105 | * Structure editing:: Changing sequence and level of headlines | 106 | * Structure editing:: Changing sequence and level of headlines |
| 106 | * Archiving:: Move done task trees to a different place | 107 | * Archiving:: Move done task trees to a different place |
| 107 | * Sparse trees:: Matches embedded in context | 108 | * Sparse trees:: Matches embedded in context |
| 108 | * Tags:: | 109 | * Tags:: Tagging headlines and matching sets of tags |
| 109 | * Plain Lists:: Editing hand-formatted lists | 110 | * Plain Lists:: Editing hand-formatted lists |
| 110 | 111 | ||
| 111 | Tables | 112 | Tables |
| @@ -152,17 +153,20 @@ Timestamps | |||
| 152 | 153 | ||
| 153 | Agenda Views | 154 | Agenda Views |
| 154 | 155 | ||
| 155 | * Agenda:: Your weekly planner | 156 | * Agenda files:: Files being searched for agenda information |
| 156 | * Global TODO list:: Overview over all things to do | 157 | * Agenda dispatcher:: Keyboard access to agenda views |
| 157 | * Matching headline tags:: Select information based on tags | 158 | * Weekly/Daily Agenda:: The calendar page with current tasks |
| 159 | * Global TODO list:: All infinished action items | ||
| 160 | * Matching headline tags:: Structured information with fine-tuned search | ||
| 158 | * Timeline:: Time-sorted view for single file | 161 | * Timeline:: Time-sorted view for single file |
| 159 | * Agenda commands:: Remote editing of org trees | 162 | * Agenda commands:: Remote editing of org trees |
| 160 | * Calendar/Diary integration:: Integrating Anniversaries and more | ||
| 161 | 163 | ||
| 162 | Calendar/Diary integration | 164 | Weekly/Daily Agenda |
| 163 | 165 | ||
| 164 | * Diary to agenda:: Agenda incorporates the diary | 166 | * Categories:: Not all tasks are equal |
| 165 | * Agenda to diary:: Diary incorporates the agenda | 167 | * Time-of-day specifications:: How the agenda knows the time |
| 168 | * Calendar/Diary integration:: Integrating Anniversaries and more | ||
| 169 | * Sorting of agenda items:: The order of things | ||
| 166 | 170 | ||
| 167 | Exporting | 171 | Exporting |
| 168 | 172 | ||
| @@ -333,7 +337,7 @@ edit the structure of the document. | |||
| 333 | * Structure editing:: Changing sequence and level of headlines | 337 | * Structure editing:: Changing sequence and level of headlines |
| 334 | * Archiving:: Move done task trees to a different place | 338 | * Archiving:: Move done task trees to a different place |
| 335 | * Sparse trees:: Matches embedded in context | 339 | * Sparse trees:: Matches embedded in context |
| 336 | * Tags:: | 340 | * Tags:: Tagging headlines and matching sets of tags |
| 337 | * Plain Lists:: Editing hand-formatted lists | 341 | * Plain Lists:: Editing hand-formatted lists |
| 338 | @end menu | 342 | @end menu |
| 339 | 343 | ||
| @@ -563,7 +567,8 @@ An important feature of Org-mode is the ability to construct | |||
| 563 | @emph{sparse trees} for selected information in an outline tree. A | 567 | @emph{sparse trees} for selected information in an outline tree. A |
| 564 | sparse tree means that the entire document is folded as much as | 568 | sparse tree means that the entire document is folded as much as |
| 565 | possible, but the selected information is made visible along with the | 569 | possible, but the selected information is made visible along with the |
| 566 | headline structure above it@footnote{See also the variable | 570 | headline structure above it@footnote{See also the variables |
| 571 | @code{org-show-hierarchy-above} and | ||
| 567 | @code{org-show-following-heading}.}. Just try it out and you will see | 572 | @code{org-show-following-heading}.}. Just try it out and you will see |
| 568 | immediately how it works. | 573 | immediately how it works. |
| 569 | 574 | ||
| @@ -581,8 +586,20 @@ headlines above the match is shown, as well as the headline following | |||
| 581 | the match. Each match is also highlighted, the highlights disappear | 586 | the match. Each match is also highlighted, the highlights disappear |
| 582 | when the buffer is changed with an editing command. | 587 | when the buffer is changed with an editing command. |
| 583 | @end table | 588 | @end table |
| 589 | @noindent | ||
| 590 | For frequently used sparse trees of specific search strings, you can | ||
| 591 | use the variable @code{org-agenda-custom-commands} to define fast | ||
| 592 | keyboard access to specific sparse trees. These commands will then be | ||
| 593 | accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). | ||
| 594 | For example | ||
| 595 | @lisp | ||
| 596 | (setq org-agenda-custom-commands | ||
| 597 | '(("f" occur-tree "FIXME"))) | ||
| 598 | @end lisp | ||
| 599 | @noindent will define the key @kbd{C-c a f} as a shortcut for creating | ||
| 600 | a sparse tree matching the string @samp{FIXME}. | ||
| 584 | 601 | ||
| 585 | Other commands are using this feature as well. For example @kbd{C-c | 602 | Other commands are using sparse trees as well. For example @kbd{C-c |
| 586 | C-v} creates a sparse TODO tree (@pxref{TODO basics}). | 603 | C-v} creates a sparse TODO tree (@pxref{TODO basics}). |
| 587 | 604 | ||
| 588 | @kindex C-c C-x v | 605 | @kindex C-c C-x v |
| @@ -655,6 +672,11 @@ Create a sparse tree with all headlines matching a tags search. | |||
| 655 | @item C-c a m | 672 | @item C-c a m |
| 656 | Create a global list of tag matches from all agenda files. | 673 | Create a global list of tag matches from all agenda files. |
| 657 | @xref{Matching headline tags}. | 674 | @xref{Matching headline tags}. |
| 675 | @kindex C-c a M | ||
| 676 | @item C-c a M | ||
| 677 | Create a global list of tag matches from all agenda files, but check | ||
| 678 | only TODO items and force checking subitems (see variable | ||
| 679 | @code{org-tags-match-list-sublevels}). | ||
| 658 | @end table | 680 | @end table |
| 659 | 681 | ||
| 660 | A tags search string can use Boolean operators @samp{&} for AND and | 682 | A tags search string can use Boolean operators @samp{&} for AND and |
| @@ -1650,7 +1672,7 @@ numerical prefix N, show the tree for the Nth keyword in the variable | |||
| 1650 | @kindex C-c a t | 1672 | @kindex C-c a t |
| 1651 | @item C-c a t | 1673 | @item C-c a t |
| 1652 | Show the global TODO list. This collects the TODO items from all | 1674 | Show the global TODO list. This collects the TODO items from all |
| 1653 | agenda files (@pxref{Agenda}) into a single buffer. The buffer is in | 1675 | agenda files (@pxref{Agenda Views}) into a single buffer. The buffer is in |
| 1654 | @code{agenda-mode}, so there are commands to examine and manipulate | 1676 | @code{agenda-mode}, so there are commands to examine and manipulate |
| 1655 | the TODO entries directly from that buffer (@pxref{Agenda commands}). | 1677 | the TODO entries directly from that buffer (@pxref{Agenda commands}). |
| 1656 | @xref{Global TODO list}, for more information. | 1678 | @xref{Global TODO list}, for more information. |
| @@ -1674,9 +1696,9 @@ C-t} in the Org-mode buffer or @kbd{t} in the agenda buffer, a line | |||
| 1674 | @samp{CLOSED: [timestamp]} will be inserted just after the headline. | 1696 | @samp{CLOSED: [timestamp]} will be inserted just after the headline. |
| 1675 | If you turn the entry back into a TODO item again through further | 1697 | If you turn the entry back into a TODO item again through further |
| 1676 | state cycling, that line will be removed again. In the timeline | 1698 | state cycling, that line will be removed again. In the timeline |
| 1677 | (@pxref{Timeline}) and in the agenda (@pxref{Agenda}), you can then | 1699 | (@pxref{Timeline}) and in the agenda (@pxref{Weekly/Daily Agenda}), |
| 1678 | use the @kbd{L} key to display the TODO items closed on each day, | 1700 | you can then use the @kbd{L} key to display the TODO items closed on |
| 1679 | giving you an overview of what has been done on a day. | 1701 | each day, giving you an overview of what has been done on a day. |
| 1680 | 1702 | ||
| 1681 | @node TODO extensions, Priorities, Progress Logging, TODO items | 1703 | @node TODO extensions, Priorities, Progress Logging, TODO items |
| 1682 | @section Extended use of TODO keywords | 1704 | @section Extended use of TODO keywords |
| @@ -1814,7 +1836,7 @@ headline, like this | |||
| 1814 | With its standard setup, Org-mode supports priorities @samp{A}, | 1836 | With its standard setup, Org-mode supports priorities @samp{A}, |
| 1815 | @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry | 1837 | @samp{B}, and @samp{C}. @samp{A} is the highest priority. An entry |
| 1816 | without a cookie is treated as priority @samp{B}. Priorities make a | 1838 | without a cookie is treated as priority @samp{B}. Priorities make a |
| 1817 | difference only in the agenda (@pxref{Agenda}). | 1839 | difference only in the agenda (@pxref{Weekly/Daily Agenda}). |
| 1818 | 1840 | ||
| 1819 | @table @kbd | 1841 | @table @kbd |
| 1820 | @kindex @kbd{C-c ,} | 1842 | @kindex @kbd{C-c ,} |
| @@ -1859,7 +1881,7 @@ A time stamp is a specification of a date (possibly with time) in a | |||
| 1859 | special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 | 1881 | special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 |
| 1860 | Tue 09:39>}. A time stamp can appear anywhere in the headline or body | 1882 | Tue 09:39>}. A time stamp can appear anywhere in the headline or body |
| 1861 | of an org-tree entry. Its presence allows to show entries on specific | 1883 | of an org-tree entry. Its presence allows to show entries on specific |
| 1862 | dates in the agenda (@pxref{Agenda}). We distinguish: | 1884 | dates in the agenda (@pxref{Weekly/Daily Agenda}). We distinguish: |
| 1863 | 1885 | ||
| 1864 | @table @var | 1886 | @table @var |
| 1865 | @cindex timestamp | 1887 | @cindex timestamp |
| @@ -1944,7 +1966,7 @@ instead. | |||
| 1944 | @kindex C-c C-o | 1966 | @kindex C-c C-o |
| 1945 | @item C-c C-o | 1967 | @item C-c C-o |
| 1946 | Access the agenda for the date given by the time stamp at point | 1968 | Access the agenda for the date given by the time stamp at point |
| 1947 | (@pxref{Agenda}). | 1969 | (@pxref{Weekly/Daily Agenda}). |
| 1948 | 1970 | ||
| 1949 | @kindex C-c C-d | 1971 | @kindex C-c C-d |
| 1950 | @item C-c C-d | 1972 | @item C-c C-d |
| @@ -2035,37 +2057,14 @@ Choose date in calendar (only if nothing typed into minibuffer). | |||
| 2035 | @chapter Agenda Views | 2057 | @chapter Agenda Views |
| 2036 | @cindex agenda views | 2058 | @cindex agenda views |
| 2037 | 2059 | ||
| 2038 | Org-mode can select items based of various criteria, and display them | 2060 | Due to the way Org-mode works, TODO items and time-stamped items can |
| 2039 | in a separate buffer. The information to be shown is collected from | 2061 | be scattered throughout a file or even a number of files. To get an |
| 2040 | all @emph{agenda files}, the files listed in the variable | 2062 | overview over open action items, or over events that are important for |
| 2041 | @code{org-agenda-files}. Thus even if you only work with a single | 2063 | a particular date, this information must be collected, sorted and |
| 2042 | Org-mode file, this file must be put into that list@footnote{When | 2064 | displayed in an organized way. |
| 2043 | using the dispatcher pressing @kbd{1} before selecting a command will | ||
| 2044 | actually limit the command to the current file, and ignore | ||
| 2045 | @code{org-agenda-files} until the next dispatcher command.}. You can | ||
| 2046 | customize @code{org-agenda-files}, but the easiest way to maintain it | ||
| 2047 | is through the following commands | ||
| 2048 | |||
| 2049 | @cindex files, adding to agenda list | ||
| 2050 | @table @kbd | ||
| 2051 | @kindex C-c [ | ||
| 2052 | @item C-c [ | ||
| 2053 | Add current file to the list of agenda files. The file is added to | ||
| 2054 | the front of the list. If it was already in the list, it is moved to | ||
| 2055 | the front. With prefix arg, file is added/moved to the end. | ||
| 2056 | @kindex C-c ] | ||
| 2057 | @item C-c ] | ||
| 2058 | Remove current file from the list of agenda files. | ||
| 2059 | @kindex C-, | ||
| 2060 | @item C-, | ||
| 2061 | Cycle through agenda file list. | ||
| 2062 | @end table | ||
| 2063 | @noindent | ||
| 2064 | The Org menu always contains the current list of files and can be used | ||
| 2065 | to quickly visit any of them. | ||
| 2066 | 2065 | ||
| 2067 | Org-mode provides three different views on the information in these | 2066 | Org-mode can select items based on various criteria, and display them |
| 2068 | files: | 2067 | in a separate buffer. Three different views are provided: |
| 2069 | @itemize @bullet | 2068 | @itemize @bullet |
| 2070 | @item | 2069 | @item |
| 2071 | an @emph{agenda} that is like a calendar and shows information | 2070 | an @emph{agenda} that is like a calendar and shows information |
| @@ -2074,7 +2073,7 @@ for specific dates | |||
| 2074 | a @emph{TODO list} that covers all unfinished | 2073 | a @emph{TODO list} that covers all unfinished |
| 2075 | action items, and | 2074 | action items, and |
| 2076 | @item | 2075 | @item |
| 2077 | a @emph{tags view} that show information based on | 2076 | a @emph{tags view} that shows information based on |
| 2078 | the tags associated with headlines in the outline tree. | 2077 | the tags associated with headlines in the outline tree. |
| 2079 | @end itemize | 2078 | @end itemize |
| 2080 | @noindent | 2079 | @noindent |
| @@ -2083,37 +2082,103 @@ buffer}. This buffer is read-only, but provides commands to visit the | |||
| 2083 | corresponding locations in the original Org-mode files, and even to | 2082 | corresponding locations in the original Org-mode files, and even to |
| 2084 | edit these files remotely. | 2083 | edit these files remotely. |
| 2085 | 2084 | ||
| 2085 | @menu | ||
| 2086 | * Agenda files:: Files being searched for agenda information | ||
| 2087 | * Agenda dispatcher:: Keyboard access to agenda views | ||
| 2088 | * Weekly/Daily Agenda:: The calendar page with current tasks | ||
| 2089 | * Global TODO list:: All unfinished action items | ||
| 2090 | * Matching headline tags:: Structured information with fine-tuned search | ||
| 2091 | * Timeline:: Time-sorted view for single file | ||
| 2092 | * Agenda commands:: Remote editing of org trees | ||
| 2093 | @end menu | ||
| 2094 | |||
| 2095 | @node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views | ||
| 2096 | @section Agenda files | ||
| 2097 | |||
| 2098 | The information to be shown is collected from all @emph{agenda files}, | ||
| 2099 | the files listed in the variable @code{org-agenda-files}. Thus even | ||
| 2100 | if you only work with a single Org-mode file, this file should be put | ||
| 2101 | into that list@footnote{When using the dispatcher pressing @kbd{1} | ||
| 2102 | before selecting a command will actually limit the command to the | ||
| 2103 | current file, and ignore @code{org-agenda-files} until the next | ||
| 2104 | dispatcher command.}. You can customize @code{org-agenda-files}, but | ||
| 2105 | the easiest way to maintain it is through the following commands | ||
| 2106 | |||
| 2107 | @cindex files, adding to agenda list | ||
| 2108 | @table @kbd | ||
| 2109 | @kindex C-c [ | ||
| 2110 | @item C-c [ | ||
| 2111 | Add current file to the list of agenda files. The file is added to | ||
| 2112 | the front of the list. If it was already in the list, it is moved to | ||
| 2113 | the front. With prefix arg, file is added/moved to the end. | ||
| 2114 | @kindex C-c ] | ||
| 2115 | @item C-c ] | ||
| 2116 | Remove current file from the list of agenda files. | ||
| 2117 | @kindex C-, | ||
| 2118 | @item C-, | ||
| 2119 | Cycle through agenda file list. | ||
| 2120 | @end table | ||
| 2121 | @noindent | ||
| 2122 | The Org menu contains the current list of files and can be used | ||
| 2123 | to visit any of them. | ||
| 2124 | |||
| 2125 | @node Agenda dispatcher, Weekly/Daily Agenda, Agenda files, Agenda Views | ||
| 2126 | @section The agenda dispatcher | ||
| 2127 | @cindex agenda dispatcher | ||
| 2128 | @cindex dispatching agenda commands | ||
| 2086 | @cindex custom agenda commands | 2129 | @cindex custom agenda commands |
| 2087 | @cindex agenda commands, custom | 2130 | @cindex agenda commands, custom |
| 2088 | The views are created through a dispatcher that should be bound to a | 2131 | The views are created through a dispatcher that should be bound to a |
| 2089 | global key, for example @kbd{C-c a} (@pxref{Installation and | 2132 | global key, for example @kbd{C-c a} (@pxref{Installation and |
| 2090 | Activation}). In the following we will assume that @kbd{C-c a} is | 2133 | Activation}). In the following we will assume that @kbd{C-c a} is |
| 2091 | indeed how the dispatcher is accessed and list keyboard access to | 2134 | indeed how the dispatcher is accessed and list keyboard access to |
| 2092 | commands accordingly. The dispatcher offers a number of default | 2135 | commands accordingly. After pressing @kbd{C-c a}, an additional |
| 2093 | commands, for example to create a TODO list or a the calendar-like | 2136 | letter is required to execute a command. The dispatcher offers the |
| 2094 | agenda. You can also define a number of custom searches for tags and | 2137 | following default commands: |
| 2095 | specific TODO keywords through the variable | 2138 | @table @kbd |
| 2096 | @code{org-agenda-custom-commands}. | 2139 | @item a |
| 2097 | @kindex C-c a C | 2140 | Create the calendar-like agenda (@pxref{Weekly/Daily Agenda}). |
| 2098 | These commands will be offered by the dispatcher just like the default | 2141 | @item t / T |
| 2099 | commands. If you press @kbd{C-c a C}, you will get a customization | 2142 | Create a list of all TODO items (@pxref{Global TODO list}). |
| 2100 | buffer for this variable. | 2143 | @item m / M |
| 2144 | Create a list of headline matching a TAGS expression (@pxref{Matching | ||
| 2145 | headline tags}). | ||
| 2146 | @end table | ||
| 2101 | 2147 | ||
| 2102 | @menu | 2148 | You can also define custom commands that will be accessible through |
| 2103 | * Agenda:: Your weekly planner | 2149 | the dispatcher, just like the default commands. Custom commands are |
| 2104 | * Global TODO list:: Overview over all things to do | 2150 | global searches for tags and specific TODO keywords, or a variety of |
| 2105 | * Matching headline tags:: Select information based on tags | 2151 | sparse tree creating commands (@pxref{Sparse trees}). As sparse trees |
| 2106 | * Timeline:: Time-sorted view for single file | 2152 | are only defined for a single org-mode file, these latter commands act |
| 2107 | * Agenda commands:: Remote editing of org trees | 2153 | on the current buffer instead of the list of agenda files. |
| 2108 | * Calendar/Diary integration:: Integrating Anniversaries and more | ||
| 2109 | @end menu | ||
| 2110 | 2154 | ||
| 2111 | @node Agenda, Global TODO list, Agenda Views, Agenda Views | 2155 | @kindex C-c a C |
| 2112 | @section Agenda | 2156 | Custom commands are configured in the variable |
| 2157 | @code{org-agenda-custom-commands}. You can customize this variable, | ||
| 2158 | for example by pressing @kbd{C-c a C}. You can also directly set it | ||
| 2159 | with Emacs Lisp in @file{.emacs}. For example: | ||
| 2160 | @lisp | ||
| 2161 | (setq org-agenda-custom-commands | ||
| 2162 | '(("w" todo "WAITING") | ||
| 2163 | ("u" tags "+BOSS-URGENT") | ||
| 2164 | ("U" tags-tree "+BOSS-URGENT") | ||
| 2165 | ("f" occur-tree "\\<FIXME\\>"))) | ||
| 2166 | @end lisp | ||
| 2167 | @noindent will define @kbd{C-c a w} as a global search for | ||
| 2168 | TODO entries with @samp{WAITING} as todo keyword, @kbd{C-c a u} as a | ||
| 2169 | global tags search for headlines marked @samp{:BOSS:} but not | ||
| 2170 | @samp{:URGENT:}, @kbd{C-c a U} to do the same search but only in the | ||
| 2171 | current buffer and display the result as a sparse tree, and @kbd{C-c a | ||
| 2172 | f} to create a sparse tree with all entries containing the word | ||
| 2173 | @samp{FIXME}. For more information, look at the documentation string | ||
| 2174 | of the variable @code{org-agenda-custom-commands}. | ||
| 2175 | |||
| 2176 | @node Weekly/Daily Agenda, Global TODO list, Agenda dispatcher, Agenda Views | ||
| 2177 | @section The weekly/daily agenda | ||
| 2113 | @cindex agenda | 2178 | @cindex agenda |
| 2114 | 2179 | ||
| 2115 | The purpose of the @emph{agenda} is to act like a week/day page of a | 2180 | The purpose of the weekly/daily @emph{agenda} is to act like a page of |
| 2116 | paper agenda, showing you all the tasks for the current week or day. | 2181 | a paper agenda, showing all the tasks for the current week or day. |
| 2117 | 2182 | ||
| 2118 | @table @kbd | 2183 | @table @kbd |
| 2119 | @cindex org-agenda, command | 2184 | @cindex org-agenda, command |
| @@ -2124,8 +2189,6 @@ agenda shows the entries for each day. With a @kbd{C-u} prefix (or | |||
| 2124 | when the variable @code{org-agenda-include-all-todo} is @code{t}), all | 2189 | when the variable @code{org-agenda-include-all-todo} is @code{t}), all |
| 2125 | unfinished TODO items (also those without a date) are also listed at | 2190 | unfinished TODO items (also those without a date) are also listed at |
| 2126 | the beginning of the buffer, before the first date.@* | 2191 | the beginning of the buffer, before the first date.@* |
| 2127 | The key binding @kbd{C-c a a} is only a suggestion - see | ||
| 2128 | @ref{Installation and Activation}. | ||
| 2129 | @end table | 2192 | @end table |
| 2130 | 2193 | ||
| 2131 | Remote editing from the agenda buffer means for example that you can | 2194 | Remote editing from the agenda buffer means for example that you can |
| @@ -2133,7 +2196,14 @@ change the dates of deadlines and appointments from the agenda buffer. | |||
| 2133 | The commands available in the Agenda buffer are listed in @ref{Agenda | 2196 | The commands available in the Agenda buffer are listed in @ref{Agenda |
| 2134 | commands}. | 2197 | commands}. |
| 2135 | 2198 | ||
| 2199 | @menu | ||
| 2200 | * Categories:: Not all tasks are equal | ||
| 2201 | * Time-of-day specifications:: How the agenda knows the time | ||
| 2202 | * Calendar/Diary integration:: Integrating Anniversaries and more | ||
| 2203 | * Sorting of agenda items:: The order of things | ||
| 2204 | @end menu | ||
| 2136 | 2205 | ||
| 2206 | @node Categories, Time-of-day specifications, Weekly/Daily Agenda, Weekly/Daily Agenda | ||
| 2137 | @subsection Categories | 2207 | @subsection Categories |
| 2138 | 2208 | ||
| 2139 | @cindex category | 2209 | @cindex category |
| @@ -2147,6 +2217,7 @@ If there are several such lines in a file, each specifies the category | |||
| 2147 | for the text below it. The display in the agenda buffer looks best if | 2217 | for the text below it. The display in the agenda buffer looks best if |
| 2148 | the category is not longer than 10 characters. | 2218 | the category is not longer than 10 characters. |
| 2149 | 2219 | ||
| 2220 | @node Time-of-day specifications, Calendar/Diary integration, Categories, Weekly/Daily Agenda | ||
| 2150 | @subsection Time-of-Day Specifications | 2221 | @subsection Time-of-Day Specifications |
| 2151 | 2222 | ||
| 2152 | Org-mode checks each agenda item for a time-of-day specification. The | 2223 | Org-mode checks each agenda item for a time-of-day specification. The |
| @@ -2194,6 +2265,39 @@ The time grid can be turned on and off with the variable | |||
| 2194 | @code{org-agenda-time-grid}. | 2265 | @code{org-agenda-time-grid}. |
| 2195 | 2266 | ||
| 2196 | 2267 | ||
| 2268 | @node Calendar/Diary integration, Sorting of agenda items, Time-of-day specifications, Weekly/Daily Agenda | ||
| 2269 | @subsection Calendar/Diary integration | ||
| 2270 | @cindex calendar integration | ||
| 2271 | @cindex diary integration | ||
| 2272 | |||
| 2273 | Emacs contains the calendar and diary by Edward M. Reingold. The | ||
| 2274 | calendar displays a three-month calendar with holidays from different | ||
| 2275 | countries and cultures. The diary allows to keep track of | ||
| 2276 | anniversaries, lunar phases, sunrise/set, recurrent appointments | ||
| 2277 | (weekly, monthly) and more. In this way, it is quite complementary to | ||
| 2278 | Org-mode. It can be very useful to combine output from Org-mode with | ||
| 2279 | the diary. | ||
| 2280 | |||
| 2281 | In order to include entries from the Emacs diary into Org-mode's | ||
| 2282 | agenda, you only need to customize the variable | ||
| 2283 | |||
| 2284 | @lisp | ||
| 2285 | (setq org-agenda-include-diary t) | ||
| 2286 | @end lisp | ||
| 2287 | @noindent | ||
| 2288 | |||
| 2289 | @noindent After that, everything will happen automatically. All diary | ||
| 2290 | entries including holidays, anniversaries etc will be included in the | ||
| 2291 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | ||
| 2292 | @key{RET} can be used from the agenda buffer to jump to the diary | ||
| 2293 | file, in order to edit existing diary entries. The @kbd{i} command to | ||
| 2294 | insert new entries for the current date works in the agenda buffer, as | ||
| 2295 | well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | ||
| 2296 | Sunrise/Sunset times, show lunar phases and to convert to other | ||
| 2297 | calendars, respectively. @kbd{c} can be used to switch back and forth | ||
| 2298 | between calendar and agenda. | ||
| 2299 | |||
| 2300 | @node Sorting of agenda items, , Calendar/Diary integration, Weekly/Daily Agenda | ||
| 2197 | @subsection Sorting of agenda items | 2301 | @subsection Sorting of agenda items |
| 2198 | @cindex sorting, of agenda items | 2302 | @cindex sorting, of agenda items |
| 2199 | @cindex priorities, of agenda items | 2303 | @cindex priorities, of agenda items |
| @@ -2211,7 +2315,8 @@ plus additional increments for overdue scheduled or deadline items. | |||
| 2211 | Sorting can be customized using the variable | 2315 | Sorting can be customized using the variable |
| 2212 | @code{org-agenda-sorting-strategy}. | 2316 | @code{org-agenda-sorting-strategy}. |
| 2213 | 2317 | ||
| 2214 | @node Global TODO list, Matching headline tags, Agenda, Agenda Views | 2318 | |
| 2319 | @node Global TODO list, Matching headline tags, Weekly/Daily Agenda, Agenda Views | ||
| 2215 | @section The global TODO list | 2320 | @section The global TODO list |
| 2216 | @cindex global TODO list | 2321 | @cindex global TODO list |
| 2217 | @cindex TODO list, global | 2322 | @cindex TODO list, global |
| @@ -2223,20 +2328,21 @@ collected into a single place. | |||
| 2223 | @kindex C-c a t | 2328 | @kindex C-c a t |
| 2224 | @item C-c a t | 2329 | @item C-c a t |
| 2225 | Show the global TODO list. This collects the TODO items from all | 2330 | Show the global TODO list. This collects the TODO items from all |
| 2226 | agenda files (@pxref{Agenda}) into a single buffer. The buffer is in | 2331 | agenda files (@pxref{Agenda Views}) into a single buffer. The buffer is in |
| 2227 | @code{agenda-mode}, so there are commands to examine and manipulate | 2332 | @code{agenda-mode}, so there are commands to examine and manipulate |
| 2228 | the TODO entries directly from that buffer (@pxref{Agenda commands}). | 2333 | the TODO entries directly from that buffer (@pxref{Agenda commands}). |
| 2229 | @xref{Global TODO list}, for more information. | 2334 | @xref{Global TODO list}, for more information. |
| 2230 | @kindex C-c a T | 2335 | @kindex C-c a T |
| 2231 | @item C-c a T | 2336 | @item C-c a T |
| 2232 | Like the above, but allow to select a specific TODO keyword. You can | 2337 | Like the above, but allow to select a specific TODO keyword. You can |
| 2233 | also do this by specifying a prefix argument. With a @kbd{C-u} prefix | 2338 | also do this by specifying a prefix argument to @kbd{C-c a t}. With a |
| 2234 | you are prompted for a keyword. With a numeric prefix, the Nth | 2339 | @kbd{C-u} prefix you are prompted for a keyword. With a numeric |
| 2235 | keyword in @code{org-todo-keywords} is selected. | 2340 | prefix, the Nth keyword in @code{org-todo-keywords} is selected. |
| 2236 | @kindex r | 2341 | @kindex r |
| 2237 | The @kbd{r} key in the agenda buffer regenerates it, and you can give | 2342 | The @kbd{r} key in the agenda buffer regenerates it, and you can give |
| 2238 | a prefix argument to this command to change the selected TODO keyword, | 2343 | a prefix argument to this command to change the selected TODO keyword, |
| 2239 | for example @kbd{3 r}. | 2344 | for example @kbd{3 r}. If you often need a search for a specific |
| 2345 | keyword, define a custom command for it (@pxref{Agenda dispatcher}). | ||
| 2240 | @end table | 2346 | @end table |
| 2241 | 2347 | ||
| 2242 | Remote editing of TODO items means that you can change the state of a | 2348 | Remote editing of TODO items means that you can change the state of a |
| @@ -2258,11 +2364,13 @@ to them and collect them into an agenda buffer. | |||
| 2258 | Produce a list of all headlines that match a given set of tags. The | 2364 | Produce a list of all headlines that match a given set of tags. The |
| 2259 | command prompts for a selection criterion, which is a boolean logic | 2365 | command prompts for a selection criterion, which is a boolean logic |
| 2260 | expression with tags, like @samp{+WORK+URGENT-WITHBOSS} or | 2366 | expression with tags, like @samp{+WORK+URGENT-WITHBOSS} or |
| 2261 | @samp{WORK|HOME} (@pxref{Tags}). | 2367 | @samp{WORK|HOME} (@pxref{Tags}). If you often need a specific search, |
| 2368 | define a custom command for it (@pxref{Agenda dispatcher}). | ||
| 2262 | @kindex C-c a M | 2369 | @kindex C-c a M |
| 2263 | @item C-c a M | 2370 | @item C-c a M |
| 2264 | Like @kbd{C-c a m}, but only select headlines that are also TODO | 2371 | Like @kbd{C-c a m}, but only select headlines that are also TODO items |
| 2265 | items. | 2372 | and force checking subitems (see variable |
| 2373 | @code{org-tags-match-list-sublevels}. | ||
| 2266 | @end table | 2374 | @end table |
| 2267 | 2375 | ||
| 2268 | The commands available in the tags list are described in @ref{Agenda | 2376 | The commands available in the tags list are described in @ref{Agenda |
| @@ -2294,7 +2402,7 @@ When called with a @kbd{C-u} prefix, all unfinished TODO entries | |||
| 2294 | The commands available in the timeline buffer are listed in | 2402 | The commands available in the timeline buffer are listed in |
| 2295 | @ref{Agenda commands}. | 2403 | @ref{Agenda commands}. |
| 2296 | 2404 | ||
| 2297 | @node Agenda commands, Calendar/Diary integration, Timeline, Agenda Views | 2405 | @node Agenda commands, , Timeline, Agenda Views |
| 2298 | @section Commands in the agenda buffer | 2406 | @section Commands in the agenda buffer |
| 2299 | @cindex commands, in agenda buffer | 2407 | @cindex commands, in agenda buffer |
| 2300 | 2408 | ||
| @@ -2306,9 +2414,7 @@ the agenda buffer. In this way, all information is stored only once, | |||
| 2306 | and you don't risk that your agenda and note files diverge. | 2414 | and you don't risk that your agenda and note files diverge. |
| 2307 | 2415 | ||
| 2308 | Some commands can be executed with mouse clicks on agenda lines. For | 2416 | Some commands can be executed with mouse clicks on agenda lines. For |
| 2309 | the other commands, the cursor needs to be in the desired line. Most | 2417 | the other commands, the cursor needs to be in the desired line. |
| 2310 | commands are available for both timelines and the agenda. The | ||
| 2311 | exceptions are marked. | ||
| 2312 | 2418 | ||
| 2313 | @table @kbd | 2419 | @table @kbd |
| 2314 | @tsubheading{Motion} | 2420 | @tsubheading{Motion} |
| @@ -2384,12 +2490,11 @@ keyword. | |||
| 2384 | @item @key{right} | 2490 | @item @key{right} |
| 2385 | Display the following @code{org-agenda-ndays} days. For example, if | 2491 | Display the following @code{org-agenda-ndays} days. For example, if |
| 2386 | the display covers a week, switch to the following week. With prefix | 2492 | the display covers a week, switch to the following week. With prefix |
| 2387 | arg, go forward that many times @code{org-agenda-ndays} days. Not | 2493 | arg, go forward that many times @code{org-agenda-ndays} days. |
| 2388 | available in timelines. | ||
| 2389 | 2494 | ||
| 2390 | @kindex @key{left} | 2495 | @kindex @key{left} |
| 2391 | @item @key{left} | 2496 | @item @key{left} |
| 2392 | Display the previous dates. Not available in timelines. | 2497 | Display the previous dates. |
| 2393 | 2498 | ||
| 2394 | @kindex . | 2499 | @kindex . |
| 2395 | @item . | 2500 | @item . |
| @@ -2491,7 +2596,6 @@ Show holidays for three month around the cursor date. | |||
| 2491 | @kindex C-c C-x C-c | 2596 | @kindex C-c C-x C-c |
| 2492 | @item C-c C-x C-c | 2597 | @item C-c C-x C-c |
| 2493 | Export a single iCalendar file containing entries from all agenda files. | 2598 | Export a single iCalendar file containing entries from all agenda files. |
| 2494 | Not available in timelines. | ||
| 2495 | 2599 | ||
| 2496 | @tsubheading{Quit and Exit} | 2600 | @tsubheading{Quit and Exit} |
| 2497 | @kindex q | 2601 | @kindex q |
| @@ -2507,88 +2611,6 @@ visit org files will not be removed. | |||
| 2507 | 2611 | ||
| 2508 | @end table | 2612 | @end table |
| 2509 | 2613 | ||
| 2510 | @node Calendar/Diary integration, , Agenda commands, Agenda Views | ||
| 2511 | @section Calendar/Diary integration | ||
| 2512 | @cindex calendar integration | ||
| 2513 | @cindex diary integration | ||
| 2514 | |||
| 2515 | Emacs contains the calendar and diary by Edward M. Reingold. The | ||
| 2516 | calendar displays a three-month calendar with holidays from different | ||
| 2517 | countries and cultures. The diary allows to keep track of | ||
| 2518 | anniversaries, lunar phases, sunrise/set, recurrent appointments | ||
| 2519 | (weekly, monthly) and more. In this way, it is quite complementary to | ||
| 2520 | Org-mode. It can be very useful to combine output from Org-mode with | ||
| 2521 | the diary. | ||
| 2522 | |||
| 2523 | The interaction between Org-mode and diary works both ways: You can | ||
| 2524 | list entries from the diary in the Org-mode agenda, from which many | ||
| 2525 | calendar and diary commands are directly accessible. Or you can | ||
| 2526 | display entries from the org agenda in the Emacs diary. | ||
| 2527 | |||
| 2528 | @menu | ||
| 2529 | * Diary to agenda:: Agenda incorporates the diary | ||
| 2530 | * Agenda to diary:: Diary incorporates the agenda | ||
| 2531 | @end menu | ||
| 2532 | |||
| 2533 | @node Diary to agenda, Agenda to diary, Calendar/Diary integration, Calendar/Diary integration | ||
| 2534 | @subsection Including the diary into the agenda | ||
| 2535 | @cindex diary to agenda | ||
| 2536 | |||
| 2537 | In order to include entries from the Emacs diary into Org-mode's | ||
| 2538 | agenda, you only need to customize the variable | ||
| 2539 | |||
| 2540 | @lisp | ||
| 2541 | (setq org-agenda-include-diary t) | ||
| 2542 | @end lisp | ||
| 2543 | @noindent | ||
| 2544 | |||
| 2545 | @noindent After that, everything will happen automatically. All diary | ||
| 2546 | entries including holidays, anniversaries etc will be included in the | ||
| 2547 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | ||
| 2548 | @key{RET} can be used from the agenda buffer to jump to the diary | ||
| 2549 | file, in order to edit existing diary entries. The @kbd{i} command to | ||
| 2550 | insert new entries for the current date works in the agenda buffer, as | ||
| 2551 | well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to display | ||
| 2552 | Sunrise/Sunset times, show lunar phases and to convert to other | ||
| 2553 | calendars, respectively. @kbd{c} can be used to switch back and forth | ||
| 2554 | between calendar and agenda. | ||
| 2555 | |||
| 2556 | @node Agenda to diary, , Diary to agenda, Calendar/Diary integration | ||
| 2557 | @subsection Including the agenda into the diary | ||
| 2558 | @cindex agenda to diary | ||
| 2559 | |||
| 2560 | If you prefer to use the Emacs diary as your main instrument and if | ||
| 2561 | you wish to include the Org-mode agenda into it, the following steps | ||
| 2562 | are necessary: Autoload the function @command{org-diary} as shown | ||
| 2563 | above under @ref{Installation and Activation}. You also need to use | ||
| 2564 | @emph{fancy diary display} by setting in @file{.emacs}: | ||
| 2565 | |||
| 2566 | @lisp | ||
| 2567 | (add-hook 'diary-display-hook 'fancy-diary-display) | ||
| 2568 | @end lisp | ||
| 2569 | |||
| 2570 | Then include the following line into your @file{~/diary} file, in | ||
| 2571 | order to get the entries from all files listed in the variable | ||
| 2572 | @code{org-agenda-files}: | ||
| 2573 | |||
| 2574 | @example | ||
| 2575 | &%%(org-diary) | ||
| 2576 | @end example | ||
| 2577 | @noindent | ||
| 2578 | You may also select specific files with | ||
| 2579 | |||
| 2580 | @example | ||
| 2581 | &%%(org-diary) ~/path/to/some/org-file.org | ||
| 2582 | &%%(org-diary) ~/path/to/another/org-file.org | ||
| 2583 | @end example | ||
| 2584 | |||
| 2585 | If you now launch the calendar and press @kbd{d} to display a diary, | ||
| 2586 | the headlines of entries containing a timestamp, date range, schedule, | ||
| 2587 | or deadline referring to the selected date will be listed. Just like | ||
| 2588 | in Org-mode's agenda view, the diary for @emph{today} contains | ||
| 2589 | additional entries for overdue deadlines and scheduled items. See | ||
| 2590 | also the documentation of the @command{org-diary} function. | ||
| 2591 | |||
| 2592 | @node Exporting, Miscellaneous, Agenda Views, Top | 2614 | @node Exporting, Miscellaneous, Agenda Views, Top |
| 2593 | @chapter Exporting | 2615 | @chapter Exporting |
| 2594 | @cindex exporting | 2616 | @cindex exporting |
| @@ -3021,6 +3043,42 @@ fixing every line by hand?}@* | |||
| 3021 | The indentation of a table is set by the first line. So just fix the | 3043 | The indentation of a table is set by the first line. So just fix the |
| 3022 | indentation of the first line and realign with @key{TAB}. | 3044 | indentation of the first line and realign with @key{TAB}. |
| 3023 | 3045 | ||
| 3046 | @item @b{Is it possible to include entries from org-mode files into my | ||
| 3047 | emacs diary?}@* | ||
| 3048 | Since the org-mode agenda is much more powerful and can contain the | ||
| 3049 | diary (@pxref{Calendar/Diary integration}), you should think twice | ||
| 3050 | before deciding to do this. Inegrating org-mode information into the | ||
| 3051 | diary is, however, possible. The following steps are necessary: | ||
| 3052 | Autoload the function @command{org-diary} as shown above under | ||
| 3053 | @ref{Installation and Activation}. You also need to use @emph{fancy | ||
| 3054 | diary display} by setting in @file{.emacs}: | ||
| 3055 | |||
| 3056 | @lisp | ||
| 3057 | (add-hook 'diary-display-hook 'fancy-diary-display) | ||
| 3058 | @end lisp | ||
| 3059 | |||
| 3060 | Then include the following line into your @file{~/diary} file, in | ||
| 3061 | order to get the entries from all files listed in the variable | ||
| 3062 | @code{org-agenda-files}: | ||
| 3063 | |||
| 3064 | @example | ||
| 3065 | &%%(org-diary) | ||
| 3066 | @end example | ||
| 3067 | @noindent | ||
| 3068 | You may also select specific files with | ||
| 3069 | |||
| 3070 | @example | ||
| 3071 | &%%(org-diary) ~/path/to/some/org-file.org | ||
| 3072 | &%%(org-diary) ~/path/to/another/org-file.org | ||
| 3073 | @end example | ||
| 3074 | |||
| 3075 | If you now launch the calendar and press @kbd{d} to display a diary, | ||
| 3076 | the headlines of entries containing a timestamp, date range, schedule, | ||
| 3077 | or deadline referring to the selected date will be listed. Just like | ||
| 3078 | in Org-mode's agenda view, the diary for @emph{today} contains | ||
| 3079 | additional entries for overdue deadlines and scheduled items. See | ||
| 3080 | also the documentation of the @command{org-diary} function. | ||
| 3081 | |||
| 3024 | @end enumerate | 3082 | @end enumerate |
| 3025 | 3083 | ||
| 3026 | 3084 | ||