Modify Thunderbird settings

From MozillaZine Knowledge Base
Revision as of 16:37, 13 June 2010 by Tonymec (talk | contribs) (→‎User.js: typo)
Jump to navigationJump to search

Thunderbird stores any settings you change or create using Tools → Account Settings and Tools → Options in the prefs.js file in the profile folder.

The recommended way to add or modify a setting which doesn't have its own input box, checkbox or radio button in said dialogs is to use Tools → Options → Advanced → General → Config Editor, equivalent to Firefox's about:config. You can search for any preference using the filter field, and then double click on a preference to modify it. You can also add settings by right clicking anywhere in the list, selecting new from the context menu, and then select the type (string, integer or boolean), and enter the name of the setting and its value.

Some alternatives:

  1. You can add or modify a setting by editing prefs.js directly using a text editor. However, prefs.js does not contain all of the settings, it only contains any settings that have changed. In fact, if you add a setting with a default value Thunderbird will quietly remove that line from the file the next time you run it. It is also not as tolerant of user errors as the config editor, and requires you to learn where the profile is stored. Note: You should not edit this file while Thunderbird is running, because it will be overwritten at closedown, losing any edits you made.
  2. The ViewAbout extension adds support for about:<something> windows just like those in Firefox. Its about:config window is the same as the Config Editor mentioned above.
  3. The ChromEdit extension makes it easy to edit prefs.js or user.js without knowing their location. It is no longer officially supported and you may have problems finding a version that works with future versions of Thunderbird.
  4. The MR Tech Toolkit extension, which is actively maintained, includes among others the functionalities of both ViewAbout and ChromEdit extensions mentioned above.

Example

You have a problem downloading a large message, or the webmail extension doesn't fetch all of your new mail. Increasing the timeout setting from the default 60 seconds to 120 seconds might help. However, the timeout setting, as with many preferences, cannot be set using the GUI. The first step is to figure out the name of the preference. If you can't find the preference in the knowledge base, try using the Config Editor to identify the name of the preference. If you type timeout in the filter you may see something like the following:

accessibility.typeaheadfind.enabletimeout
accessibility.typeaheadfind.timeout
mail.server.server2.timeout
mail.server.server4.timeout
mailnews.tcptimeout
network.ftp.idleConnectionTimeout
network.http.keep-alive.timeout
network.proxy.failover_timeout

along with their status, type and value. You need a preference whose name begins with mail or mailnews (it tends to have global settings). mail.server.server2.timeout and mail.server.server4.timeout are obviously server specific settings, network.* settings are normally too specialized (NTLM, dialup, cookie related settings etc.) and accessibility.* settings are clearly unrelated. That leaves the mailnews.tcptimeout setting. Double click on it, enter 120, and press the OK button. If you don't want to use the Config Editor you could have used a text editor to add user_pref("mailnews.tcptimeout", 120); to prefs.js instead.

The defaults\pref\mailnews.js file in your Thunderbird program installation directory contains most of the default settings. It uses a pref prefix rather than a user_pref prefix on any settings. For example, pref("mailnews.tcptimeout", 60); . You should not edit that file. However, it's sometimes useful to view that file to find out what preferences exist and what their default values are.

User.js

You can also create an optional user.js file in the same directory as prefs.js. It is mainly used by administrators to set the same settings in several profiles. It is recommended that you don't use it since any settings you add to it will be merged into prefs.js when Thunderbird starts, preventing permanent changes using the Config Editor.

See also