- 2011-12-18: Initial version 1.0 released
- 2012-11-18: v1.1
- 2012-11-18: v1.2
- 2013-11-08: v1.3
- 2014-07-22: v2.0
- 2014-07-28: v2.1
- 2014-08-18: v2.2
- 2014-09-08: v2.3
- 2014-11-28: v2.4
- 2014-12-08: v2.5
- 2014-12-18: v2.6
- 2015-04-18: v3.0
- 2015-05-18: v3.1
- 2016-07-22: v3.3
The TotalMessage extension adds enhanced header customization, header editing, and message re-threading. Please see Screenshots for a preview.
TotalMessage v3.3 (Tb37.0 - Tb52.*)
TotalMessage v2.6 (Tb31.0 - Tb36.*)
Thunderbird 31.0 or higher.
Complete header customization in the message pane
- Headers are built based on a map. Use Options|Preferences -> Display and select the Headers panel to build your custom layouts. You may also right click on the header pane or hover the TotalMessage button, and select Customize Headers to open the panel.
- Mappable headers are automatically collected from messages received and viewed. Automatic collection may be inactivated in Customize Headers. You may also add custom headers manually.
- Separate maps are maintained for each of Mail, News, and Feed type messages.
- Within each message type map, message pane layouts for Brief and Basic headers are configurable to contain any desired number of rows and any header order.
- Customize header separator and wrap lines on header overflow.
- In the headers pane, overflowing/wrapped fields may be toggled. Click on individual header label/name (toggleable fields will show a pointer cursor) to toggle the field. Wrapped headers that overflow your wrap lines will show a small scrollbar.
- Customize a header's Display name, Format, Wrap (auto on overflow), and Ellipsis on overflow.
- Headers View
- Message pane headers toggle to None, Brief, Basic, Full.
- If the header toggle button is toggled to 'None' the pane will autohide when the mouse leaves the pane. Hovering on the pagecurl indicator will autoshow the pane.
- Header pane height/state is persisted. Drag the border to set the height.
- Header toolbar buttons feature an optional flat style and autopopup menus.
- Edit any header in a message or add a new header.
- To invoke the Editor, toggle ctrl-h or select Header Editor in the headers context menu. Click the info icon for more and hover the buttons for tooltips.
- Double click a header value in the row to invoke its editor; double click to return to the editor after a change has been set for saving.
- Editing is not available for messages in an IMAP readonly or news (NNTP) or trash folder.
- The message list includes a new Bar in the Subject column to provide a more comfortable sorting and column configuration experience. While there has always been an ability to do (certain) secondary sorts in the backend, there was no visual feedback or an easy one click way to achieve this. The Bar also adds easy access to sort/group/column selection/threading options. The thread and columnpicker column space is not necessary.
- A sort order button Up Arrow means Ascending, a Down Arrow means descending. For Read and Attachment and Starred columns, Ascending starts from is read or is starred or has attachment and goes to not read or not starred or no attachment (unlike Junk Status).
- The former Order Received column is renamed to Index. Order Received is not strictly correct, as early dated messages have a higher Order Received if they are moved/copied to other folders.
- The TotalMessage Bar and List customization can be turned off by setting the pref headerListEnabled to false and restarting.
- NOTE: Some secondary sorts are very slow for large lists. Custom columns (indicated in italic) can only be a primary sort. The backend defaults to certain behavior for sort values; this is reflected in the Bar and is not overridable.
- The string appearing in the Subject column can be configured as desired, based on a headers and values map. A treeview treecell supports only a string and there is no formatting or alignment.
- By default, Subject is premapped and displays Subject: in threadpane. See below how to remove this demo.
- Open the Customize Headers panel.
- Select the List item in the Select Headers Type to Map menulist for the desired message type. Create the map (there is only one row for this map type).
- NOTE: the default labels may be removed from display by saving a blank Display column value. Also, since any unicode character may be entered, a label can be 📎 or 🌟 or any other value found in the List of Unicode characters page. A font that handles unicode symbols is required.
- Open the Customize Headers panel.
- Select the Forward item in the Select Headers Type to Map menulist for the desired message type. Create the map.
- Make sure that View->Headers is set to Normal for the map to take effect. Otherwise, all headers will be included in the forwarded composition.
- Open the Customize Headers panel.
- Select the Compose item in the Select Headers Type to Map menulist to edit the Compose map. Add the desired header to the map and it will appear in the Compose addressing widget menulist. The Compose map applies to all message types.
- Double click the Display row to enter a custom name (if desired, or use the default) to appear in the addressing menulist and in the sent message. The Compose header Display name must follow RFC specification for mail headers (ascii only). Duplicates are not allowed.
- Speed Dial
- Frequently used values for a header may be saved. Double click the Value column row to enter the editor and input values. Saved values are autofilled when the header is selected from the Compose addressing menulist. Multiple values for the same header can be stored by saving a comma separated list. Use a \ to delimit commas. An empty comma creates an empty value.
- For example, add accept-language (from collected headers or create it) to the map. Entering ,ja,pl,ru\,fr\,de will result in the following addressing widget menulist: Accept-Language: Accept-Language: ja Accept-Language: pl Accept-Language: ru,fr,de
- Or a keywords header may have Project One\,Finance,Project Two\,Finance,Personal which results in menuitems: Keywords: Project One,Finance Keywords: Project Two,Finance Keywords: Personal
- For addressing headers (email addresses or newsgroups), multiple values may also be entered. On menuitem selection, the comma separated list will be expanded one per row. This is a Thunderbird limitation. A custom addressing header value is not checked for existence in an addressbook, so must be entered currently as a valid email or newsgroup. Autocomplete is disabled for non-addressing headers and enabled for autofilled rows. A cc header with email@example.com\,firstname.lastname@example.org\,stan,email@example.com results in menuitems: Cc: firstname.lastname@example.org,email@example.com,stan Cc: firstname.lastname@example.org Selecting the first menuitem expands to the following rows in the Compose window, where stan is an invalid email: Cc: email@example.com Cc: firstname.lastname@example.org Cc: stan Cc: (focus row) Depending on placement, stan may not be expanded if an @ email follows. Also, if you wish to include a list, enter it as MyList <list>.
- Many headers such as Subject, Date, Received, User-Agent, Message-Id, etc. are not usefully customizable. Such headers are overridden by Thunderbird or the SMTP server or MTAs along the way.
- Open the Customize Headers panel.
- Select the Print item in the Select Headers Type to Map menulist for the desired message type. Create the map.
- Make sure that View->Headers is set to Normal for the map to take effect. Otherwise, all headers will be included in the printed composition.
- NOTE: custom headers are added only if the message is first Print Previewed. A direct Print (ctrl-P) will use the built in defaults.
- Attachments that have been detached show a local file link to the detach location. A tooltip message appears if the location is no longer valid.
- Feed enclosure remote location urls are displayed in a link and are properly handled for open/save functions.
- The category Other Values in the Customize Headers panel contains a list of columns and extension custom columns which may be mapped for display along with headers.
- The x-message special header is the text content of the message. An existing core api is used to get this value. The api has a number of problems but will work for most cases. IMAP is supported, but news(NNTP) message content is not. Up to 255 characters (may be fewer due to odd space compression logic) are returned.
- Allow one time per message remote content display. In the Blocked Remote Content notification, select Show remote content temporarily in the Preferences button popup.
- Select a new thread parent or remove threading, for any single message. Multiselection of messsages and carrying along a rethreaded message's child messages is not supported. Starting a rethread operation invokes Edit Mode.
- Enable threaded view (toggle thread column or select Threaded menuitem).
- Mouse: Drag and Drop the selected message to the new parent. The drag target will be highlighted in 'Edit Red' and a (valid) drop parent will be outlined. Moving the drag outside of the threadpane cancels Edit Mode.
- Keyboard: Press ctrl-d to set the message as a drag target and use the up/down arrow keys to select the new parent drop target. Press ctrl-d to 'drop' the selected message on the new parent. Drop attempts on the selected message itself or on the existing parent won't do anything.
- To remove threading, select a message and press ctrl-d then ctrl-x. The unthreaded message will be selected in its new sort order position.
- In Edit Mode, a backup of the selected message is created in the Trash
folder, unless the backup button in the Edit toolbar is unchecked.
- NOTE: certain rethreadings, such as making message A the child of message B which used to be the child of message A, may require rebuilding the folder index, via Properties Repair Folder. It is best to unthread message A first, then thread it to B, rather than threading A to B in one step. Unthreading will also clean up long reference chains, if a message has been moved many times.
- Editing (thus rethreading) is not available for messages in an IMAP readonly or news (NNTP) or trash folder.
- No message will be selected after a right click delete/move/archive, if there is no message currently selected.
- No message will be selected after a message removal based on Junk icon junk/unjunk action, if there is no message currently selected.
- Using ctrl-click to unselect a message will now forget the message. This means returning to the folder of an unselected message will not select it, even if pref mailnews.remember_selected_message is true).
- Link context menu items Open Link in New Tab and Open Link in New Window have been added. This enables viewing web pages in Thunderbird tabs/windows more comfortably. Back and Forward navigation is supported.
- Select/copy - headers are an html page!
- Extensive keyboard support for all functionality:
- Use shift-h to toggle the header (jmozmoz request).
- Page curl indicators and some buttons have tab stops, <enter> initiates an action.
- Customize headers tree columns may have action initiated by 'd', 'f', 'w', 'e' keys. This is even localizable, but completely undiscoverable..
- Linkified subject or website (a Content-Base header is found) may be clicked to load the web page in message pane. The link's contextmenu has an option to remember the click choice (the default is to open in a browser).
- Since TotalMessage replaces the existing XUL based message pane with HTML, it is not compatible with other header pane extensions.
- Please report any issues.
- After uninstalling TotalMessage, make sure to set View->Headers to Normal; this will alleviate a Great Crisis. You may also search for the extension name in the config editor and clear (right click, Reset) any leftover prefs. This may be automated in future.
- Update: compatibility with (my) grouped and sort changes in Thunderbird 45.
- New: support signed and encryption indicator buttons in the header toolbar; use Customize to add them.
- Fix: add header regression in Header Editor.
- Update: compatibility with Thunderbird 38 incontent preferences.
- Update: Header Editor compatibility for maildir.
- Fix: many improvements to the custom Compose addressing header 'Speed Dial' feature; see the homepage.
- Fix: x-message now works with other header types and not just List.
- Fix: Header Editor workaround for CopyFileMessage failure to retain tags when copying to IMAP.
- New: link contextmenu option to click toggle Content-Base (Website or linkified subject) url in message pane.
- New: number of desired Compose rows saved on splitter drag resizing, without having to edit the pref.
- Fix: text selection prevented custom print headers appearance.
- Fix: remove unnecessary space for no headers case in Forward and Print.
- Update: the Header Editor used the original encoding to re-encode edits, however encoding in other than UTF-8 been deprecated in core Thunderbird, so RFC2047 encoding is now always UTF-8 once decoded. This is also true for a dnd rethread, which is an edit.
- New: enable thread expand/collapse for Grouped By Sort view.
- New: transparent icon; replace TotalMessage Bar label with it.
- Fix: several minor tweaks; improve invalid dnd rethreading checks.
- Fix: adjust auto menupopup timing.
- New: expose some threading prefs in the thread button menu.
- New: enhanced message list sort and configuration Bar.
- New: customize which headers are added to the messge List (threadpane) string in the Subject column for each of Mail, News, and Feed types. - New: customize Compose header autofill values. - Note: due to a core change, use Customize on the message header toolbar to remove the Other Actions button and add the new More button to the toolbar.
- Fix: header toolbar menuitems replyAll, replyList, and replyGroup work again.
- New: customize which headers are added to a Printed message for each of Mail, News, and Feed types.
- Fix: make Headers option dialog persist better.
- New: implement no unwanted message selection.
- Fix: header toolbar broken with uncustomized Other Actions button.
- Fix: layout changes do not work without restart.
- New: add Open in New Tab and Open in New Window to link contextmenu; shift-click opens the tab and selects it.
- New: add Back and Forward web page navigation in content tabs, as well as alt-left arrow and alt-right arrow keyboard support.
- Update: compatibility with Thunderbird 29.
- Fix: remove custom attachments pane as the latest native attachment pane has greatly improved.
- Fix: simplify the multiple frames page into a single headers only html page, plus several code tweaks and tunings.
- New: add ability to see more details about detached/deleted attachments and support feed enclosures properly.
- New: much easier drag and drop re-threading of messages - just dnd one message onto another in threadpane.
- New: customize which headers are added to a Forwarded message, for each of Mail, News, and Feed types. - New: incorporate the headers customize dialog into the Options|Preferences window.
- Update: compatibility with Thunderbird 22.
- Fix: header sizing by border drag regression.
- Update: compatibility with Thunderbird 17.
- Fix: numerous tweaks and tunings.
New: Initial release.
Message List (threadpane) Subject column customization
Forward header customization
Compose header customization
Print header customization
Column values are mappable, including message text
Fine tune remote content in messages
Easy Threading and Re-threading of messages
No Unwanted Message Selection
Basic Browsing in content tabs
Currently de, en-US, sv-SE, zh-CN. Please see Babelzilla if you wish to add a localization.
Support and Questions:
Please post to the TotalMessage forum thread.