Fixing QuickText addon for Thunderbird

The popular QuickText addon has not been updated for Thunderbird 38 and no longer works. As a user of that addon, I wanted to make it work again. This post provides instructions on how to do that.

The addon has no license mentioned, and unfortunately that defaults to “all rights reserved”. That means that I cannot provide the modified source to download, but I can under “Fair Use” describe the needed changes, that you can do yourself. They are trivial (at least for my use case). I will describe the changes for the non-Pro version but presumably they are the […]

The proxy debate over paid addons

I recently received a review of my ExQuilla addon for Thunderbird with the glowing report “It works well, I’ll give you that. No more, no less”. Should be 5 stars, right? No, the addon got 2.

This is the proxy battle over whether there should be paid addons in the Mozilla ecosystem, fought by trashing the ratings of paid addons. The reviewer gave me 2 stars because he believes “Please find purchasers from paid email software, not in an open source software.” He also complained about my response to an earlier reviewer who gave ExQuilla one star because, even though […]

Mesquilla is releasing a Calendar EWS Provider addon compatible with ExQuilla

Recently we learned that the “Exchange 2007/2010/2013 Provider” addon is no longer being developed, and the final version did not fully support Thunderbird 24 and Exchange Server 2013 & Office365. While eventually we intend to fully integrate Calendar and Task support into ExQuilla, at the moment that support is incomplete and experimental, so many of our customers had relied on the now-abandoned addon. So as a convenience to our customers, we have forked and updated that addon to provide a version that works with current Thunderbird and Microsoft Exchange, as well as includes better compatibility with ExQuilla. We call this […]

ExQuilla as a Model for “Thunderbird Professional” aka SwanFox

About a year ago, when we on the Thunderbird team were having very active discussions about the future of Thunderbird after Mozilla’s drastic cutback in funding, Axel Grude and myself were minority voices promoting the importance of developing funding sources for Thunderbird if it were to prosper in the future. In contrast, the majority viewpoint, as I understand it, was some combination of 1) We don’t need funding, Thunderbird is fine the way it is, and eager volunteers will move things forward, and 2) Mozilla Messaging tried for years to develop funding and failed, so it is probably impossible to […]

Comparing Javascript components and modules

The code that I develop for my ExQuilla addon uses a combination of C++ and javascript-based code, so I am constantly having to deal with interactions between those languages in a Mozilla Thunderbird binary extension. So I thought it would be a good idea to test the relative speed of two ways of writing javascript code that can also be accessed from C++:

Using a javascript-based XPCOM component for both, or Using a javascript module for javascript callers, and a javascript component calling into a module for C++ users.

The second option is somewhat unusual, and represents an attempt to […]

EarlyLight (unofficial multiversion Lightning addon) for Thunderbird 14 -16

My EarlyLight addon, which is an unofficial build of the Lightning calendar extension, supporting multiple Thunderbird versions, is now available for Thunderbird 14 – 16. This is based on the current Lightning 1.8a2 source (which is now in the aurora directories). Download here:




I’ll probably stop supporting this once Thunderbird switches to its slower release cycle.

EarlyLight, an unofficial Lightning (aurora) build supporting multiple Thunderbird versions

I got tired of waiting for Lightning to fix their aurora build problems so I decided to practice my newly-acquired Mozilla build foo to build my own. In the process, I extended the usual Lightning build so that I have Lightning that can work with current TB release, beta, and aurora versions, that is Thunderbird 13, 14, and 15.

The “source” for this is just a makefile which you can see here. (I added my fix in Mozilla bug 766685 so that I could build this with my VS 2008 on Windows). This will only work in my local build […]

ExQuilla (Microsoft Exchange Server for Thunderbird) beta version released

I am pleased to announce that ExQuilla, a Thunderbird addon that provides access to messages and contacts in Microsoft Exchange Server, is now available. This is a beta-quality release. ExQuilla is currently only available for Windows, in English, and supports Thunderbird version 9, 10, and 11. Linux and Mac versions are planned for the future.

The most current version of ExQuilla is available from the MesQuilla site here. A slightly older version (due to review delays) is available from Mozilla’s addon site here.

This version supports access to messages and personal contacts from a Microsoft Exchange Server 2007 or 2010 […]

Avoiding namespace leaks in event handlers

A common pattern that we see in review of Mozilla addons is code that looks like the following:

var myExtension = { saveMe: null, onLoad: function () { this.saveMe = “I am saved”; } } window.addEventListener(“load”, myExtension.onLoad);

Unfortunately the value of “this.saveMe” that is used in onLoad is the value from the global window, not the value from the myExtension object. Really the event listener is looking for an object of type nsIDOMEventListener, with a method handleEvent. When it does not find that, it applies some magic and just uses the entered function. Unfortunately, in the process the “this” does […]

Address Book accounts

New account types in Javascript for Thunderbird (Part 4)

Now that I am essentially feature complete in adding Address Book features to my Exchange Web Services implementation ExQuilla, I’d like to discuss how SkinkGlue was used to allow this to mostly be done in JavaScript.

As review, SkinkGlue is my attempt to add an interface layer to Thunderbird to allow new account types to be added using javascript. SkinkGlue provides the necessary C++ interfaces to allow standard Thunderbird objects to be created without writing C++ code. SkinkGlue is licensed inder the standard Mozilla licenses, so it could be used by […]