Commit Graph

315 Commits

Author SHA1 Message Date
Carsten Dominik 68e6c08c17 Agenda: Introduce user-defined sorting operators.
The new variable `org-agenda-cmp-user-defined' can contain a function
to test how two entries should be compared during sorting.
user-defined-up and user-defined-down can then be part of any sorting
strategy.
2009-03-27 17:50:21 +01:00
Carsten Dominik b4c6dab208 Agenda: Make sure diary items are searched for a time.
The new variable `org-agenda-search-headline-for-time' also turned off
time searching for diary items as an unwanted side-effect.  This
commit makes sure that diary entries are always parsed for a time.
2009-03-25 12:01:30 +01:00
Carsten Dominik 70b975f89c Agenda: Fix bugs with FILETAGS
Harri Kiiskinen writes:

>  It seems that org-use-tag-inheritance set to regexp, the use of
>  #+FILETAGS: and org-todo-list do not work together. It seems, that a
>  regexp in org-use-tag-inheritance matching a tag set in #+FILETAGS
>  causes this error:
>
>  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   string-match("^ +" nil)
>  [...]
>  when org-use-tag-inheritance is set to regexp "te"
>  with this file:
>
>  --------
>  #+STARTUP:
>  #+FILETAGS: tea
>  * TODO testing 		       :test:
>  ** TODO too			       :data:
>  -----
>
>  When the regexp is "tes", so that the FILETAG does not match,
>  org-todo-list produces a correct list.

This is indeed a bug.  The all to `org-get-tags-at' does change the
match data if there is a match for the inheritance regexp.  This
problem is now avoided by first extracting (match-string 1), and then
getting the tags.

Studying this bug also exposed another one, namely that file tags are
not marked as inherited tags.  This is now fixed, immediately when
the #+FILETAGS line is parsed.
2009-03-25 09:20:12 +01:00
Carsten Dominik 7924dcb1bf New face for items switched in agenda to DONE.
Items are listed in the agenda sometimes in bright colors, to draw
attention to important tasks or deadlines.  When such an item is
switched to DONE, the state change is reflected by the new TODO
keyword, but the line itself might still be bright.  Org de-emphasizes
the line by changing the face of the line.  It used to change it to
the face `org-done', but now we use a new, independent face
`org-agenda-done'.
2009-03-21 18:25:01 +01:00
Carsten Dominik aaedf7d01a Stuck projects: Search subtree of un-stuck projects
This commit implements an important change:  When, during a
stuck-project search, a project tree is identified as not stuck, so
far the search would continue after the end of the project tree.  From
now on, the search continues in the subtree, so that stuck subprojects
can still be identified.
2009-03-19 10:47:04 +01:00
Carsten Dominik ae2cf50782 Alan E Davis writes:
>  Feature Request: that the pdf saved automatically from agenda be
>  immediately displayed
>  The saving of a pdf is a really nice feature.  I had hacked
>  org-agenda, I think, to automatically do this.  However, it would
>  be nicer if immediate display were optional.  I don't know
>  whether \C-u makes sense as a prefix to saving a file with \C-x
>  \C-w.  Perhaps not.

Why not, C-c C-x C-w is a fine idea for this.  It should now work.
2009-03-15 16:46:44 +01:00
Carsten Dominik 95b00738e3 Minor fix 2009-03-15 16:39:12 +01:00
Carsten Dominik 722fc9a490 Version number to 6.24trans 2009-03-14 08:03:10 +01:00
Carsten Dominik acfcb14c82 Time stamps: Changing time ranges as a block.
Anupam Sengupta writes:

>  I routinely use time ranges (and occasionally time-stamp ranges)
>  in my org files to document the scheduled block of time for a
>  meeting or activity.  As an example, I will mark meetings as:
>
>  * A Meeting
>   <2009-03-12 Thu 10:00-11:00>
>
>  As often happens with meetings, rescheduling needs to be done and
>  I use S-<up> or S-<down> on the time-stamp to make the
>  modifications.  While this works fine, it usually leads to a
>  duplication when the *time* part of the time-stamp needs to be
>  changed.
>
>  For the same example above, if the time-block has now changed to
>  11:00-12:00, then I need to do S-<up> on both the "10:00" and the
>  "11:00" string.  I.e,
>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-11:00>
>                    ^
>                    +---------------- After the first S-<up>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                          ^
>                          +---------------- After the second S-<up>
>
>  Can we have a feature (with a toggle option perhaps) which would
>  *move* the block (i.e., both time entries) by the same amount
>  when either one is moved in the same direction. I.e., the
>  proposal is to have:
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                    ^     ^
>                    |     |
>                    |     +---------- Automatically shifted
>                    +---------------- After the S-<up>

This is in fact how changing time works in many applications, and
it does make sense here as well.  The commits implements this
change.

It also implements a way to change the start time of an entry from
the agenda.  The date is normally changed with S-right/left.
Now, if you add a C-u prefix, the hour will be changed.  If you
immediately press S-right/left again, hours will continue to be
changed.

A double prefix will do the same for minutes.
2009-03-14 08:02:09 +01:00
Carsten Dominik c8b6a9cc60 Release 6.24c 2009-03-12 12:51:17 +01:00
Carsten Dominik 680d8cb440 Release 6.24b 2009-03-10 17:50:17 +01:00
Carsten Dominik 8d6d8dc2df Improve documentation 2009-03-09 08:44:36 +01:00
Carsten Dominik 7e8a387184 Release 6.24a 2009-03-09 05:37:09 +01:00
Carsten Dominik 029fc74688 Agenda: Control how links are presented in added text.
Patch by Christopher Suckling.
2009-03-08 16:53:05 +01:00
Carsten Dominik 20828f3176 Release 6.24 2009-03-05 21:11:18 +01:00
Carsten Dominik 42cbb29b3e Documentation fixes 2009-03-03 18:27:11 +01:00
Carsten Dominik 8c412ca71f Agenda: Allow custom commands to specify a filter preset.
Custom commands can now bind `org-agenda-filter-preset'.  This filter
will then be present in the agenda view and persist through refresh
and further filtering.  Only a new agenda command will remove the
filter again.
2009-03-03 15:41:15 +01:00
Carsten Dominik b719ac011d Bug fix. 2009-03-03 13:12:37 +01:00
Carsten Dominik d3d2b3e835 Priorities: Allow specific faces for priority cookies
The variable org-priority-faces can now be used to set special faces
for different priority cookies.

