Betterbird: Expert Tips
Betterbird is really a Swiss army knife for mail processing. Here are some tips from our project manager to make your experience even better.
New Messages - Activity Manager
Out of the box, when Betterbird starts, it will show you the number of new unread messages and their folders.
If you have many folders an filters, the Activity Manager is also a nice tool to show you to which folders messages
were moved. Betterbird opens the Activity Manager in a tab, so it doesn't get in the way.
We suggest to keep it always open.
Multi-line view included since September 2021
Many people have asked us to finally implement a
multi-line view,
so we're happy to announce that this is now included in Betterbird.
To enable, use View > Layout > Multi-line View On All Folders.
Switching the option off also switches multi-line view off for all folders. Multi-line view is only working when the view
has been switched to "Table View" in the Message List Header. It is not functional in "Cards View":
Betterbird always displays a minimised subject column. This can be used for sorting. The subject column
must be placed before the column with which the subject is to be aligned in the second line:
Language Packs
As of September 2022 we're shipping language packs for the languages we support. Betterbird language packs are specially made for Betterbird to cover its additional functionality. Thunderbird language packs are not compatible with Betterbird. They can't be installed and are are automatically disabled. Language switching after installing Betterbird language packs is available in the user interface provided in the settings.
Custom Icons
On Windows, you can place your custom program icon and your custom icon for the "new mail" notification into C:\Program Files\Betterbird\chrome\icons\default\messengerWindow.ico and C:\Program Files\Betterbird\chrome\icons\default\newmail.ico (assuming the standard installation location).
Here are a few icons to chose from but you can find lots of icon files online. We've included the original icons
for you to inspect and modify:
The result looks like this:
Of course you can always configure your desktop shortcuts via the "Change Icon" function.
On Linux, the icons used for the system tray are betterbird/chrome/icons/default/default.svg and
betterbird/chrome/icons/default/newmail.svg. Depending on your desktop, other icons are taken from
betterbird/chrome/icons/default/default*.png (or /usr/share/icons/hicolor/*/apps).
Linux FlatPak uses these locations:
~/.local/share/icons/hicolor/scalable/status/eu.betterbird.Betterbird-default.svg
~/.local/share/icons/hicolor/scalable/status/eu.betterbird.Betterbird-newmail.svg
~/.local/share/icons/hicolor/scalable/apps/eu.betterbird.Betterbird.svg
~/.local/share/icons/hicolor/16x16/apps/eu.betterbird.Betterbird.png, where all these resolutions need to be supplied: 16, 22, 24, 32, 48, 64, 128, 256.
On Windows and Linux Betterbird also uses msgcomposeWindow for the compose window as well as calendar-alarm-dialog for calendar alarms and calendar-general-dialog for other calendar dialogues as ICO or PNG files. These icons are fixed and will be overwritten with each install.
You can base your own design on these SVG files:
System Tray support (Windows and Linux)
The following is supported:
OS / Desktop | System tray | System tray always | Tooltip with folder list | Minimize to tray |
Windows | Yes | Yes | Yes | Yes |
Linux / KDE | Yes | Yes | Yes | Yes |
Linux / Gnome | Yes | Yes | No | Yes(*) |
Linux / Cinnamon | Yes | Yes | Yes | No |
Linux / Mate | Yes | Yes | Yes | Yes |
Linux / Xfce | Yes | Yes | Yes | Yes |
(*) For Gnome you need to install the "AppIndicator and KStatusNotifierItem Support" extension. Double-click to activate.
Relevant preferences:
- System tray: mail.biff.show_tray_icon (has UI)
- System tray always: mail.biff.show_tray_icon_always (no UI)
- Minimize to tray: mail.minimizeToTray (has UI)
- Linux only: mail.minimizeToTray.supportedDesktops ("kde,gnome,xfce,mate") and mail.minimizeToTray.desktopsGtkWindowPresentWithTime (special activation, "mate") (no UI)
- Start minimized: mail.startupMinimized (no UI)
- Windows only: Show count in taskbar badge: mail.biff.show_badge (has UI)
- Show new count: mail.biff.use_new_count_in_badge (has UI)
- Only count unread message in inboxes: mail.notification.count.inbox_only (no UI)
Feed Reader enhancements
Betterbird offers a variety of Feed Reader enhancements, all contributed by alta88. Not all enhancements are available in Betterbird 128. Please refer to the release notes to see which ones were recently added.
For general information about the news feed functionality in Thunderbird, please refer to this Knowledge Base article.
JSON feed support
Web Page Archive option, for offline reading
If the option "Store an archive of the web page with the article" is checked, the web page of the article will be downloaded and parsed using the Firefox Reader implementation, meaning the HTML as displayed in Reader mode will be stored as an attachment to the feed message. The attachment may be saved or detached to file locally. In either case, the content is viewed according to the preference rss.show.feed-webpage-archive. Options are:
- 0 - never (always load the remote web page)
- 1 - only when offline or no network (default)
- 2 - always (when view as Web Page is the feed or global override preference)
Caveats:
- Downloading the web page will increase feed fetching time and the size of the feed message.
- Some few web sites don't wish their pages to display in a readable form.
Support for <updated> tag in Atom and JSON feeds
The user may choose the "Store updated articles" option in Subscribe dialog. If the publisher changes the <updated> tag value for an existing article, it will be stored instead of being treated as a duplicate.
The usefulness of this option is dependent on the publisher updating the tag when content meaningfully changes. Ideally, the original article will contain only the <published> date; subsequent changes in content are signified with an <updated> date in addition to <published>.
Caveats:
- The publisher may change <updated> to reflect a non-meaningful change in the article's entry, such as media content ratings.
- If the update interval is 100 minutes, the publisher may change the entry and <updated> in the file numerous times within that interval; only the most recent can be downloaded. This may mean the original is not downloaded before an updated version is published.
- All subsequent updated articles will be threaded to the first article received with the unique <id>.
- The default is OFF, meaning the current behavior of storing an article only upon first encounter with a unique <id> is unchanged.
Website URL when forwarding feed messages added
Pausing of updates
- An account or folder (which may or may not contain feed subscriptions) may be paused via folderpane contextmenu.
- A folder and all of its subfolder descendants are excluded from processing if the folder is paused.
- A paused folder/account (and all descendant folders) have the name shown in lower opacity.
- Individual feeds may be paused by unchecking "Check for new articles" box in the Subscribe dialog.
- If all feeds in a folder are paused, the folder's icon is shown in lower opacity.
Enhanced tolerance for invalid XML
The Atom and RSS specifications require valid XML. For a trivial violation, such as invalid hex characters or unescaped characters (&), the document will be corrected and articles will be stored.
Linkify the Subject of feed articles
The preference rss.linkifySubject (default true), will make the Subject a link and follow normal link behavior on hover and click. The Website header will not be displayed if the Subject is linkified, saving space.
Favicons
Effort is made to retrieve a favicon for best results. The favicon data is stored with the feed if preference rss.show.favicons is true (the default). If the preference is set to false, the cache is cleared upon restart. The favicon for any feed may be refreshed by selecting the feed in the Subscribe dialog and clicking the Verify button. Places history does not need to be enabled for feed favicons.
View Feed Message Body prefs
For a Summary display, render preferences are now set separately from mail messages. This option does not apply when viewing either a web page or a web page archive.
OPML Import/Export enhancements
Parsing and import of third party OPML files is improved.
Subscribe Dialogue improvements
- Several visual improvements to follow the folderpane theming and Density setting have been implemented.
- The option "Create Subfolder" has been added to allow creating a subfolder of the selected folder when adding a new feed. This has been the default when adding a feed to the root account folder.
- A folder (and account) may be conveniently deleted from the Subscribe dialog.
- To better differentiate between a folder and a feed subscription, a selected feed displays its protocol type: RSS, Atom, or JSON.
Header display via button in header pane
Betterbird lets you inspect message headers easily by providing a special button in the header pane.
The display is configurable via preference mail.messageEditor.showCustomHeaders. By default, the value
is ["*"] to show all headers. The display can be customised by
changing the value of the preference to a valid JSON string array containing a list of headers to match.
An array item "*" shows all headers. Matching is case insensitive and exact, unless a wildcard * is used.
Any custom named header(s) are shown first. For example:
["from", "to", "subject", "*date*", "*"] displays sender, recipient and subject, then all headers
containing date, then all remaining headers. Omitting "*" skips all headers
and shows only named headers, if any matches are found.
Rethreading
Threaded view must be turned on to perform threading operations. Rethreading is possible only for a single message at a time. Rethreading is possible in multi-folder views (saved search), but only for messages in the same folder. Rethreading is not possible for a message to a parent with an identical Message-ID. Rethreading is not possible in search view or Gloda list view. If threading an ancestor message to a descendant, best practice is to unthread the ancestor first, then thread to the descendant; this avoids superfluous references.
To rethread
- Mouse: drag and drop message to a new parent.
- Keyboard: select a message; Ctrl+t to enter ReThread Mode; arrow up/down to select a new parent; Ctrl+t again to drop the original message onto the new parent.
To unthread (a message is no longer a thread child nor a thread parent nor a thread root)
- Mouse (from version 128): Context menu: Threads > Unthread Message
- Keyboard: select a message; Ctrl+t; Ctrl+x.
To reset (return message to its original thread state, ie. original headers)
- Mouse (from version 128): Context menu: Threads > Restore Original Threading
- Keyboard: select a message; Ctrl+t; Ctrl+z.
To exit ReThread Mode with no action
- Mouse: start another drag & drop operation.
- Keyboard: ESC key.
Add-ons
There are thousands of add-ons available for Thunderbird which will work 100% the same in Betterbird. Here are the ones we use:
ThunderHTMLedit - great to fine-tune the sometimes erratic HTML the editor produces.
Quick Folder Move Classic - great add-on to find a folder quickly (Shift+G) or move messages (Shift+M).
Shrunked Image Resizer - essential for resizing images before sending. The new maintainer has improved it a lot, PNGs and BMPs can also be resized now.
Signature Switch - great to administer multiple signatures.
Lightning Calendar Tabs - let's you move through the calendar quicker.
Dictionary for recipient - if you write in different languages, store the language you want to use in the address book.
Sender Frequency - adds a column to the message list that lets you determine quickly who writes to you (or spams you) most.
There many excellent add-ons for specific purposes, like Mail Merge, TbSync for access to Exchange calendars, Emoji, Quicktext, FileLink (Dropbox, Box, WebDAV, Nextcloud and ownCloud) and many more.
A word of caution: with add-ons, less is more. Don't overload your system with too many add-ons. Some are poorly maintained or potentially not compatible with the latest application version. Check when the last update was made and handle with care if it's more than a year ago. Actively maintained add-ons will ship updates regularly. We think it's best to find the best add-ons that support your workflow and stick with them.
Themes
You can modify the CSS used for the display of the UI by adding a chrome/userChrome.css file to your profile. Use Help > More Troubleshooting Information, select about:profile to locate your profile. You need to set preference toolkit.legacyUserProfileCustomizations.stylesheets to true for changes to take effect. We are using this file, striping ahead.
We're not great friends of customising everything, but this simple theme has stuck with us over the years.
Updates
Betterbird checks regularly whether there is a new version available. If found, it opens the "About Betterbird" box. By default that happens every 5 days, but the interval can be adjusted with preference betterbird.update.checkIntervalDays. Setting the preference to zero will suppress updates. Updates can also be suppressed with policy DisableAppUpdate. Betterbird also honours the Windows Registry entry DWORD DisableAppUpdate under HKLM\SOFTWARE\Policies\Mozilla\Thunderbird.
Unlike Thunderbird, Betterbird does not provide automatic updates.
Preferences
You know that there will be dragons if you mess around too much with preferences, but here is a list of a few useful ones to explore:
Preference, Betterbird only | Function |
betterbird.update.checkIntervalDays | How frequently to check for updates. Set to zero to suppress check. |
gloda.list.immediate | Gloda search results: 0: Facet view, 1: Facet view and list view, 2: List view only. |
To version 115: | Configure address display for mail sender (From): 1 = name, 2 = e-mail, 3 = both |
To version 115: | Configure address display for mail recipient (Recipient): 1 = name, 2 = e-mail, 3 = both |
(*): The two above replaced by mail.addressDisplayFormat in version 128 | 0 = both, 1 = e-mail, 2 = name |
mail.biff.show_for_server | Suppress biff notifications for server root folders |
mail.download.open_attachments_readonly | Allows for attachments to be opened writeable when set to false |
mail.feed.play_sound[_{type|url}] | Settings for feed sounds |
mail.folderpane.expand_delay | Delay before expanding folder on hover |
mail.messageEditor.backupToTrash | Store the original message in the trash when editing headers or rethreading |
mail.messageEditor.editableHeaders | Allows more headers to be edited. Use * for all headers. JSON syntax(!) |
mail.multiselect_message_shows_current | Show current message content not message summaries when multiple messages are selected |
mail.notification.show_on_app_screen | Experimental: Show native Betterbird new mail alerts on application screen instead of primary screen |
mail.openpgp.ignore_missing_mdc | Allow display of PGP encrypted attachments with missing MDC |
mail.server.serverNNN.disabled | Server disables, will not access server to fetch messages |
mail.smtpserver.{default|smtpNNN}.max_messages_per_connection | Limit messages sent per SMTP connection |
mail.startup.focus | Focus after startup: 0: no focus, 1: focus spaces toolbar, 2: focus folder pane, 3: focus message list |
mail.startupMinimized | Minimise window after startup |
mail.threadpane.full_row_color | Colour the full row when using folder colours |
mailnews.database.global.indexer.max_body_part_size | Gloda (Global Database Index) message size threshold, default 20 KB |
mailnews.reversed_threading | When true, threads in views sorted descending by date are reversed |
mailnews.virtual_folders.verbose | When true, verbose logging for virtual folders in the Error Console |
Preference | Function |
ldap_2.servers.outlook.dirType | Set to 3 to enable access to Outlook address book (will cause slower startup) |
mail.biff.show_tray_icon | Show system tray icon when true |
mail.biff.show_tray_icon_always | Always show tray icon, even if no unread/new mail |
mail.biff.use_new_count_in_badge | True/false: Show count of unread/new messages in tray icon |
mail.html_sanitize.drop_conditional_css | When false, conditional CSS (media queries) won't be discarded |
mail.inline_attachments.text | When true, text attachments are shown inline (recommended) |
mail.operate_on_msgs_in_collapsed_threads | When collapsed thread is selected, copy/move/delete all messages in thread |
mail.override_list_reply_to | When true (default), overrides the Reply-To header (careful, religious war hiding here) |
mail.strictly_mime | When true, forces Quoted Printable encoding |
mail.ui.display.dateformat.default | 0: no date, 1: short date, 2: long date, 4: weekday |
mail.ui.display.dateformat.thisweek | Set to 4 to get "weekday, time" display (recommended) |
mail.ui.display.dateformat.today | 0: no date, 1: short date, 2: long date, 4: weekday |
mailnews.default_view_flags | New folders/views are created unthreaded (0) or threaded (1) |
mailnews.display.date_senders_timezone | Displays the sender's timezone in the header pane |
mailnews.display.show_all_body_parts_menu | Enables "View > Message Body As > All Body Parts" |
mailnews.localizedRe | List of prefixes that will be treated like Re. Recommended for German: AW,Aw,aw |
mailnews.reply_to_self_check_all_ident | When true (default), checks all identities in "reply to self" |
mailnews.send_plaintext_flowed | When false, plaintext won't be flowed (not recommended!) |
mailnews.wraplength | Line length used for wrapping, 0 = no wrapping |
toolkit.legacyUserProfileCustomizations.stylesheets | Enables userChrome.css when true |
ui.prefersReducedMotion | Controls UI animation, 1 = no animation |