From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Agenda sorting strategy Date: Tue, 5 Oct 2010 03:56:09 +0200 Message-ID: <1E2BA636-1F1E-4B75-B693-AAAAF5992999@gmail.com> References: <87wrq2pa7c.fsf@mundaneum.com> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Return-path: Received: from [140.186.70.92] (port=50784 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P2wqh-000253-1d for emacs-orgmode@gnu.org; Mon, 04 Oct 2010 22:01:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P2wlK-0002FX-3o for emacs-orgmode@gnu.org; Mon, 04 Oct 2010 21:56:15 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:61943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P2wlJ-0002FP-Sr for emacs-orgmode@gnu.org; Mon, 04 Oct 2010 21:56:14 -0400 Received: by eyh5 with SMTP id 5so2932650eyh.0 for ; Mon, 04 Oct 2010 18:56:13 -0700 (PDT) In-Reply-To: <87wrq2pa7c.fsf@mundaneum.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: =?ISO-8859-1?Q?S=E9bastien_Vauban?= Cc: emacs-orgmode@gnu.org On Oct 1, 2010, at 10:51 AM, S=E9bastien Vauban wrote: > Hello, > > Here is a minimal example of problems I experience with the sorting =20= > 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 =20 > 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 =20= > "The > technician will come today") to be just before the day overview. =20 > 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 =20 > top of the > list (sorted by category: first Personal, then Work), then all my B =20= > 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* =20= > (?): > + 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