Jump to page content

Tech tidbits

  1. How can I give Mozilla Thunderbird a standard Outbox behaviour?
  2. How can I use Macintosh-like character entry in Windows?


Making Thunderbird’s Outbox work like a real mail client

Most graphical mail clients, on sending a message, drop the message into the Outbox, close the compose window, and then send the message silently in the background. Even at version 3.0, Thunderbird still hasn’t got this figured out. Fortunately, there is a horrible hack of a workaround that gives Thunderbird a classical Outbox behaviour the same as any other graphical mailer:

  1. Install the BlunderDelay, MagicSLR, and keyconfig add-ons, and restart Thunderbird. While not all of these add-ons are compatible with Thunderbird 3.0 at the time of writing, I have had no issues using this solution with the 3.0 beta series and 3.0 final. You can use the Nightly Tester Tools add-on to force the add-ons to install under 3.0.
  2. Removing the Send button from the toolbar of the message composition window, and replace it with the new Send Later button provided by MagicSLR (this is the only thing we will be using it for).
  3. Leaving the composition window open, return to the main Thunderbird window, and select ToolsKeyconfig. Select the compose window from the menu of open windows; you may need to put something into the subject line of the compose window for Keyconfig to pick up a title for that window at all.
  4. In the Keyconfig window, scroll down to Send and Send Later. Select each one, focus the text box at the bottom containing the current shortcut, and type the keyboard shortcut of the other item, swapping the shortcuts. Ignore the warning about mapping the same shortcut twice. For example, set Send to Send to ctrl+shift+enter and Send Later to ctrl+enter.
  5. Open up the BlunderDelay options, making sure that BlunderDelay is enabled, and that the delay time is set to something short, like two seconds.

Now, when you use the toolbar or keyboard to send a message, the message is placed into the Outbox for sending later, and the compose window instantly closes: you’ve swapped out the toolbar button and swapped the keyboard shortcuts. BlunderDelay will then swoop up the message and send it in the background. There is a way to have the compose window simply minimise on send and then disappear when done, but I did not find that satisfactory and wanted Thunderbird to behave properly.

The only cost is that you do lose the ability to defer sending messages. However, this is not likely to be a great issue to anyone.

Entering typographer’s characters on a Windows computer

The Apple Macintosh has long supported easy entry of typographer’s and mathematical characters and foreign and accented letters on an English keyboard layout (I don’t know how this applies to layouts other than the United States and United Kingdom). For example, an en dash “–” is opt--, a-acute “á” is opt-e, a, while double quotation marks are opt-] and opt-}.

Microsoft officially supply the United Kingdom Extended and US-International keyboard layouts, which help, and John Sullivan has created a more advanced UK International keyboard layout that I have been using for a while.

While John’s keyboard layout is open source, getting set up for recompiling it looks to be pretty involved, and John has never responded to requests to add further basic typographic symbols such as the bullet, horizontal ellipsis or dashes. One simple way to handle this is to use AutoHotkey. An example AutoHotkey script is below, providing the four characters that I consider omitted from the UK International layout:

^!-::–  ;       ctrl+alt+- = en dash
+^!-::— ; shift+ctrl+alt+- = em dash
+^!8::° ; shift+ctrl+alt+8 = degrees
^!8::•  ;       ctrl+alt+8 = bullet
^!l::…  ;       ctrl+alt+l = ellipsis

Make sure that your AutoHotkey script is an 8-bit file in your native Windows codepage, e.g. 1252 ANSI Latin-1, and that you stick to characters from this set; I have not tried to get Unicode characters to work yet.

The order of the shifted characters (before or after the non-shifted characters sharing the same key) is critical otherwise the shifted versions are ignored, and the need for the inconsistency in this order is down to either bugs in AutoHotkey or conflicts with the UK International layout. The degrees symbol was in fact already provided as defined above in the UK International layout, but defining the bullet character in AutoHotkey stops it working, so I’ve defined it a second time to keep it working. Trial and error is needed to get this finicky arrangement to work.

The UK International layout is designed to work using the alt gr key, but ctrl+alt also works and I find this far easier to type. I have stuck with ctrl+alt above as AutoHotkey will allow both alt gr and ctrl+alt.

It is perfectly possible to provide dead key support in AutoHotkey using state variables, allowing for complete replacement of international keyboard layouts with a single AutoHotkey script.