Also, in the agenda, the default is now to fontify only the priority
cookie, not the entire task.  See the variable
`org-agenda-fontify-priorities'.
2009-03-03 12:44:53 +01:00
Carsten Dominik a5b2a0c759 Documentation: Improve and collect documentation about the match view 2009-03-03 10:20:23 +01:00
Peter Jones 8b38105040 Conditionally delete windows in agenda quit
Before this patch, org-agenda-quit would delete the agenda window if
the frame had more than one window.  This patch changes that behavior
slightly so that if org-agenda-window-setup is 'current-window, the
agenda window won't be deleted.
2009-03-01 17:18:35 +01:00
Carsten Dominik 8cdc0cc961 Agenda views: Simplify setting up inclusion of entry text 2009-02-27 10:37:38 +01:00
Carsten Dominik c91bca9d1c Push version number to 6.23trans 2009-02-26 21:32:04 +01:00
Carsten Dominik f4d1d56046 Agenda export: Implement PDF export
The agenda can ow also be written to a pdf file.  This requires the
ps2pdf utility to be present on the system.
2009-02-26 21:19:11 +01:00
Carsten Dominik aadcc50e00 Agenda export: Allow entry text to be inlined for export.
A new hook is introduced, `org-agenda-before-write-hook'.
A function that ca be added to this hook is
`org-agenda-add-entry-text'.   When this is done, each of the entries
shown in the agenda is amended with text that in the original buffer
is part of the entry text below the headline.  Drawers are not copied,
and also the line with scheduling and deadline information is not
used.  Finally, the number of ines to be added is imited by
`org-agenda-add-entry-text-maxlines'.
2009-02-26 20:56:26 +01:00
Carsten Dominik 3dba115548 Agenda: New option to stop searching headline for a time.
If the headline contains a time-of-day in one format or another, it
will be used to sort the entry into the time sequence of items for a
day.  Some people have time stamps in the headline that refer to the
creation time or so, and then this produces an unwanted side effect.
If this is the case for your, use the new option
`org-agenda-search-headline-for-time' to turn off searching the
headline for a time.
2009-02-25 13:01:28 +01:00
Carsten Dominik f44631e70f Agenda: Make prefix argument to `org-agenda' optional.
This is to make it easier to call this function from lisp.

