From MozillaWiki
Jump to: navigation, search

Thunderbird Preferences

Some documentation on Mozilla preferences can be found here.

The way the prefs subsystem works is to put together a list of all pref files from the app and all extensions, and then apply them in reverse alphabetical order. That means that the alphabetically first files get precedence since later applied files override the settings in previously applied files.

For Penelope's purposes it is necessary to have some default settings that take precedence over the Mozilla platform and Thunderbird, but not over the user's settings. So the source code for Penelope settings are stored in penelope/base/prefs/all-penelope.js, and during the build process get moved in to the Penelope extension with the same file name. This allows Penelope preferences to override the all-thunderbird.js preferences of Thunderbird. The tradition in Mozilla is that all.js has the last word, so this makes all-penelope.js take precedence over the rest of the Thunderbird and Mozilla preferences files but still retains all.js's place at the top. The user's prefs.js file has precedence over all of these, and finally the special user.js has the final say-so.