[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] Agenda sorting strategy
From: |
Carsten Dominik |
Subject: |
Re: [Orgmode] Agenda sorting strategy |
Date: |
Tue, 5 Oct 2010 03:56:09 +0200 |
On Oct 1, 2010, at 10:51 AM, Sébastien Vauban wrote:
Hello,
Here is a minimal example of problems I experience with the sorting
strategy
of the agenda.
--8<---------------cut here---------------start------------->8---
* Appointments
** Technician for washing machine
<2010-10-01 Fri>
I don't know when he will come. He'll call a couple of minutes
before coming.
** TV show
<2010-10-01 Fri 19:00-20:00>
* Task areas
** Work
:PROPERTIES:
:CATEGORY: Work
:END:
*** TODO [#A] Reply to mail
SCHEDULED: <2010-09-29 Wed>
*** TODO Work on offer
SCHEDULED: <2010-09-30 Thu>
*** TODO Have the report ready for my boss
DEADLINE: <2010-10-08 Fri>
** Personal
:PROPERTIES:
:CATEGORY: Personal
:END:
*** TODO [#A] Call neighbor
SCHEDULED: <2010-09-27 Mon>
*** TODO Put oil on the outside table
SCHEDULED: <2010-09-28 Tue>
*** TODO Invite some friends
SCHEDULED: <2010-10-01 Fri>
* Agenda sorting strategy
** Objectives
Get the tasks sorted:
- by priority ("A", "B" or "C"), then
- by "role" (category "personal" or "work"), then
- by delay
i.e.,
: Sched: Technician for washing machine
: 8:00-09:00 ________
: 10:00-11:00 ________
: 12:00-13:00 ________
: 14:00-15:00 ________
: 16:00-17:00 ________
: 18:00-19:00 ________
: Sched: 19:00-20:00 TV show
: 20:00-21:00 ________
: 22:00-23:00 ________
: Personal: Sched. 5x: TODO [#A] Call neighbor
: Work: Sched. 3x: TODO [#A] Reply to mail
: Personal: Sched. 4x: TODO Put oil on the outside table
: Personal: Scheduled: TODO Invite some friends
: Work: Sched. 2x: TODO Work on offer
: Work: In 7 d.: TODO Have the report ready for my boss
Note that I would like (well "dated" but) "untimed" events (such as
"The
technician will come today") to be just before the day overview.
Would it be
just after, it's OK as well, but less visible.
: 8:00-09:00 ________
: 10:00-11:00 ________
: 12:00-13:00 ________
: 14:00-15:00 ________
: 16:00-17:00 ________
: 18:00-19:00 ________
: Sched: 19:00-20:00 TV show
: 20:00-21:00 ________
: 22:00-23:00 ________
: Sched: Technician for washing machine
: Personal: Sched. 5x: TODO [#A] Call neighbor
: Work: Sched. 3x: TODO [#A] Reply to mail
: Personal: Sched. 4x: TODO Put oil on the outside table
: Personal: Scheduled: TODO Invite some friends
: Work: Sched. 2x: TODO Work on offer
: Work: In 7 d.: TODO Have the report ready for my boss
But, anyway, I cannot get any of these!
What is important to see as well is that all my A tasks are at the
top of the
list (sorted by category: first Personal, then Work), then all my B
tasks
(sorted by category: first Personal, then Work).
** Default value
#+begin_src emacs-lisp
(setq org-agenda-sorting-strategy
'((agenda habit-down time-up priority-down category-keep)
(todo priority-down category-keep)
(tags priority-down category-keep)
(search category-keep)))
#+end_src
#+results:
: 8:00-09:00 ________
: 10:00-11:00 ________
: 12:00-13:00 ________
: 14:00-15:00 ________
: 16:00-17:00 ________
: 18:00-19:00 ________
: Sched: 19:00-20:00 TV show
: 20:00-21:00 ________
: 22:00-23:00 ________
: Personal: Sched. 5x: TODO [#A] Call neighbor
: Work: Sched. 3x: TODO [#A] Reply to mail
: Personal: Sched. 4x: TODO Put oil on the outside table
: Work: Sched. 2x: TODO Work on offer
: Personal: Scheduled: TODO Invite some friends
: Sched: Technician for washing machine
: Work: In 7 d.: TODO Have the report ready for my boss
** Custom value
#+begin_src emacs-lisp
(setq org-agenda-sorting-strategy
'((agenda priority-down category-up time-up)
(todo priority-down category-keep)
(tags priority-down category-keep)
(search category-keep)))
#+end_src
#+results:
: Personal: Sched. 5x: TODO [#A] Call neighbor
: Work: Sched. 3x: TODO [#A] Reply to mail
: Personal: Sched. 4x: TODO Put oil on the outside table
: Work: Sched. 2x: TODO Work on offer
: Personal: Scheduled: TODO Invite some friends
: Sched: 19:00-20:00 TV show
: Sched: Technician for washing machine
: Work: In 7 d.: TODO Have the report ready for my boss
: 8:00-09:00 ________
: 10:00-11:00 ________
: 12:00-13:00 ________
: 14:00-15:00 ________
: 16:00-17:00 ________
: 18:00-19:00 ________
: 20:00-21:00 ________
: 22:00-23:00 ________
Observations:
- for equivalent priorities (B), *tasks are not sorted by category*
(?):
+ Personal: Sched. 4x: TODO Put oil on the outside table
+ Work: Sched. 2x: TODO Work on offer
+ Personal: Scheduled: TODO Invite some friends
The reason for this is that the priority has several components.
The specified priority #B (even if omitted) is one component.
But since "Work on offer" was already scheduled yesterday,
its priority is pushed up. You can see the computed priority
by pressing "P" on items in the agenda.
- day overview is at the end of the buffer (!!)
To get this right, you need time-up early in the strategy.
--8<---------------cut here---------------end--------------->8---
Can you help me getting what I want?
Hope this at least helps to understand what is going on.
I guess we could have a variable to make priority only
consider the priority cookies and not the urgency depending
on deadlines and scheduling dates. Or make the priority formula
configurable. But neither of these is currently implemented, so
changing this would require some code to be written.
- Carsten