Patch by Eric Schulte.
2009-02-25 12:51:00 +01:00
Carsten Dominik 6c8beec225 Release 6.23b 2009-02-22 18:37:24 +01:00
Carsten Dominik 482216f300 Release 6.23a 2009-02-21 15:18:39 +01:00
Carsten Dominik 081eabb3f6 Agenda: Fix bug with state change matching for log display
Reported by Matt Lundin.
2009-02-20 22:55:50 +01:00
Carsten Dominik 82f2fca21e Release 6.23 2009-02-20 11:16:03 +01:00
Carsten Dominik 7a5311543d Documentation improvements 2009-02-19 17:11:54 +01:00
Carsten Dominik 4a6bfd6552 Minor bug fix in experimental code. 2009-02-19 11:13:15 +01:00
Carsten Dominik 06056781fe Agenda: Do not make tasks invisible if they are blocked by checkboxes.
John Rakestraw writes:

>  I noticed today that, at least in my set-up, setting these variables
>  this way:
>
>    (setq org-agenda-dim-blocked-tasks 'invisible)
>    (setq org-enforce-todo-checkbox-dependencies t)
>
>  means that a TODO task with checkboxes doesn't get included in the
>  agenda. However, the sub-tasks in the checkbox list don't get included,
>  either. So the TODO task with checkboxes doesn't show up in the agenda.
>
>  It makes sense given the way the variables work. However, I wonder if
>  it makes more sense for a task with checklisted sub-tasks to be
>  included in the agenda so that the tasks and sub-tasks don't get lost.
>  Or, to put the point slightly differently, I think that a TODO that's
>  blocked because it has dependent TODOs might be treated differently in
>  agenda listings than a TODO that's blocked because it has dependent
>  checklist items.
>
>  Not a big deal to me because I don't typically use checkboxes for TODO
>  items. But I thought I'd raise it for consideration.

I agree with this view and the commit implements exactly this.
2009-02-19 11:12:52 +01:00
Carsten Dominik fa54d8104a Agenda: Fix problems with follow mode. 2009-02-19 10:40:08 +01:00
Carsten Dominik a55dd5a9e6 Docs: Mention more variables in the manual.
The variables `org-agenda-todo-ignore-deadlines' and
`org-agenda-todo-ignore-with-date, and
`org-agenda-tags-todo-honor-ignore-options' are now all mentioned in
the docs.
2009-02-18 15:51:51 +01:00
Carsten Dominik b013bea1c9 Agenda: Prefix args can specify context to `org-agenda-show'.
The commands org-agenda-show can now be used to show varying degrees of
context when called with a prefix argument. `0 SPC', `1 SPC', ... `4
SPC'.

The new command `org-agenda-cycle-show' shows different amounts of
context when called several times in succession.
2009-02-17 21:46:41 +01:00
Carsten Dominik bc74aecd8d Agenda: Improve window fitting while making a series of blocks
The agenda window was fitted after each partial command, which makes
no sense.  Now it is only fitted after the final block.
2009-02-16 19:13:20 +01:00
Carsten Dominik b44e3d05ee Agenda: Fix sorting by TODO state in block agendas
Christopher Suckling reports that todo state sorting doe not work in
block agenda.  The reason for this that the variable
`org-todo-keywords-for-agenda' which is supposed to be a lost of all
keywords of all buffers contributing to the agenda, is not correct
during the construction of a block agenda.

Therefore, this commit instructs the todo state comparison function to
refer back to the original buffer for a list of todo keywords.
2009-02-16 19:01:52 +01:00
Carsten Dominik a6c8fac4f9 Agenda: Make sure all entries have a todo-state property
This is needed for sorting, and I had forgotten to add this property
to tag scans, and to sexps.

Reported by Christopher Suckling.
2009-02-16 07:52:41 +01:00
Carsten Dominik 0dae1ba349 Agenda: Make overriding header one of the default option variables 2009-02-16 05:37:58 +01:00
Carsten Dominik b40671f31b Agenda: Fix incomplete docstring of `org-agenda'.
Reported by Jonathan Moore.
2009-02-13 23:21:10 +01:00
Carsten Dominik 492a5b5ea9 Version number: Push to 6.22trans 2009-02-13 07:45:42 +01:00
Carsten Dominik bc5b0056e7 Release 6.22b 2009-02-10 20:21:33 +01:00
Carsten Dominik a599bca287 Agenda: Add new skip conditions to choose menu. 2009-02-10 20:21:33 +01:00
Carsten Dominik ce42b4be86 Agenda: New command to revert all Org-mode buffers from files 2009-02-10 20:21:27 +01:00
Carsten Dominik e592c77846 Release 6.22a 2009-02-10 10:11:23 +01:00
Carsten Dominik 8d213584ff Release 6.22 2009-02-10 08:23:35 +01:00
Carsten Dominik 4e973c6b82 Agenda: New skipping conditions timestamp and nottimestamp.
The org-agenda-skip-xxx-if functions can now also handle a `timestamp'
and a `nottimestamp' condition.
2009-02-04 15:19:21 +01:00
Carsten Dominik 93ec228f36 Push version number to 6.21trans 2009-02-03 00:06:22 +01:00
Carsten Dominik 0b424cb238 Release 6.21b 2009-02-02 21:42:20 +01:00
Carsten Dominik 2fa17ebf74 Release 6.21a 2009-02-02 14:23:54 +01:00
Carsten Dominik 193fab0788 Release 6.21 2009-02-02 12:18:44 +01:00
Carsten Dominik 2949012f0f Change default values of some variables. 2009-02-01 23:49:03 +01:00
Carsten Dominik c1296074f2 Release 6.20i 2009-02-01 00:16:43 +01:00
Carsten Dominik bb95b83162 Agenda: Keep org-depend from setting its tag when only checking for blocking.
When org-depend.el is loaded, running the blocker hook will already
toggle a tag.  However, when dimming the agenda, we do not want that.

Reported by Dan Griswold.
2009-02-01 00:15:29 +01:00
Carsten Dominik 924110aecc Release 6.20h 2009-01-30 18:31:37 +01:00
Carsten Dominik f99b00f61c Release 6.20g 2009-01-30 09:20:41 +01:00
Carsten Dominik 99221708a3 Agenda: Fix bug with calling `org-agenda-todo' in a non-interactive way. 2009-01-30 07:38:02 +01:00
Carsten Dominik bb3570eae9 Release 6.20f 2009-01-29 15:29:07 +01:00
Carsten Dominik 11fa49dd21 Release 6.20e 2009-01-29 14:13:30 +01:00
Carsten Dominik 317f08c69b Release 6.20d 2009-01-29 10:38:35 +01:00
Carsten Dominik 435ac059bf Release 6.20c 2009-01-28 14:35:50 +01:00
Carsten Dominik ef020f221e Bugfix: Ignore again scheduled tasks. 2009-01-28 14:35:07 +01:00
Carsten Dominik bc19e4df69 Release 6.20b 2009-01-28 14:04:56 +01:00
Carsten Dominik 16f7c4f384 Release 6.20a 2009-01-28 12:28:54 +01:00
Carsten Dominik b81f597de0 Release 6.20 2009-01-28 09:30:12 +01:00
Carsten Dominik 49e8ee37a8 Dependencies: Integrate John Wiegley's TODO dependency code.
See the documentation for details.
2009-01-28 09:02:37 +01:00
Carsten Dominik 78b4ca8cfc Release 6.19e 2009-01-27 11:44:49 +01:00
Carsten Dominik 452f7352f6 Maintenance: Cleanup and minor fixed. 2009-01-27 11:42:32 +01:00
Carsten Dominik 2860252c9e Minor fixes, and release 6.19d 2009-01-27 09:11:34 +01:00
Carsten Dominik c848dae4be Release 6.19c 2009-01-27 09:02:13 +01:00
Carsten Dominik f31255c8f3 Maintenance: Remove unused variables. 2009-01-26 11:04:45 +01:00
Carsten Dominik ea446a6ff7 Release 6.19b 2009-01-26 08:22:14 +01:00
Carsten Dominik 5e965557b3 Release 6.19a 2009-01-25 16:08:16 +01:00
Carsten Dominik 41e51dfef4 Release 6.19 2009-01-25 13:41:09 +01:00
Carsten Dominik 3fed83614e Agenda: A tags-todo search can now ignore timestamped items
The variables =org-agenda-todo-ignore-with-date=,
=org-agenda-todo-ignore-with-date=, and
=org-agenda-todo-ignore-with-date= make it possible to
exclude TODO entries which have this kind of planning info
associated with them.  This is most useful for people who
schedule everything, and who use the TODO list mainly to find
things that are not yet scheduled.  Thomas Morgan pointed out
that also the tags-todo search may serve exactly this
purpose, and that it might be good to have a way to make
these variables also apply to the tags-todo search.  I can
see than, but could not convince myself to make this the
default.  A new variable must be set to make this happen:
=org-agenda-tags-todo-honor-ignore-options=.
2009-01-25 07:39:26 +01:00
Carsten Dominik 19351e35c2 Version number: pushed to 6.18trans 2009-01-21 17:59:42 +01:00
Carsten Dominik 5f814319eb Release 6.18c 2009-01-21 10:34:03 +01:00
Carsten Dominik d164a22da6 Release 6.18a 2009-01-21 10:24:46 +01:00
Carsten Dominik b76b28f2a7 Release 6.18 2009-01-20 10:23:26 +01:00
Carsten Dominik 19421c2513 Agenda: Make block separator configurable.
The new option `org-agenda-block-separator' can be used for this.
2009-01-18 08:22:18 +01:00
Carsten Dominik 34867369df Push version number to 6.17trans 2009-01-07 13:27:02 +01:00
Carsten Dominik 6b686333fb Release 6.17c 2009-01-06 23:35:50 +01:00
Carsten Dominik 621d11687d Update copyright notice to 2009 2009-01-06 10:47:36 +01:00
Carsten Dominik da36bd29ab Release 6.17b 2009-01-06 09:56:42 +01:00
Carsten Dominik 52ee4c0bd2 Agenda: Have series options available when finalizing agenda.
An agenda series can have a set of global options.  Matt Lundin
reported that these options to not work completely.  There reason was
that, when calling `org-finalize-agenda' for a series, the dynamic
binding of those options was already off again.  This commit makes
sure that these bindings are available also during this final step.
2009-01-06 09:47:45 +01:00
Carsten Dominik 35c0798d69 Release 6.17a 2009-01-05 13:25:58 +01:00
Carsten Dominik 2f38ef0c60 Release 6.17 2009-01-04 09:00:34 +01:00
Carsten Dominik 75ca89400a Utilities: New perl program to extract hooks
A new perl program, list-hooks.pl, now extracts the full list of hook
and function variables in Org, for inclusion into Worg's org-hooks.org.

Also, add a docstring to a few hooks that did not have one.
2009-01-01 09:54:13 +01:00
Carsten Dominik 8915859c08 Version number back to 6.16trans. 2008-12-25 11:10:02 +01:00
Carsten Dominik 20f2f8e1e1 Release 6.16c 2008-12-25 11:06:35 +01:00
Carsten Dominik a8282e38c3 Version number: Pushed to 6.16trans. 2008-12-22 07:35:14 +01:00
Carsten Dominik f35b0549ec Release 6.16a 2008-12-21 12:47:50 +01:00
Carsten Dominik d89284b240 Release 6.16 2008-12-20 11:16:01 +01:00
Carsten Dominik 952c6b9901 Version number to 6.15trans. 2008-12-19 09:14:00 +01:00
Carsten Dominik 8ff0c60894 Release 6.15f 2008-12-18 23:38:53 +01:00
Carsten Dominik 9cd1518bad Allow to view full entry from agenda.
A prefix argument to the `org-agenda-show' command is now interpreted
to make sure the entire entry is made visible in the other window, not
only the headline.
2008-12-18 09:22:21 +01:00
Carsten Dominik 2075b26a92 Pushing version number to 6.15trans. 2008-12-18 09:04:15 +01:00
Carsten Dominik ff8ef0aa14 Fix bug with updating agenda lines with correct tags.
Updating agenda lines did display tags incorrectly, because it used
the list of tags available as a property to remake the list.  However,
that list contains down-cased versions of the tags, because all the
filtering in the agenda does ignore case in tags.

This patch implements a fresh scan for the tags each time a line is
updated, and in this way fixes the problem.  It also reverses a
previous attempt to fix a similar problem.
2008-12-18 09:03:06 +01:00