|
From: | Carsten Dominik |
Subject: | Re: [Orgmode] Re: Sorting TODOs with time-up |
Date: | Mon, 30 Mar 2009 19:59:29 +0200 |
On Mar 30, 2009, at 4:46 PM, David Engster wrote:
Matthew Lundin <address@hidden> writes:David Engster <address@hidden> writes:I guess this should be simple but somehow it's not working for me. Iwant to generate a todo list which is sorted according to the scheduleddate. Consider the following test.org file:[...]This minimal setup (setq org-agenda-files '("~/orgtest/test.org")) (setq org-agenda-sorting-strategy '((agenda time-up priority-down category-keep) (todo time-up priority-down category-keep) (tags priority-down category-keep) (search category-keep))) should sort TODOs according to time, right? But when I doAs far as I understand it, time-up sorts only by time of day in the agenda view. I.e., it will place items that have been scheduled for a particular hour at the top of the agenda. Here's some info from the docstring: ,----| time-up Put entries with time-of-day indications first, early first | time-down Put entries with time-of-day indications first, late first| | Pull out all entries having a specified time of day and sort them,| in order to make a time schedule for the current day the first thing in the| agenda listing for the day. `----Thanks for the clarification. This is a bit confusing, since sorting bypriority works in the todo list, but sorting with date does not. Also,since I call the function 'org-agenda', it is a bit unexpected that whenI press 't' afterwards I don't really get an agenda but a TODO list,which seems to behave differently in some aspects from the normal agendaview I get when pressing 'a'.
Yes, this is bad terminology, which evolved historically."org-agenda" is a dispatcher for the different views that we call "agenda views".
One of the "agenda views" is the global todo list (on `t'), another one is the "daily/weekly agenda" (on `'a), which is a list of what is due today or this week. I always try to call it explicitly "daily/weekly agenda" to avoid some of that confusion, but I agree, if I'd get a chance to start again I would use better terms. Now these are so engrained in our mailing list culture and into tutorials etc that I do not dare to change them anymore.
There is the possibility of using a user-defined function. Perhaps youcould use that to sort by date. ,----| user-defined-up Sort according to `org-agenda-cmp-user- defined', high last. | user-defined-down Sort according to `org-agenda-cmp-user- defined', high first.`----Unfortunately, this does not help, since there is no time information inthe entries 'a' and 'b' to sort by; it seems the timestamps are simply not extracted when building TODO lists.
Yes can use the text property on a, `org-hd-marker', which is a marker pointing to the original location of the item. You can make your function go back to get this information.
For example with (org-entry-get (get-text-property 0 'org-hd-marker a) "SCHEDULED")The most efficient implementation would be to first check if there is a `scheduled-time' or so property on the items. If yes, use it. If not, get the property and store it in a text property. This will be efficient because each item will probably be tested several times during the sorting.
The information is not extracted by default because that would take extra parsing time and it is usually not needed.
- Carsten
[Prev in Thread] | Current Thread | [Next in Thread] |