Ben Goetter's unnecessarily apocalyptic weblog.

Sun, 16 Apr 2006

Tweaking Thunderbird

Dissatisfied with Outlook's IMAP handling, I switched my email client from Outlook to Thunderbird a year ago. Thunderbird had some warts on its UI, generally lacking the polish and user-experience attention that the Microsoft product had and still has, but I endured those warts in exchange for its better behavior over slow connections. Last December's 1.5 released addressed most of those warts, leaving me a fairly satisfied Thunderbird user.

I still correspond with a majority of Outlook users, however, and missed the ability to reply to a message in Outlook style. Configuring Thunderbird to top-post its replies (a configuration hidden in Account Settings instead of Options.Composition, where I would at least expect a default) wasn't enough: I wanted the full Microsoft Mail-style header, and didn't want to mangle the attached quoted message with quote marks. Just this morning, however, I discovered an extension that inserts the "correctly" formatted header, and another extension (by the same author) that I can configure to remove the quoting. Amusingly, this is almost exactly the opposite transformation that my old extension did for Exchange, long, long ago. My email client hacking days being long past, I am happy not to have to learn how to extend Thunderbird myself!

My other Thunderbird wishlist item is Emacs-compatible key bindings. Switching keyboard focus from an XEmacs window to a Thunderbird composition window and back is a jarring experience, with two sets of incompatible key bindings for accomplishing similar tasks. Real Emacs zombies would instead run a mail program written in Emacs, but that is both clearly insane (in terms of architecture) and ass-ugly (in terms of the affront to my eyeballs). For now, I am trying to use XKeymacs, a brute-force solution that translates Emacs keystroke sequences into their Windows/CUA equivalents. XKeymacs doesn't limit its scope to within editor windows, a feature that I may come to appreciate someday but for right now is driving a lot of tweaking, as I teach it that I want C-r to mean "Reply to selected message" instead of "Search backwards." (I am not so deeply brainwashed by Emacs that I expect list controls to work like Dired. Yet.) It's a very pretty utility, still.

My other, other Thunderbird wishlist item is address book sync support with the Pocket PC, but that one I may have to write myself. The good news is that Thunderbird already has Palm sync support, though it looks a bit fragile. At least it'd give me a roadmap of where to go and what to do, a PalmOS conduit being not too far architecturally from an ActiveSync desktop service provider. The bad news is that Mozilla in its great wisdom uses an incompatible clone of COM, XPCOM (as opposed to "MSCOM" in their parlance), which the service provider will have to use to access the Thunderbird address book even as it uses Microsoft COM to talk to ActiveSync. That wouldn't be so bad, except that writing to XPCOM entails getting into bed with the entire Mozilla build environment. Ugh. (Does XPCOM standalone still work? Five-year-old link. See also this skeleton app.) Also, XPCOM only works in-process. PalmSync uses an extension running within the Thunderbird image to access AB data, which it then sends cross-process to the conduit (running in a sync manager's image) via COM. Double ugh. See previous note about my email client hacking days being over.

posted at: 14:16 | path: | permanent link to this entry

Powered by blosxom.
Based on a true story.
Syndicate this, if you dare.
Copyright 2006, Ben Goetter. All rights reserved.