info-gnus-english
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Deficient thread sorting in summary view


From: Tassilo Horn
Subject: Re: Deficient thread sorting in summary view
Date: Wed, 11 Jul 2012 11:52:04 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1.50 (gnu/linux)

F. Durand <fdur559@gmail.com> writes:

Hi,

> I've switched to gnus 3 months ago, and I'm very disturbed by the way
> threads are sorted.
>
> I've read this many times: http://gnus.org/manual/gnus_91.html
>
> I've concluded that the state of a thread is the state of its first
> message.

By default, Gnus sorts threads according to the message number of its
root article.  But you can easily change that.  I use this:

(setq gnus-thread-sort-functions
      '(gnus-thread-sort-by-number
        (not gnus-thread-sort-by-most-recent-date)
        gnus-thread-sort-by-total-score))

The primary sort function is the last in the list.  Therefore, the
threads with the highest article scores in total are on top in my
summary buffers.  For threads with equal scores, I sort by the most
recent article in a thread (older before younger, thus the not).  If
that still doesn't distinguish 2 threads, it's sorted by article number
(that should always be included as last element to guarantee a total
ordering).

By the way: in mail groups (except for mailing list groups) I disable
scoring, so there the sorting by recency of youngest message in thread
is the decision maker.  I like that in older-before-younger order,
because then I read older replies to an article before younger replies.

Have a look at:

,----[ C-h v gnus-thread-sort-functions RET ]
| gnus-thread-sort-functions is a variable defined in `gnus-sum.el'.
| Its value is (gnus-thread-sort-by-number
|  (not gnus-thread-sort-by-most-recent-date)
|  gnus-thread-sort-by-total-score)
| 
| Original value was 
| (gnus-thread-sort-by-number)
| 
| 
|   This variable is potentially risky when used as a file local variable.
| 
| Documentation:
| *List of functions used for sorting threads in the summary buffer.
| By default, threads are sorted by article number.
| 
| Each function takes two threads and returns non-nil if the first
| thread should be sorted before the other.  If you use more than one
| function, the primary sort function should be the last.  You should
| probably always include `gnus-thread-sort-by-number' in the list of
| sorting functions -- preferably first.  Also note that sorting by date
| is often much slower than sorting by number, and the sorting order is
| very similar.  (Sorting by date means sorting by the time the message
| was sent, sorting by number means sorting by arrival time.)
| 
| Each list item can also be a list `(not F)' where F is a
| function; this specifies reversed sort order.
| 
| Ready-made functions include `gnus-thread-sort-by-number',
| `gnus-thread-sort-by-author', `gnus-thread-sort-by-recipient'
| `gnus-thread-sort-by-subject', `gnus-thread-sort-by-date',
| `gnus-thread-sort-by-score', `gnus-thread-sort-by-most-recent-number',
| `gnus-thread-sort-by-most-recent-date', `gnus-thread-sort-by-random',
| and `gnus-thread-sort-by-total-score' (see
| `gnus-thread-score-function').
| 
| When threading is turned off, the variable
| `gnus-article-sort-functions' controls how articles are sorted.
| 
| You can customize this variable.
`----

Bye,
Tassilo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]