Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: Tassilo Horn <tassilo@member.fsf.org>
To: info-gnus-english@gnu.org
Subject: Re: Deficient thread sorting in summary view
Date: Wed, 11 Jul 2012 11:52:04 +0200	[thread overview]
Message-ID: <87vchur5ff.fsf@thinkpad.tsdh.de> (raw)
In-Reply-To: <loom.20120710T235152-902@post.gmane.org>

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	other threads:[~2012-07-11  9:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-10 22:05 F. Durand
2012-07-11  9:52 ` Tassilo Horn [this message]
2012-07-11 11:03   ` Eric Abrahamsen
2012-07-11 15:07     ` Tassilo Horn
2012-07-11 16:03       ` Eric Abrahamsen
2012-07-11 16:45         ` Tassilo Horn
2012-07-12  3:32           ` Eric Abrahamsen
2012-07-12  7:05             ` Tassilo Horn
2012-07-12  7:55               ` Eric Abrahamsen
2012-07-12 11:43                 ` Tassilo Horn
2012-07-13  4:24                   ` Eric Abrahamsen
2012-07-13  8:27                     ` Tassilo Horn
2012-07-29  4:43                       ` Dan Christensen
     [not found]           ` <mailman.4618.1342063968.855.info-gnus-english@gnu.org>
2012-07-12  5:42             ` Damien Wyart
     [not found] <mailman.4522.1341957947.855.info-gnus-english@gnu.org>
2012-07-11  7:16 ` Damien Wyart

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

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

  git send-email \
    --in-reply-to=87vchur5ff.fsf@thinkpad.tsdh.de \
    --to=tassilo@member.fsf.org \
    --cc=info-gnus-english@gnu.org \
    /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.
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 NNTP newsgroup(s).