I've saved the most powerful method of customizing Firefox for last - writing an extension. Firefox extensions allow you to customize just about every aspect of Firefox. You can override default behaviors, customize the user interface, change and lock default preferences, even replace entire components.
NOTE: None of the methods documented in this post work anymore. The safe mode dialog was changed and I can find no way to prevent it from displaying.
I have one more post planned about customizing Firefox with add-ons and the CCK Wizard, but I wanted to get this out in the mean time.
A lot of people ask how to disable safe mode in Firefox in an enterprise environment. This post will tell you how to do it with an add-on.
Update: The locations of the files in this post have changed. I believe I've updated them all, but if you have problems, see this post.
Update: I have made major modifications to this post. I was not aware that Firefox copied the contents of the defaults/profile directory on the file system after using the files on omni.ja(r).
This next method of customization is not as widely used, but it is still worth mentioning. It involves changing the files that Firefox uses when creating a new profile. We'll also take this opportunity to talk about userContent.css and userChrome.css which we mentioned earlier.
In many of my previous posts about installing add-ons into Firefox, I have mentioned the distribution directory. While I've primarily indicated that it is a place for installing add-ons, it's actually useful for more than that. Files in the distribution directory are what allow for custom Firefox distributions like Firefox with Twitter or anything produced by build your own browser. Besides installing add-ons with a distribution, there are two other things you can do: install search engines and customize preferences and bookmarks with a file called distribution.ini.
In my earlier post, I went over the basics of enabling an autoconfig file. In this post, I'm going to give more detail on what is in an autoconfig file, as well as how to debug autoconfig files. Before we get started, though, I need to provide some new information about offline autoconfig.
I’m doing a series where I go over each method of customizing Firefox (that I know about) and detail how it works and what it can change. Next up in our series on customizing Firefox is the infamous autoconfig file.
Before I go into detail about how autoconfig works, I want to give you a quick history lesson. This is the story of Netscape Mission Control Desktop (MCD).
IMPORTANT: As of Firefox 21, there are two locations for default preferences, defaults/pref and browser/defaults/preferences. Because of the order in which Firefox loads files from these two locations, some preferences can't be set in defaults/pref. If you find a preference doesn't work in one location, try it in the other..
One of the most talked about subjects on the Enterprise Working Group Mailing List is customizing Firefox. There are quite a few different methods that people are using today, and there are more that people don't know about.
I'm going to do a series where I go over each method (that I know about) and detail how it works and what it can change. This should allow people that are customizing Firefox to make more informed choices about which method to use.
The first method we're going to talk about is adding default preference files.
One of the reasons that I enjoy my work customizing Firefox and building add-ons so much is that just about every request I get is a puzzle. They usually start with a question like "Is it possible for Firefox to..." or "Can you make Firefox..." When one of these questions is asked, I start going down the
rabbitfox hole and usually end up with some way to do what the client has asked. A lot of the same questions are asked so often that most of the time the answer involves giving them something I've already done or piecing together things I've already built. Occasionally, though, I get asked to do something that I've never done before. And that's a lot of fun.
I found this post I wrote a year ago that I never published. With the renaming of Personas, it seems more relevant than ever. It's time for Background Themes to get some love.
Personas Interactive (PI) from Brand Thunder integrates tightly with the Personas support in Firefox. Because the overhaul of the Add-ons Manager in Firefox 4 caused some major changes to the Personas code in Firefox (LightweightThemeManager.jsm), I had to revisit how PI integrates with Firefox. As I was working through those changes, I realized that many of the changes I'm making should not be a part of an add-on - they should be core functionality in Firefox 4. So what I'd like to do with this post is talk about three areas where Personas support in Firefox could be greatly improved. Those areas are Website Integration, Core Functionality and Extensibility.