aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorCarsten Dominik2009-10-01 08:04:32 +0000
committerCarsten Dominik2009-10-01 08:04:32 +0000
commit7006d2070a3e11c31887b939b9923c7c1fea33c8 (patch)
tree6ce202788e368da4c37a950ab1a4fcbbb7a61f62 /doc
parent8d64207425f5345576b77dc9308943ec56ad9327 (diff)
downloademacs-7006d2070a3e11c31887b939b9923c7c1fea33c8.tar.gz
emacs-7006d2070a3e11c31887b939b9923c7c1fea33c8.zip
2009-10-01 Carsten Dominik <carsten.dominik@gmail.com>
* org.texi (Pushing to MobileOrg): Document `org-mobile-files'. (Processing LaTeX fragments): Document that the size of images can be changes using the variable `org-format-latex-options'. (The date/time prompt, Timestamps): Be more accurate over ISO format dates and times. (Visibility cycling): Document showeverything keyword. (In-buffer settings): Document showeverything keyword. (Setting up the staging area): Fix the example. (MobileOrg): New section. (Agenda commands, Exporting Agenda Views): Document exporting the agenda view to Org files.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ChangeLog14
-rw-r--r--doc/misc/org.texi288
2 files changed, 230 insertions, 72 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 2a8eb8be8f4..3921c75852f 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,17 @@
12009-10-01 Carsten Dominik <carsten.dominik@gmail.com>
2
3 * org.texi (Pushing to MobileOrg): Document `org-mobile-files'.
4 (Processing LaTeX fragments): Document that the size of images can be
5 changes using the variable `org-format-latex-options'.
6 (The date/time prompt, Timestamps): Be more accurate over ISO format
7 dates and times.
8 (Visibility cycling): Document showeverything keyword.
9 (In-buffer settings): Document showeverything keyword.
10 (Setting up the staging area): Fix the example.
11 (MobileOrg): New section.
12 (Agenda commands, Exporting Agenda Views): Document exporting the
13 agenda view to Org files.
14
12009-09-28 Michael Albinus <michael.albinus@gmx.de> 152009-09-28 Michael Albinus <michael.albinus@gmx.de>
2 16
3 * tramp.texi (History): Add IMAP support. 17 * tramp.texi (History): Add IMAP support.
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 0a6f2142041..a8dee3cb0f9 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -3,8 +3,8 @@
3@setfilename ../../info/org 3@setfilename ../../info/org
4@settitle The Org Manual 4@settitle The Org Manual
5 5
6@set VERSION 6.30c 6@set VERSION 6.31a
7@set DATE September 2009 7@set DATE October 2009
8 8
9@c Version and Contact Info 9@c Version and Contact Info
10@set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage} 10@set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage}
@@ -109,6 +109,7 @@ license to the document, as described in section 6 of the license.
109* Publishing:: Create a web site of linked Org files 109* Publishing:: Create a web site of linked Org files
110* Miscellaneous:: All the rest which did not fit elsewhere 110* Miscellaneous:: All the rest which did not fit elsewhere
111* Hacking:: How to hack your way around 111* Hacking:: How to hack your way around
112* MobileOrg:: Viewing and capture on a mobile device
112* History and Acknowledgments:: How Org came into being 113* History and Acknowledgments:: How Org came into being
113* Main Index:: An index of Org's concepts and features 114* Main Index:: An index of Org's concepts and features
114* Key Index:: Key bindings and where they are described 115* Key Index:: Key bindings and where they are described
@@ -258,7 +259,7 @@ Capture
258 259
259Remember 260Remember
260 261
261* Setting up Remember for Org:: Some code for .emacs to get things going 262* Setting up Remember for Org:: Some code for .emacs to get things going
262* Remember templates:: Define the outline of different note types 263* Remember templates:: Define the outline of different note types
263* Storing notes:: Directly get the note to where it belongs 264* Storing notes:: Directly get the note to where it belongs
264* Refiling notes:: Moving a note or task to a project 265* Refiling notes:: Moving a note or task to a project
@@ -271,7 +272,7 @@ Agenda Views
271* Presentation and sorting:: How agenda items are prepared for display 272* Presentation and sorting:: How agenda items are prepared for display
272* Agenda commands:: Remote editing of Org trees 273* Agenda commands:: Remote editing of Org trees
273* Custom agenda views:: Defining special searches and views 274* Custom agenda views:: Defining special searches and views
274* Exporting Agenda Views:: 275* Exporting Agenda Views:: Writing a view to a file
275* Agenda column view:: Using column view for collected entries 276* Agenda column view:: Using column view for collected entries
276 277
277The built-in agenda views 278The built-in agenda views
@@ -420,6 +421,12 @@ Tables and lists in arbitrary syntax
420* Translator functions:: Copy and modify 421* Translator functions:: Copy and modify
421* Radio lists:: Doing the same for lists 422* Radio lists:: Doing the same for lists
422 423
424MobileOrg
425
426* Setting up the staging area:: Where to interact with the mobile device
427* Pushing to MobileOrg:: Uploading Org files and agendas
428* Pulling from MobileOrg:: Integrating captured and flagged items
429
423@end detailmenu 430@end detailmenu
424@end menu 431@end menu
425 432
@@ -506,9 +513,9 @@ questions (FAQ), links to tutorials, etc@. This page is located at
506@cindex installation 513@cindex installation
507@cindex XEmacs 514@cindex XEmacs
508 515
509@b{Important:} @i{If Org is part of the Emacs distribution or an 516@b{Important:} @i{If you are using a version of Org that is part of the Emacs
510XEmacs package, please skip this section and go directly to 517distribution or an XEmacs package, please skip this section and go directly
511@ref{Activation}.} 518to @ref{Activation}.}
512 519
513If you have downloaded Org from the Web, either as a distribution @file{.zip} 520If you have downloaded Org from the Web, either as a distribution @file{.zip}
514or @file{.tar} file, or as a Git archive, you must take the following steps 521or @file{.tar} file, or as a Git archive, you must take the following steps
@@ -532,13 +539,17 @@ step for this directory:
532(setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path)) 539(setq load-path (cons "~/path/to/orgdir/contrib/lisp" load-path))
533@end example 540@end example
534 541
535@b{XEmacs users now need to install the file @file{noutline.el} from 542@sp 2
543@cartouche
544XEmacs users now need to install the file @file{noutline.el} from
536the @file{xemacs} sub-directory of the Org distribution. Use the 545the @file{xemacs} sub-directory of the Org distribution. Use the
537command:} 546command:
538 547
539@example 548@example
540@b{make install-noutline} 549 make install-noutline
541@end example 550@end example
551@end cartouche
552@sp 2
542 553
543@noindent Now byte-compile the Lisp files with the shell command: 554@noindent Now byte-compile the Lisp files with the shell command:
544 555
@@ -566,14 +577,15 @@ make install-info
566make install-info-debian 577make install-info-debian
567@end example 578@end example
568 579
569@noindent Then add to @file{.emacs}: 580Then add the following line to @file{.emacs}. It is needed so that
570 581Emacs can autoload functions that are located in files not immediately loaded
582when Org-mode starts.
571@lisp 583@lisp
572;; This line only if Org is not part of the X/Emacs distribution.
573(require 'org-install) 584(require 'org-install)
574@end lisp 585@end lisp
575 586
576Do not forget to activate Org as described in the following section. 587Do not forget to activate Org as described in the following section.
588@page
577 589
578@node Activation, Feedback, Installation, Introduction 590@node Activation, Feedback, Installation, Introduction
579@section Activation 591@section Activation
@@ -882,6 +894,7 @@ the previously used indirect buffer.
882@cindex @code{overview}, STARTUP keyword 894@cindex @code{overview}, STARTUP keyword
883@cindex @code{content}, STARTUP keyword 895@cindex @code{content}, STARTUP keyword
884@cindex @code{showall}, STARTUP keyword 896@cindex @code{showall}, STARTUP keyword
897@cindex @code{showeverything}, STARTUP keyword
885 898
886When Emacs first visits an Org file, the global state is set to 899When Emacs first visits an Org file, the global state is set to
887OVERVIEW, @ie only the top level headlines are visible. This can be 900OVERVIEW, @ie only the top level headlines are visible. This can be
@@ -893,6 +906,7 @@ buffer:
893#+STARTUP: overview 906#+STARTUP: overview
894#+STARTUP: content 907#+STARTUP: content
895#+STARTUP: showall 908#+STARTUP: showall
909#+STARTUP: showeverything
896@end example 910@end example
897 911
898@cindex property, VISIBILITY 912@cindex property, VISIBILITY
@@ -2968,6 +2982,11 @@ search string. If the automatically created link is not working correctly or
2968accurately enough, you can write custom functions to select the search string 2982accurately enough, you can write custom functions to select the search string
2969and to do the search for particular file types---see @ref{Custom searches}. 2983and to do the search for particular file types---see @ref{Custom searches}.
2970The key binding @kbd{C-c l} is only a suggestion---see @ref{Installation}. 2984The key binding @kbd{C-c l} is only a suggestion---see @ref{Installation}.
2985
2986@b{Agenda view}@*
2987When the cursor is in an agenda view, the created link points to the
2988entry referenced by the current line.
2989
2971@c 2990@c
2972@kindex C-c C-l 2991@kindex C-c C-l
2973@cindex link completion 2992@cindex link completion
@@ -4028,7 +4047,9 @@ the final heading will have the tags @samp{:work:}, @samp{:boss:},
4028@samp{:notes:}, and @samp{:action:} even though the final heading is not 4047@samp{:notes:}, and @samp{:action:} even though the final heading is not
4029explicitly marked with those tags. You can also set tags that all entries in 4048explicitly marked with those tags. You can also set tags that all entries in
4030a file should inherit just as if these tags were defined in a hypothetical 4049a file should inherit just as if these tags were defined in a hypothetical
4031level zero that surrounds the entire file. 4050level zero that surrounds the entire file. Use a line like this@footnote{As
4051with all these in-buffer settings, pressing @kbd{C-c C-c} activates any
4052changes in the line.}:
4032 4053
4033@cindex #+FILETAGS 4054@cindex #+FILETAGS
4034@example 4055@example
@@ -4613,7 +4634,7 @@ Here is an example for a complete columns definition, along with allowed
4613values. 4634values.
4614 4635
4615@example 4636@example
4616:COLUMNS: %20ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.} 4637:COLUMNS: %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.}
4617 %10Time_Estimate@{:@} %CLOCKSUM 4638 %10Time_Estimate@{:@} %CLOCKSUM
4618:Owner_ALL: Tammy Mark Karl Lisa Don 4639:Owner_ALL: Tammy Mark Karl Lisa Don
4619:Status_ALL: "In progress" "Not started yet" "Finished" "" 4640:Status_ALL: "In progress" "Not started yet" "Finished" ""
@@ -4831,13 +4852,13 @@ is used in a much wider sense.
4831@cindex deadlines 4852@cindex deadlines
4832@cindex scheduling 4853@cindex scheduling
4833 4854
4834A timestamp is a specification of a date (possibly with a time or a range 4855A timestamp is a specification of a date (possibly with a time or a range of
4835of times) in a special format, either @samp{<2003-09-16 Tue>} or 4856times) in a special format, either @samp{<2003-09-16 Tue>} or
4836@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue 4857@samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue
483712:00-12:30>}@footnote{This is the standard ISO date/time format. To 485812:00-12:30>}@footnote{This is inspired by the standard ISO 6801 date/time
4838use an alternative format, see @ref{Custom time format}.}. A timestamp 4859format. To use an alternative format, see @ref{Custom time format}.}. A
4839can appear anywhere in the headline or body of an Org tree entry. Its 4860timestamp can appear anywhere in the headline or body of an Org tree entry.
4840presence causes entries to be shown on specific dates in the agenda 4861Its presence causes entries to be shown on specific dates in the agenda
4841(@pxref{Weekly/daily agenda}). We distinguish: 4862(@pxref{Weekly/daily agenda}). We distinguish:
4842 4863
4843@table @var 4864@table @var
@@ -4985,21 +5006,20 @@ the following column).
4985@cindex time, reading in minibuffer 5006@cindex time, reading in minibuffer
4986 5007
4987@vindex org-read-date-prefer-future 5008@vindex org-read-date-prefer-future
4988When Org mode prompts for a date/time, the default is shown as an ISO 5009When Org mode prompts for a date/time, the default is shown in default
4989date, and the prompt therefore seems to ask for an ISO date. But it 5010date/time format, and the prompt therefore seems to ask for a specific
4990will in fact accept any string containing some date and/or time 5011format. But it will in fact accept any string containing some date and/or
4991information, and it is really smart about interpreting your input. You 5012time information, and it is really smart about interpreting your input. You
4992can, for example, use @kbd{C-y} to paste a (possibly multi-line) string 5013can, for example, use @kbd{C-y} to paste a (possibly multi-line) string
4993copied from an email message. Org mode will find whatever information 5014copied from an email message. Org mode will find whatever information is in
4994is in there and derive anything you have not specified from the 5015there and derive anything you have not specified from the @emph{default date
4995@emph{default date and time}. The default is usually the current date 5016and time}. The default is usually the current date and time, but when
4996and time, but when modifying an existing timestamp, or when entering 5017modifying an existing timestamp, or when entering the second stamp of a
4997the second stamp of a range, it is taken from the stamp in the buffer. 5018range, it is taken from the stamp in the buffer. When filling in
4998When filling in information, Org mode assumes that most of the time you 5019information, Org mode assumes that most of the time you will want to enter a
4999will want to enter a date in the future: if you omit the month/year and 5020date in the future: if you omit the month/year and the given day/month is
5000the given day/month is @i{before} today, it will assume that you mean a 5021@i{before} today, it will assume that you mean a future date@footnote{See the
5001future date@footnote{See the variable 5022variable @code{org-read-date-prefer-future}.}.
5002@code{org-read-date-prefer-future}.}.
5003 5023
5004For example, let's assume that today is @b{June 13, 2006}. Here is how 5024For example, let's assume that today is @b{June 13, 2006}. Here is how
5005various inputs will be interpreted, the items filled in by Org mode are 5025various inputs will be interpreted, the items filled in by Org mode are
@@ -5657,7 +5677,7 @@ with specific templates. It also allows you to select the location where a
5657note should be stored interactively, on the fly. 5677note should be stored interactively, on the fly.
5658 5678
5659@menu 5679@menu
5660* Setting up Remember for Org:: Some code for .emacs to get things going 5680* Setting up Remember for Org:: Some code for .emacs to get things going
5661* Remember templates:: Define the outline of different note types 5681* Remember templates:: Define the outline of different note types
5662* Storing notes:: Directly get the note to where it belongs 5682* Storing notes:: Directly get the note to where it belongs
5663* Refiling notes:: Moving a note or task to a project 5683* Refiling notes:: Moving a note or task to a project
@@ -6148,7 +6168,7 @@ window configuration is restored when the agenda exits:
6148* Presentation and sorting:: How agenda items are prepared for display 6168* Presentation and sorting:: How agenda items are prepared for display
6149* Agenda commands:: Remote editing of Org trees 6169* Agenda commands:: Remote editing of Org trees
6150* Custom agenda views:: Defining special searches and views 6170* Custom agenda views:: Defining special searches and views
6151* Exporting Agenda Views:: 6171* Exporting Agenda Views:: Writing a view to a file
6152* Agenda column view:: Using column view for collected entries 6172* Agenda column view:: Using column view for collected entries
6153@end menu 6173@end menu
6154 6174
@@ -7395,10 +7415,10 @@ This is a globally available command, and also available in the agenda menu.
7395Write the agenda view to a file. Depending on the extension of the selected 7415Write the agenda view to a file. Depending on the extension of the selected
7396file name, the view will be exported as HTML (extension @file{.html} or 7416file name, the view will be exported as HTML (extension @file{.html} or
7397@file{.htm}), Postscript (extension @file{.ps}), PDF (extension @file{.pdf}), 7417@file{.htm}), Postscript (extension @file{.ps}), PDF (extension @file{.pdf}),
7398or plain text (any other extension). When called with a @kbd{C-u} prefix 7418Org-mode (extension @file{.org}), and plain text (any other extension). When
7399argument, immediately open the newly created file. Use the variable 7419called with a @kbd{C-u} prefix argument, immediately open the newly created
7400@code{org-agenda-exporter-settings} to set options for @file{ps-print} and 7420file. Use the variable @code{org-agenda-exporter-settings} to set options
7401for @file{htmlize} to be used during export. 7421for @file{ps-print} and for @file{htmlize} to be used during export.
7402 7422
7403@tsubheading{Quit and Exit} 7423@tsubheading{Quit and Exit}
7404@kindex q 7424@kindex q
@@ -7622,13 +7642,13 @@ you want to do this only occasionally, use the command
7622@cindex exporting agenda views 7642@cindex exporting agenda views
7623@cindex agenda views, exporting 7643@cindex agenda views, exporting
7624@vindex org-agenda-exporter-settings 7644@vindex org-agenda-exporter-settings
7625Write the agenda view to a file. Depending on the extension of the 7645Write the agenda view to a file. Depending on the extension of the selected
7626selected file name, the view will be exported as HTML (extension 7646file name, the view will be exported as HTML (extension @file{.html} or
7627@file{.html} or @file{.htm}), Postscript (extension @file{.ps}), 7647@file{.htm}), Postscript (extension @file{.ps}), iCalendar (extension
7628iCalendar (extension @file{.ics}), or plain text (any other extension). 7648@file{.ics}), Org-mode (extension @file{.org}), or plain text (any other
7629Use the variable @code{org-agenda-exporter-settings} to 7649extension). Use the variable @code{org-agenda-exporter-settings} to set
7630set options for @file{ps-print} and for @file{htmlize} to be used during 7650options for @file{ps-print} and for @file{htmlize} to be used during export,
7631export, for example 7651for example
7632 7652
7633@vindex org-agenda-add-entry-text-maxlines 7653@vindex org-agenda-add-entry-text-maxlines
7634@vindex htmlize-output-type 7654@vindex htmlize-output-type
@@ -7951,6 +7971,12 @@ process the entire buffer.
7951Remove the overlay preview images. 7971Remove the overlay preview images.
7952@end table 7972@end table
7953 7973
7974@vindex org-format-latex-options
7975You can customize the variable @code{org-format-latex-options} to influence
7976some aspects of the preview. In particular, the @code{:scale} (and for HTML
7977export, @code{:html-scale}) property can be used to adjust the size of the
7978preview images.
7979
7954During HTML export (@pxref{HTML export}), all La@TeX{} fragments are 7980During HTML export (@pxref{HTML export}), all La@TeX{} fragments are
7955converted into images and inlined into the document if the following 7981converted into images and inlined into the document if the following
7956setting is active: 7982setting is active:
@@ -8107,13 +8133,13 @@ property @code{EXPORT_TITLE}, that will take precedence.
8107@subheading Headings and sections 8133@subheading Headings and sections
8108@cindex headings and sections, markup rules 8134@cindex headings and sections, markup rules
8109 8135
8110@vindex org-headline-levels 8136@vindex org-export-headline-levels
8111The outline structure of the document as described in @ref{Document 8137The outline structure of the document as described in @ref{Document
8112Structure}, forms the basis for defining sections of the exported document. 8138Structure}, forms the basis for defining sections of the exported document.
8113However, since the outline structure is also used for (for example) lists of 8139However, since the outline structure is also used for (for example) lists of
8114tasks, only the first three outline levels will be used as headings. Deeper 8140tasks, only the first three outline levels will be used as headings. Deeper
8115levels will become itemized lists. You can change the location of this 8141levels will become itemized lists. You can change the location of this
8116switch globally by setting the variable @code{org-headline-levels}, or on a 8142switch globally by setting the variable @code{org-export-headline-levels}, or on a
8117per-file basis with a line 8143per-file basis with a line
8118 8144
8119@cindex #+OPTIONS 8145@cindex #+OPTIONS
@@ -8451,7 +8477,8 @@ exported as a horizontal line (@samp{<hr/>} in HTML).
8451@cindex #+BEGIN_COMMENT 8477@cindex #+BEGIN_COMMENT
8452 8478
8453Lines starting with @samp{#} in column zero are treated as comments and will 8479Lines starting with @samp{#} in column zero are treated as comments and will
8454never be exported. Also entire subtrees starting with the word 8480never be exported. If you want an indented line to be treated as a comment,
8481start it with @samp{#+ }. Also entire subtrees starting with the word
8455@samp{COMMENT} will never be exported. Finally, regions surrounded by 8482@samp{COMMENT} will never be exported. Finally, regions surrounded by
8456@samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported. 8483@samp{#+BEGIN_COMMENT} ... @samp{#+END_COMMENT} will not be exported.
8457 8484
@@ -9027,13 +9054,13 @@ view: @r{Initial view when website is first shown. Possible values are:}
9027 showall @r{Folding interface, all headlines and text visible.} 9054 showall @r{Folding interface, all headlines and text visible.}
9028sdepth: @r{Maximum headline level that will still become an independent} 9055sdepth: @r{Maximum headline level that will still become an independent}
9029 @r{section for info and folding modes. The default is taken from} 9056 @r{section for info and folding modes. The default is taken from}
9030 @r{@code{org-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).} 9057 @r{@code{org-export-headline-levels} (= the @code{H} switch in @code{#+OPTIONS}).}
9031 @r{If this is smaller than in @code{org-headline-levels}, each} 9058 @r{If this is smaller than in @code{org-export-headline-levels}, each}
9032 @r{info/folding section can still contain child headlines.} 9059 @r{info/folding section can still contain child headlines.}
9033toc: @r{Should the table of content @emph{initially} be visible?} 9060toc: @r{Should the table of content @emph{initially} be visible?}
9034 @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.} 9061 @r{Even when @code{nil}, you can always get to the "toc" with @kbd{i}.}
9035tdepth: @r{The depth of the table of contents. The defaults are taken from} 9062tdepth: @r{The depth of the table of contents. The defaults are taken from}
9036 @r{the variables @code{org-headline-levels} and @code{org-export-with-toc}.} 9063 @r{the variables @code{org-export-headline-levels} and @code{org-export-with-toc}.}
9037ftoc: @r{Does the css of the page specify a fixed position for the "toc"?} 9064ftoc: @r{Does the css of the page specify a fixed position for the "toc"?}
9038 @r{If yes, the toc will never be displayed as a section.} 9065 @r{If yes, the toc will never be displayed as a section.}
9039ltoc: @r{Should there be short contents (children) in each section?} 9066ltoc: @r{Should there be short contents (children) in each section?}
@@ -10152,10 +10179,12 @@ tree. The corresponding variable for global default settings is
10152@cindex @code{overview}, STARTUP keyword 10179@cindex @code{overview}, STARTUP keyword
10153@cindex @code{content}, STARTUP keyword 10180@cindex @code{content}, STARTUP keyword
10154@cindex @code{showall}, STARTUP keyword 10181@cindex @code{showall}, STARTUP keyword
10182@cindex @code{showeverything}, STARTUP keyword
10155@example 10183@example
10156overview @r{top-level headlines only} 10184overview @r{top-level headlines only}
10157content @r{all headlines} 10185content @r{all headlines}
10158showall @r{no folding at all, show everything} 10186showall @r{no folding of any entries}
10187showeverything @r{show even drawer contents}
10159@end example 10188@end example
10160 10189
10161@vindex org-startup-indented 10190@vindex org-startup-indented
@@ -10678,7 +10707,8 @@ in the paragraph above about CUA mode also applies here.
10678 10707
10679@end table 10708@end table
10680 10709
10681@node Hacking, History and Acknowledgments, Miscellaneous, Top 10710
10711@node Hacking, MobileOrg, Miscellaneous, Top
10682@appendix Hacking 10712@appendix Hacking
10683@cindex hacking 10713@cindex hacking
10684 10714
@@ -11444,19 +11474,6 @@ foreach $line (split(/\n/,$agenda)) @{
11444@} 11474@}
11445@end example 11475@end example
11446 11476
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460@node Using the property API, Using the mapping API, Extracting agenda information, Hacking 11477@node Using the property API, Using the mapping API, Extracting agenda information, Hacking
11461@section Using the property API 11478@section Using the property API
11462@cindex API, for properties 11479@cindex API, for properties
@@ -11636,7 +11653,130 @@ The following example counts the number of entries with TODO keyword
11636(length (org-map-entries t "/+WAITING" 'agenda)) 11653(length (org-map-entries t "/+WAITING" 'agenda))
11637@end lisp 11654@end lisp
11638 11655
11639@node History and Acknowledgments, Main Index, Hacking, Top 11656@node MobileOrg, History and Acknowledgments, Hacking, Top
11657@appendix MobileOrg
11658@cindex iPhone
11659@cindex MobileOrg
11660
11661@i{MobileOrg} is an application for the @i{iPhone/iPod Touch} series of
11662devices, developed by Richard Moreland. Instead of trying to implement the
11663full feature set of Org and fighting with synchronization issues, this
11664application chooses a different path. @i{MobileOrg} provides offline viewing
11665and capture support for an Org-mode system rooted on a ``real'' computer.
11666Synchronization issues are avoided by making @i{MobileOrg} only @i{write} to
11667a special capture file, that is only @i{read} by the computer-based system.
11668
11669This appendix describes the support Org has for creating agenda views in a
11670format that can be displayed by @i{MobileOrg}, and for integrating notes
11671captured by @i{MobileOrg} into the main system. It does not cover the
11672operation of @i{MobileOrg} itself (see @uref{http://ncogni.to/mobileorg/}).
11673
11674@menu
11675* Setting up the staging area:: Where to interact with the mobile device
11676* Pushing to MobileOrg:: Uploading Org files and agendas
11677* Pulling from MobileOrg:: Integrating captured and flagged items
11678@end menu
11679
11680@node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg
11681@section Setting up the staging area
11682
11683Org-mode has commands to prepare a directory with files for @i{MobileOrg},
11684and to read captured notes from there. If Emacs can directly write to the
11685WebDAV directory accessed by @i{MobileOrg}, all you need to do is to point to
11686this directory using the variable @code{org-mobile-directory}.
11687
11688If Emacs cannot access the WebDAV directory directly, you can use a local
11689directory for staging. Other means must then be used to keep this directory
11690in sync with the WebDAV directory. In the following example, files are
11691staged in @file{~/stage}, and Org-mode hooks take care of moving files to and
11692from the WebDAV directory using @file{scp}.
11693
11694@example
11695(setq org-mobile-directory "~/stage/")
11696(add-hook 'org-mobile-post-push-hook
11697 (lambda ()
11698 (shell-command "scp ~/stage/* user@@webdavhost:mobile/")))
11699(add-hook 'org-mobile-pre-pull-hook
11700 (lambda ()
11701 (shell-command "scp user@@webdavhost:mobile/mobileorg.org ~/stage/ ")))
11702(add-hook 'org-mobile-post-pull-hook
11703 (lambda ()
11704 (shell-command "scp ~/stage/mobileorg.org user@@webdavhost:mobile/")))
11705@end example
11706
11707@node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg
11708@section Pushing to MobileOrg
11709
11710This operation copies all files currently listed in @code{org-mobile-files}
11711to the directory @code{org-mobile-directory}. By default this list contains
11712all agenda files (as listed in @code{org-agenda-files}), but additional files
11713can be included by customizing @code{org-mobiles-files}. The push operation
11714also creates (in the same directory) a special Org file @file{agendas.org}.
11715This file is an Org-mode style outline, containing every custom agenda view
11716defined by the user. While creating the agendas, Org-mode will
11717force@footnote{See the variable @code{org-mobile-force-id-on-agenda-items}.}
11718an ID property on all entries referenced by the agendas, so that these
11719entries can be uniquely identified if @i{MobileOrg} flags them for further
11720action. Finally, Org writes the file @file{index.org}, containing links to
11721all other files. If @i{MobileOrg} is configured to request this file from
11722the WebDAV server, all agendas and Org files will be downloaded to the
11723iPhone. To speed up the download, MobileOrg will only read files whose
11724checksums@footnote{stored automatically in the file @file{checksums.dat}}
11725have changed.
11726
11727@node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg
11728@section Pulling from MobileOrg
11729
11730When @i{MobileOrg} synchronizes with the WebDAV server, it not only pulls the
11731Org files for viewing. It also appends captured entries and pointers to
11732flagged entries to the file @file{mobileorg.org} on the server. Org has
11733a @emph{pull} operation that integrates this information into an inbox file
11734and operates on the pointers to flagged entries. Here is how it works:
11735
11736@enumerate
11737@item
11738Org moves all entries found in
11739@file{mobileorg.org}@footnote{@file{mobileorg.org} will be empty after this
11740operation.} and appends them to the file pointed to by the variable
11741@code{org-mobile-inbox-for-pull}. Each captured entry will be a top-level
11742entry in the inbox file.
11743@item
11744After moving the entries, Org will attempt to act on the flags. Some flags
11745specify simple operations that will be executed directly and without user
11746interaction. Examples are marking an entry as DONE and/or archiving
11747it@footnote{as specified by the variable @code{org-archive-default-action}}.
11748All other flagged entries will receive a tag @code{:FLAGGED:}, so that they
11749can be easily found again. When there is a problem finding the entry that
11750should be flagged, the pointer entry will remain in the inbox and will be
11751marked with an error message.
11752@item
11753Org will then generate an agenda view with all flagged entries. The user
11754should then go through these entries and do whatever actions are necessary.
11755If a note has been stored while flagging an entry in @i{MobileOrg}, that note
11756will be displayed in the echo area when the cursor is on the corresponding
11757agenda line.
11758@table @kbd
11759@kindex ?
11760@item ?
11761Pressing @kbd{?} in that special agenda will display the full flagging note in
11762another window and also push it onto the kill ring. So you could use @kbd{?
11763z C-y C-c C-c} to store that flagging note as a normal note in the entry.
11764Pressing @kbd{?} twice in succession will offer to remove the
11765@code{:FLAGGED:} tag along with the recorded flagging note (which is stored
11766in a property).
11767@end table
11768@end enumerate
11769
11770@kindex C-c a ?
11771If you are not able to process all flagged entries directly, you can always
11772return to this agenda view using @kbd{C-c a ?}. Note, however, that there is
11773a subtle difference. The view created automatically by @kbd{M-x
11774org-mobile-pull RET} is guaranteed to search all files that have been
11775addressed by the last pull. This might include a file that is not currently
11776in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate
11777the view, only the current agenda files will be searched.
11778
11779@node History and Acknowledgments, Main Index, MobileOrg, Top
11640@appendix History and Acknowledgments 11780@appendix History and Acknowledgments
11641@cindex acknowledgments 11781@cindex acknowledgments
11642@cindex history 11782@cindex history
@@ -11763,6 +11903,8 @@ basis.
11763@i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler 11903@i{Stefan Monnier} provided a patch to keep the Emacs-Lisp compiler
11764happy. 11904happy.
11765@item 11905@item
11906@i{Richard Moreland} wrote @i{MobileOrg} for the iPhone.
11907@item
11766@i{Rick Moynihan} proposed allowing multiple TODO sequences in a file 11908@i{Rick Moynihan} proposed allowing multiple TODO sequences in a file
11767and being able to quickly restrict the agenda to a subtree. 11909and being able to quickly restrict the agenda to a subtree.
11768@item 11910@item
@@ -11901,3 +12043,5 @@ org-customize @key{RET}} and then klick yourself through the tree.
11901@c fill-column: 77 12043@c fill-column: 77
11902@c End: 12044@c End:
11903 12045
12046
12047@c LocalWords: webdavhost pre