One of the most-visited articles I’ve written here is one on managing Firefox default settings. I continue to get questions about this, so I thought it was time to revisit the issue.
I still use the basic techniques described in the original article. But I’ve made two changes worth pointing out.
Originally, I edited two existing files and added a third file. But now, I just add two files.
The first file tells Firefox to use your new config file.
Create a new file: /Applications/Firefox.app/Contents/MacOS/defaults/pref/local-settings.js
Edit the contents like so:
// MyOrganization additions
Now the actual configuration file:
Create a new file: /Applications/Firefox.app/Contents/MacOS/firefox_AA.cfg.
For our implementation , the contents are similar to:
// This file sets some default prefs for use at MyOrg
// and locks down some other prefs.
// application updates
// Password Manager
// Default browser check
// Home page
Make sure the first line starts with double slashes as in the example above – if the first line isn’t comment, it doesn’t work.
We’ve moved the homepage settings into our Firefox_AA.cfg file; previously we were editing /Applications/Firefox.app/Contents/MacOS/browserconfig.properties.
Since we’re now dropping in two new files, instead of editing existing files, this is much easier to package up and deploy.
For more information about this technique, and more info on how to find more settings you can manage, check out this mozillaZine article:
Note that in the mozillaZine article, they encode the .cfg file using ROT13. I don’t bother for my deployment, but if you need to obscure the values in the .cfg file, you can. If you do so, be sure to remove the “pref(“general.config.obscure_value”, 0);” line from the local-settings.js file.
If you try this and have problems, make sure the two files are plain text and the names don’t have a hidden extra extension — some people tried using TextEdit with its default settings to make these files and ended up with files named “local-settings.js.rtf” or “local-settings.js.txt”…