Friday, May 02, 2008

Setting sort order in Windows Live Messenger History

I use Windows Live Messenger quite a bit (for personal and work use actually). I find that it's annoying that when I view the message history for a contact that it's sorted with the oldest messages at the top. Most often I'm interested in the newest messages when I go to view message history. Today I decided to change that.

First some background. Windows Live Messenger stores each contact's message history as an XML file in "My Documents" (or "Documents" if you are on Vista) within a folder named "My Received Files\[msnid]00000\History" (where [msnid] is your Live Messenger id and the 0's are some number that changes). Within this folder there is also a file named MessageLog.xsl. This file is used when viewing the message history to format the XML files in a nice format (using an XSL transform).

It turns out that it's very easy to change the ordering of the message history. Within MessageLog.xsl there are several parameters (at the top of the file) that control the layout of the history view. Simply edit the <xsl:variable> named "MostRecentSessionFirst" and set it's value to 1 your messages will now sort in descending chronological order.

<xsl:variable name='MostRecentSessionFirst'>1</xsl:variable>

There's several other <xsl:variable>'s at the top that you can play with. I'd recommend making a backup before starting to play with this file though.

No comments: