GMailUI

GMailUI is an extension to Thunderbird (versions 0.8 - 2.0) which add concepts inspired by GMail to Thunderbird, like archiving mail and powerful message searching across all folders. Select a folder to be your sole "archive" folder, or choose to have an archive folder in each of your multiple accounts. Then type "Y" to send your selected message(s) to the appropriate archive folder. Type "from:fred to:tom attachment:yes" to see all messages from Fred to Tom in the current view that have an attachment. Press Ctrl+Enter to have this search apply to all folders.

GMailUI's features are described below.

Archiving (yanking)

Many people like to organize their mailboxes the way that GMail encourages, which is to leave only the most recent and important emails in their Inbox. GMail provides gigabytes of storage space, so mail can be thrown into an archive where it can still be searched but doesn't need to clutter your Inbox. This action is accelerated in GMail by using the 'Y' key. The same functionality is available by using this extension. The 'Y' key can be pressed while viewing a message to archive that message into your designated archive folder. Or you can select multiple messages using your mouse (ctrl+click on each message you want to archive), and then pressing 'Y'. All highlighted messages will be moved to your archive folder.

To enable the archiving functionality of this extension, you first need to decide what folder or folder(s) you want to designate as the archive folders. You choose these folders by going to the "GMailUI preferences" (Go to Tools -> Extensions and double-click on the GMailUI extension). You have two choices. You can choose any folder under Thunderbird as the one folder that will receive your archived messages when you choose to archive them. If you have only one account, you should choose this option. Or, if you have multiple accounts, you can choose that a folder will exist in each of your multiple accounts and should receive your archived messages. The folders must have a top-level folder named 'Archive' (or any name you would prefer) in each account that you would like to archive messages from. In the GMailUI preferences you specify that name.

You can now use the 'Y' key to archive messages. Simply press 'Y' when viewing a message you are ready to move to the archive and it will be moved as you specified above. You can also select multiple messages as press 'Y' and they will be moved.

Up/down message keys

If you are scrolling up and down through your a long message and are ready to go forward or back to another message, instead of moving your mouse to change message, you can use the J and K keys to move around, as in GMail. (As user interface historians have noted, these keys are from reliable UNIX editors "vi" and "ed", not originally from GMail.) The default 'J' key functionality to mark a message as Junk is still available through 'Ctrl+J'. The J and K keys cause the current message to change but keep the "focus" on the your message itself. In other words, after hitting J or K, you can then use the up, down, pgup, pgdn, home, and end keys to scroll around within that message.

Search expressions and quick search key

Your standard Quick Search text box has the ability to let you choose a type of search to run on the current folder by clicking on the magnifying glass next to the searh bar ("Subject or Sender" is the default search type). By using "operators" like GMail features, you can specify the type of search without having to pull-down and change the search type.

This extension adds a new search category to the top of your quick search bar pull-down menu: Expression. You can generally just choose that search type and never change it. With this search type, whatever phrase you enter is searched for in your currently selected folder's to/from/cc/subject fields. Notice that by default the body is not searched for your search phrase. If that results in too many matches, you can focus the seach using "operators". Operators are just short words followed by a colon, such as "from:amazon.com" as below:


Here are some examples:

weekend plans

This expression searches all messages in the current folder or view for 'weekend plans' in the from, to, cc, or subject fields.

from:mike or f:mike

This expression searches all messages in the current folder or view for 'mike' in the from field.

to:bill or t:bill

This expression searches all messages in the current folder or view for 'bill' in the to or cc fields of the message.

subject:electric bill or s:electric bill

This expression searches all messages in the current folder or view for 'electric bill' in the subject fields of the message.

attachment:yes or a:yes

This expression searches all messages in the current folder or view for an attachment, Notice that it does not search for attachments named "yes". You can also use "y" or "1" for "yes". You can use "no", "n", or "0" to search for messages without attachments.

body:electric bill

This expression searches all messages in the current folder or view for 'electric bill' in the body of the message. On large or remote folders it may take some time. Also, if you combine this with other search operators like "from:", "subject:" or "to:" this will speed things up considerably.

all: weekend plans

This expression searches all messages in the current folder or view for 'weekend plans' anywhere in the message, including the from, to, cc, or subject fields, and the body.

In addition, a new key is available to speed up your search queries. By using the '/' (forward slash) key, your cursor will appear in the quick search bar, and you will be able to type. Note that '/' does not automatically set the search type to "Expression". You will need to select "Expression" at least once, and you may want to leave it enabled. The slash key was chosen due to its popularity in UNIX tools for searching, and also because it is used in GMail. Now, at any point that you want to search for all messages from foo@bar.com, you can simply type "/from:dale@taxcollectors.com" and your mail view will show messages from Dale.

Once you are typing in your search query, and you hit enter or otherwise let it begin searching, your cursor will remain inside of the query box to allow you to modify the query. However, if you'd rather go back to browsing your messages, instead of clicking on the message headers in your search results, you can just push 'ESC' (as of version 0.3) to refocus back to the message results.

Quick Search Virtual Folder

If you haven't before used 'virtual folders' in Thunderbird, let me introduce them. This standard feature of Thunderbird lets you create a search, name it, and then have that name appear in your folders list. You can select that folder from the list and see the current result of the saved search. Note two useful things: 1) the 'contents' of the virtual folder can actually be in any of your real folders, and so a virtual folder actually can 'contain' messages that span many folders, and 2) the virtual folder's contents are recomputed each time you view it, so if you saved a virtual folder with 'sender' field containing 'Donald', then if you receive a new message from someone named Donald, it will be placed in your INBOX, but you'll immediately be able to switch to your Donald virtual folder, and find it there.

So that's what regular virtual search folders do in Thunderbird. But this extension (as of version 0.3) makes it extremely easy to create them. Now, when you normally hit 'enter' in the Expression search quick search bar, you can instead hit 'ctrl-enter' and a virtual folder called 'Quick Search' will be created (or modified if it already existed) to search for that search across ALL of your folders in the current account.

The resulting virtual folder 'Quick Search' can then be modified by editing properties, or can be renamed to make it a permanent virtual search folder. If you do not rename the folder, the next time you use ctrl-enter the Quick Search virtual folder is reused to show your new quick search result.

More complex searching

The quick search bar allows you use the simple expressions from above, but it also allows you to compose more complex searches. For instance, if you want to search for a message from Bob Barker to Dave Letterman about monologues, you can use:

f:Bob Barker t:Dave Letterman s:monologues

If you are tired of getting results that have jokes about "Monica", you can instead use:

f:Bob Barker t:Dave Letterman s:monologues -Monica

If you are interested in messages from either of these celebrities:

f:Bob Barker or f:Dave Letterman

Technical note: For the average user, the above information is usually adequate. If you are curious, this feature still relies upon an underlying Thunderbird message searching mechanism. That mechanism cannot always perform searches correctly that have a combination of boolean operators. So, if you try to perform a search that mixes "ands" and "ors" you may get back too many results. As an example, if you were to search for "t:dan and f:(bob or dave)" you will be mixing boolean operators and the results may be over inclusive. As an extra technical note, if you did "t:dan and -f:(bob or dave)", DeMorgan's theorem takes place and you are actually composing a search of "t:dan and f:-bob and f:-dave".

Quick calculations

Sometimes when composing emails I find it nice to have a calculator around to add/multiply large lists of numbers. This extension also provides that functionality. When the "expression" search type is selected, you can type a numeric expression in the quick search bar (where you normally type searches) and the result will be placed in that bar. So for instance, type in the search bar:

5+29*3

and after hitting enter, the search bar will show:

5 + (29*3) = 92

Download & Install

You can download the official release of GMailUI at http://addons.mozilla.org. However, the official site reviews new versions before posting them. So you can download the newest stable version below.

To install an extension into Thunderbird you can download the xpi file to your desktop, navigate to Tools -> Extensions in Thunderbird, and click the "Install" button. Point to the location of the gmailui XPI file you downloaded to your desktop, and it should install. You'll need to restart Thunderbird to get the new functionality in the extension.

Version history

  • Version 0.1: First version which supported simple quick search queries, j/k keys, and archiving.
  • Version 0.2: Added shortened search operators (like 'f:' and 's:')
  • Version 0.3: Added quick search virtual folder and ESC key functionality
  • Version 0.4: Added general search expressions, making J/K/ESC keep focus on message bodies, and addition of simple calculator.
  • Version 0.5: Add has-attachment searching, single archive folder configuration with improved folder picker GUI to choose it, makes '/' highlight the search field even in the Address Book, adds French language support (thanks Nadia).

Feedback, Suggestions, and on-going Development

I appreciate any suggestions and feedback on the GMailUI extension. Feel free to mail me at feedback.gmailui@dfgh.net. However, I stopped using Thunderbird as my mail reader in June 2007 when I changed employers. As a result I am no longer actively developing this extension. If you are interested in taking over maintenance and future updates for this extension, please contact me.


Comments