clipped from:
https://wiki.mozilla.org/MailNews:Message_Threading
I wish Thunderbird Threading behaviours was easier to set but it is not, you need to use below variables to do so...
All core threading logic currently lives in
mailnews/db/msgdb/src/nsMsgDatabase.cpp. It is controlled by the
following preferences:
- mail.thread_without_re : Thread by subject even when there is
no "Re:" in the subject; default False in 3.0, used to be true in 2.0.
- mail.strict_threading : Don't thread by subject; default True for 3.0, used to be False in 2.0.
- mail.correct_threading : Thread things correctly (using
References/In-Reply-To) regardless of the order in which messages are
added to a folder; default false. Requires extra memory and some extra
processing once a folder (nsMsgDatabase) has new messages added to it.
If you turn this on, you really should turn on strict_threading too.
mail.thread_without_re
mail.thread_without_re (gThreadWithoutRe/ThreadBySubjectWithoutRe)
defaults to False in Thunderbird 3.0, used to default to True in 2.0.
If mail.thread_without_re is True, the subject does not have to
start with "Re:" (or variants or localized variants) for threading to
occur. If it's false, it does have to start with "Re:"/variants.
mail.strict_threading
mail.strict_threading (gStrictThreading/UseStrictThreading) defaults to True in 3.0, used to be False in 2.0.
If mail.strict_threading is True, subject-threading is disabled
entirely. Messages sent by clients that do not generate
"References"/"In-Reply-To" headers (or responding to clients that do not
generate "Message-ID" headers) will not be threaded.
If mail.strict_threading is False, then we will attempt to thread
using the subject. Whether we require the subject to start with "Re:"
(or variants) depends on the "mail.thread_without_re" setting.
mail.correct_threading
mail.correct_threading (gCorrectThreading/UseCorrectThreading) defaults to True in 3.0. Implemented by
bug 181446, only available in 3.0 releases and later (never on the 2.0.0.x branch).
If mail.correct_threading is True, the references stored on every
nsIMsgDBHdr are used to populate a hashtable mapping every Message-ID
we have heard about for a thread to that thread's thread id. For
example, if message D with Message-ID: D and thread id of 42
"References:" C, B, and A, the hashtable will map C, B, and A to 42.
Having this mapping allows us to do two things we could not
otherwise do (as things are implemented...) in order to thread messages
correctly regardless of the order in which they are added:
- Thread messages together with common, but missing (not in the
folder), ancestors. Otherwise, they would end up in different threads.
- When we process one of those missing ancestors, detect it and
properly add the message to the existing thread. (At least as long as
there are less than 1000 messages in the thread.)
The hashtable is an in-memory-only structure, and is populated by
processing all of the existing messages the first time access to the
structure is required. This means that the overhead of traversing the
messages and extra memory usage should only happen when adding new
messages to an nsMsgDatabase.
nsParseMailbox.cpp sets the references via
nsIMsgDBHdr::SetReferences using the "References" header as a first
choice, and the "In-Reply-To" header as a second choice.
(nsNNTPNewsgroupList.cpp and various compose pieces of functionality
also call SetReferences, but they are not processing incoming e-mail.)
These are 'accessed' from any of our computers (both mac and windows) for personal use. To watch a movie our iPads also serve to 'navigate' our media library (using the AirVideo iPad app, and the free AirVideo 'server' app, yes running on the MacMini). Within AirVideo we chose which TV in our home we want to watch this on (each of our LCD/LED TVs at home is setup with an AppleTV, which also works great as a stand-alone media device for also watching Netflix or any of he other various built-in sources). Did I mention we can watch all of our home media while we're away from home? (via AirVideo).
I would suggest an AppleTV as your first option (low-cost media device), and for the gamers out there as was suggested earlier either an Xbox of PS3 (we have Xboxes however the kids use them strictly for gaming ;-)
I guess it would depend on your media needs and where your 'media' sources will be coming from (if you don't have a media server like I do then the many online services like Netflix will work fine and all you'll ever need is a $99 AppleTV). Because I have years of personal media stored and collected (music, photos, tv and movies) a 'Server' is a must and the MacMini provides a perfect combination of this. Management of this server can be done using ssh, or my preferred Apple Remote Desktop. As for watching TV? we haven't watched 'live tv' in years (cant's stand to watch mindless commercials and ads and I would prefer to watch television shows on my schedule, not some networks - which is why the shows that I do watch are 'pre-recorded' by the online community and made available commercial-free in HD ;-)
ps. I access (listen) to my music from the iPad/iPhone/iPod app 'iSub' (or free 'Subsonic' app on my Android phone), and as for photos it's viewable from the iPad app 'ImageBank' (which you can AirPlay to any TV). These apps have their associated 'server' components which run on the MacMini.