Javascript filter action in Thunderbird with FiltaQuilla

I received an email today asking that I add a feature to FiltaQuilla. Slightly edited, the author said:

Something I’ve found myself doing at work is creating a new filter for every folder I create. I work on technical cases and for each new case number I create a new folder and have all emails with that case number go into that folder. The crappy part about it is that I literally have hundreds of cases I deal with, and hence hundreds of filters. You’ve already got the regex match criteria in filtaqulla, I’d love to be able […]

Javascript custom filter action in new FiltaQuilla

I recently released a new version of FiltaQuilla for Thunderbird and SeaMonkey, and one of its cool new features is a custom filter action that runs arbitrary JavaScript. This relies on new backend features, so you’ll need TB 3.1 beta2 or later for this to work.

Mitra recently pinged bug 249191 asking for a filter action that affects remote content. That looked like a good application of a javascript filter action, so I tried it out.

Looking at the underlying code in nsMsgContentPolicy.cpp, there is a message header property “remoteContentPolicy” that can be used to enable showing of remote content […]

FiltaQuilla 1.0.0 released, adds custom search terms

Well I finally decided to quit adding new stuff, and just get a compatible FiltaQuilla out the door that works with Thunderbird 3.0 and SeaMonkey 2.0. You can get the new version from Mozilla’s download site here.

In addition to some new filter actions (print, add sender to address list, and save attachments to a folder) this release introduces “custom search terms” for the first time. This is a new feature that has been added recently to the mailnews core code, and is part of the TB 3.0 and SM 2.0 releases.

The search I am talking about is the […]

Maybe I need a search extension – SearchaQuilla?

The last few weeks I’ve been adding custom search terms to my FiltaQuilla extension using the new nsIMsgSearchCustomTerm interface, which can then be used in searches, virtual folders, or filters. But I keep coming up with new things that I want to do. That delays my packaging of FiltaQuilla 1.0.0 for non-experimental release. Maybe I should quit adding this stuff to FiltaQuilla (which is already pretty large with all of its filter actions) and define a new search-oriented extension, called probably SearchaQuilla?

So far, I have added the following new search terms:

BCC – locate items in the BCC field


Inherited Folder Properties – revisited

In a previous posting, I introduced the concept of inherited folder properties in the Mozilla mailnews products (Thunderbird and SeaMonkey). In the months since, I have incorporated these into my extensions quite significantly, so here I would like to show the UI I am currently using for this, and also discuss some of the issues that I face.

(All references to extensions in this posting refer to the 1.0.0 versions, which as of this writing have not been posted to AMO yet. But they should be available in a few weeks.)

Implemented UI

Briefly, inherited properties are a property that […]

Extension status for Thunderbird 3.0 beta 3 (and Seamonkey 2.0 beta 1)

I’ve just bumped the allowable Thunderbird (and where applicable Seamonkey) version on my extensions to allow them to work with the new version numbers in the nightlies and release candidates. I had hoped to have new releases available by now, but have not yet done that.

Major changes are planned for FiltaQuilla (new custom searches) and ToneQuilla (switching to ogg Vorbis as the standard format). JunQuilla should have bug fixes, TaQuilla and GlodaQuilla will be virtually unchanged.

Filtering changes for Thunderbird 3.0 beta 3

It’s been a long time since I posted a blog, being busy with things I wanted to get into Thunderbird 3.0 beta 3 (and Seamonkey 2.0 beta 1). Now that we enter the dark days of the freeze prior to the release, I have some time to update extensions to use new features available in beta 3. But I’d like to give details first of changes in the backend areas where I am working, starting with email filtering in this post.

So here are things that are new in Thunderbird 3.0 beta 3 (Seamonkey 2.0 beta 1) that involve message […]

Updated ToneQuilla, FiltaQuilla, and JunQuilla posted

Recently I posted new versions of ToneQuilla, FiltaQuilla, and JunQuilla to mozilla’s addons site that support Thunderbird 3 beta 2, and Seamonkey 2 alpha 3 (SM is not supported in JunQuilla). In addition to version support, extensions have these changes:

ToneQuilla mostly gets an important bug fix to stop playing from ending prematurely. JunQuilla gets the new Junk Detail Analysis view that was mentioned in a previous post. FiltaQuilla gets three new filter actions: Run a Process with parameters, Train as Good, and Train as Junk.

The description page for each of the extensions has updated descriptions of the extensions, […]

Extension plans for Thunderbird beta2

Now that Thunderbird beta2 has entered slushy code freeze, it’s time to update my extensions to match. Here’s my plans, which I will try to accomplish near the time that beta 2 releases (currrently scheduled for 2009-02-24):


The published version has a bug that interrupts the playing in some cases. I’ll fix that, but otherwise no changes. Prior to TB3 though I would like to implement support for Ogg Vorbis files in TB core, and add that to ToneQuilla as well. I’ll try to add some more tones at the same time – though possibly in a separate extension […]

Controlling notification with filters

Today I will write in a more practical direction, describing how to setup Thunderbird with MesQuilla extensions to control notification.

Under stock Thunderbird, notification of arriving emails (sometimes called BIFF) may be controlled in two ways – and both of these are system-wide settings. These features are controlled from the General/Options dialog:

“Show an alert” adds a small popup in the system tray when an email is received, while “Play a sound” can play a single system-wide sound.

Now if you have a complex setup, then this is not nearly enough control to be practical. I for example have […]