emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Bernt Hansen <bernt@norang.ca>
To: Jacek Generowicz <jacek.generowicz@cern.ch>
Cc: emacs-orgmode@gnu.org
Subject: Re: Sort TODOs in agenda day
Date: Thu, 02 Feb 2012 21:06:35 -0500	[thread overview]
Message-ID: <87fweseklw.fsf@norang.ca> (raw)
In-Reply-To: <58b1290a-d578-477e-b5ad-c9d77cb02a52@CERNFE23.cern.ch> (Jacek Generowicz's message of "Thu, 2 Feb 2012 10:24:56 +0100")

Jacek Generowicz <jacek.generowicz@cern.ch> writes:

> At Wed, 1 Feb 2012 07:51:59 -0500,
> Bernt Hansen wrote:
>
>> When I was first experimented with the sorting strategy I used the
>> customize interface to set it for the current session only and looked at
>> the result of my agenda with the new setting.
>
> Yes, setting configurations for current session only is a huge boon
> for trials, but the clunky customize interface for manipulating the
> values is a bit annoying compared to Emacs' built in sexpr
> manipulation. Swapping the order of two sorting strategy entries, for
> example, is very painful compared to C-M-t. Is there some convenient
> way of, say, swapping entries in the customize interface?

I would probably show the current customize setting, paste it to the
scratch buffer and wrap it in a (setq VARIABLE-NAME ...) and then edit
it and C-M-t, then go back to the customize view to tweak other
settings.

The main advantage of customize is it won't break the format.  I used
customize almost exclusively for 2 years when I was working with my
org-mode files and have since moved to setq's only since I'm now
comfortable with the elisp sexp settings.

>
>> (setq org-agenda-sorting-strategy
>>       (quote ((agenda habit-down time-up user-defined-up priority-down effort-up category-keep)
>> 	      (todo category-up priority-down effort-up)
>> 	      (tags category-up priority-down effort-up)
>> 	      (search category-up))))
>> 
>> so for the agenda daily view habits are at the bottom, and timed items
>> are at the top, then my user-defined sorting function sorts what is left
>> for the middle section of the list in the following order:
>
> It's still not entirely clear to me how these options work. Take
> habit-down, at the beginning. What do the '-down' and '-up' mean? I
> infer that they might have one of two meanings: in 'habit-down' the
> '-down' seems to mean that habits should be placed at the bottom,
> while in 'effort-down' I infer that it means that items with an effort
> property should be sorted by decreasing effort, relative to eachother.
>
> There's clearly some confusion in my mind about how these work.

I came up with my current settings with a bunch of trial and error until
it did what I wanted - then I moved on to something else.  I'm not sure
I understand all of it either :)

>
>>   - items with no schedule/deadline and timestamped for today
>>   - deadlines for today
>>   - late deadlines
>>   - scheduled items for today
>>   - late scheduled items
>>   - and pending deadlines last
>
> Incidentally, why did you need to create a macro which captures num-a,
> num-b result, for your implementation of bh/agenda-sort?  AFAICT,
> functions which return +1,-1 or nil would have been adeqate here. What
> have I missed?

Honestly I can't remember... I was experimenting with macros for the
first time when I wrote this.  The function that is called is passed in
as the first argument but if an elisp function can do the job then the
macro probably isn't required.

What I have works now... so I'm not sure I want to try to fix it :)

Regards,
Bernt

  reply	other threads:[~2012-02-03  2:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 12:30 Sort TODOs in agenda day Jacek Generowicz
2012-01-31  0:32 ` Bernt Hansen
2012-01-31  8:03   ` Jacek Generowicz
2012-01-31 17:39     ` Bernt Hansen
2012-02-01 10:02       ` Jacek Generowicz
2012-02-01 12:51         ` Bernt Hansen
2012-02-02  9:24           ` Jacek Generowicz
2012-02-03  2:06             ` Bernt Hansen [this message]
2012-02-02 18:11         ` Samuel Wales

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fweseklw.fsf@norang.ca \
    --to=bernt@norang.ca \
    --cc=emacs-orgmode@gnu.org \
    --cc=jacek.generowicz@cern.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).