Pine perfected

Matts on 2006-11-03T00:43:35

For a while I've been using pine 4.64 and the fancy threading features. Not being a fan of full threads (it's easy to lose track of the flow when your mailer is busy trying to display it all as a tree structure - I guess this is part of the appeal of gmail "conversations") I use OrderedSubject, as it's very similar to what Mail.app provides me, a style of threading that I like very much.

But pine's was annoyingly different - it would sort the message view by order of the first mail in the thread, rather than by the most recent mail in the thread, causing replies to old threads to be way off my main screen (and thus me missing said replies).

However today I found the fancy threading patch to pine, which fixes that (as an option). So I'm a happy camper today.


a better thread algo

jmason on 2006-11-03T14:54:19

yeah, this is one failing of the "traditional" threading algorithm as described by JWZ at http://www.jwz.org/doc/threading.html .

what I did in 'mhthread' (despite what the POD says ;) is the following, from a comment:

> Sort by the date of the earliest message with that subject line. However:
> if messages share a subject line, but don't refer to each other using IRT
> or Refs headers, and were posted far enough apart (greater than 24 hours),
> then don't thread them consecutively; allow other threads to appear between
> them. This ensures that a recent post to a *really* old thread doesn't
> appear 500 messages back "in ancient history".

This works really nicely, in my experience, although I should probably shorten that "really far apart" distance to something like 12 hours instead of 24.

I should really CPANify that algorithm someday.

Re:a better thread algo

Matts on 2006-11-03T15:23:48

Yeah, but that still means a new message to an older thread goes higher up the screen.

I wanted Mail.app's design - all new messages go to the to bottom of the screen, attached to their thread.

Re:a better thread algo

jmason on 2006-11-03T15:53:21

oh I see what you mean; the entire thread is moved to match the newest message's location. hmm, I may have to hack that.