Firefox Tweak Guide
[Page 8] Advanced Tweaking
This section primarily covers advanced tweaks you can perform in Firefox by editing/changing preference values and style sheets. It's a bit trickier than the tips covered in the rest of the guide, but the results are also much more noticeable. Before you start this section you must read the Customizing Firefox section on the previous page to understand how the tweaks in this section are applied. If you run into any problems or find the tweaks not working, I urge you to re-read both the Customizing Firefox section, as well as going through my TweakGuides Tweaking Companion because it is likely a problem with your system setup or your understanding of how customization/tweaking works in Firefox.
Note that many of the advanced tweaks in this section can probably be applied using one of the many Firefox Extensions available, so see the Extensions & Themes section below if you want to try those first. For most people however I recommend getting used to manual tweaking, since it is the best way of understanding what's going on "under the hood" of Firefox. Also note that these tweaks have been summarised and refined by me from a much larger collection of possible tweaks, therefore this is not a comprehensive list of every possible tweak for Firefox - all the important tweaks are covered here; most of what has been left out are more obscure/less commonly used tweaks.
About:Config Preferences
This section contains the instructions on how to conduct advanced preference tweaking in Firefox. Preferences which can be completely changed using the in-browser Options menus are not covered below - see the Firefox Settings section of the guide. Please read the notes below carefully before tweaking your About:Config:
Mozillazine About:Config Entries
Mozdev.org Documented Preferences
There are also other About: commands you can use, such as About:Cache and About:Plugins to show you more information about your current build of Firefox - more details of these here.
New in Firefox 2.0
The following new preferences have been added to this list as of Firefox 2.0:
browser.sessionhistory.max_total_viewers
browser.tabs.closeButtons
browser.tabs.tabclipWidth
browser.tabs.tabminWidth
extensions.checkCompatibility
extensions.spellcheck.inline.max-misspellings
Layout.spellcheckDefault
All the other preferences have been updated for Firefox 2.0 (as some of them have changed behavior slightly), and several new preferences have been added to the list which are not necessarily new to Firefox 2.0.
The preferences list below is presented in alphabetical order with the full name in italics, type in [ ] square brackets, any recommended values in ( ) round brackets, whether it needs to be created *Create, followed by a brief description. Recommendations are given for some of the settings, but not for all - you will need to experiment as the choice is often based on personal taste and/or your specific Internet connection speed. To make sure your preference changes are saved and/or to test the effects of a preference change, close all open Firefox windows and restart Firefox.
If you think I've missed any important preferences, please Email Me.
accessibility.typeaheadfind.casesensitive [Integer] - If set to 0, searches using 'Find as you type' are not case sensitive, if set to 1 they are case sensitive.
accessibility.typeaheadfind.linksonly [Boolean] - If set to true, this setting makes the 'Find as you type' feature search only for links on a page.
accessibility.typeaheadfind.enablesound [Boolean] (False) - By default this is set to true, which means the 'Search for text when I start typing' feature makes a noise each time you enter characters in a string which is not found on the current page. To turn this annoying sound off, set this option to False.
alerts.totalOpenTime [Integer] (2000) - Determines for how many milliseconds to show the 'Download complete' or 'Updates Available' alerts. I recommend reducing this to 2 seconds (2000).
app.update.interval [Integer] - If you've enabled automatic checking for Firefox updates in the Options menus, this setting determines how many seconds Firefox will wait between checking for updates (at the URL contained in the app.update.url preference). The default is 24 hours (86400 seconds).
browser.bookmarks.livemark_refresh_seconds [Integer] *Create - This is the number of seconds Firefox waits between checking for updates to any Live (RSS) Bookmarks you may have. The default is 3600 seconds = 1 hour, and for most purposes this is fine.
browser.cache.check_doc_frequency [Integer] (3) - This setting determines how often Firefox checks for newer versions of the page you are viewing. This setting is similar to Internet Explorer's 'Check for newer versions of stored pages' setting. If set to 0 Firefox only checks once per browser session; if set to 1 Firefox checks every time a page is viewed; if set to 2 Firefox never checks (i.e. it always uses the version stored locally in your browser cached); and if set to 3 (the default) Firefox checks at automatically determined intervals. If you browse mostly pages which update their content extremely often (i.e. a few times a day) you may wish to set this to 1 though it will slow down browsing speed. The default of 3 is best for fastest browsing on most connections. You can experiment to see if 0 suits your needs, but don't use a value of 2.
browser.cache.disk_cache_ssl [Boolean] (False) - If set to true, this setting allows the caching of secure web pages in your browser cache. This speeds up loading of commonly-visited secure pages, but is an obvious security risk and for that reason it is recommended you keep this at false.
browser.cache.memory.capacity [Integer] *Create - This setting determines whether Firefox uses system RAM to cache itself, improving performance. A value of 0 turns off caching into RAM, which is not recommended as it can greatly slow down browsing. The default value of -1 tells Firefox to automatically determine the size of the cache based on your physical RAM. In Firefox 2.0, systems with 512MB of RAM will result in a 14MB cache, 1GB of RAM results in a 18MB cache, 2GB of RAM gives 24MB of cache, and 4GB of RAM results in 30MB of cache. These values are lower than the defaults in Firefox 1.5. The default of -1 should be fine for all people, but if you notice Firefox increasing its memory usage, you can manually restrict this value to a particular amount by entering a value in KB (e.g. a value of 18432 = 18MB).
browser.cache.memory.enable [Boolean] (true) - This setting works in conjunction with the browser.cache.memory.capacity setting above. If set to true, Firefox will use the value specified in the browser.cache.memory.capacity setting to determine how much RAM to use. If set to false, Firefox will not use any RAM to cache, resulting in a performance drop. I recommend setting this to true for all systems unless troubleshooting a potential memory-related problem in Firefox for example.
browser.chrome.favicons [Boolean] (true) - This setting determines the display behavior of the small site icons (usually called 'favicons') visible next to bookmarks and site URLs in the address bar. If set to true, these are downloaded and displayed; if set to false they are not. Turning off favicons may increase the responsiveness of the Bookmarks menu, but generally they are best left enabled..
browser.chrome.image_icons.max_size [Integer] - Determines the maximum size in pixels beyond which a thumbnail of an image won't be shown in a tab. If you don't want thumbnail images shown in tabs at all, set this to 0.
browser.chrome.toolbar_tips [Boolean] - If set to true, small 'tooltips' (popup boxes with descriptive text) will be shown when you hover over items in your Firefox toolbar, as well as on certain objects in some webpages. If you don't like tooltips, set this value to false, but again remember this may also disable useful descriptive tooltips on certain webpages.
browser.display.show_image_placeholders [Boolean] (false) - If set to true, image placeholders will be shown until the images are fully loaded. If set to false, these are not shown. I recommend setting this to false for a cleaner look as pages load, but it depends on your preference.
browser.download.manager.flashCount [Integer] (1) - This setting determines the number of times the Download Manager will flash in your Taskbar when a download is underway and the download manager is not visible. I recommend setting this to 1 to minimize annoyance, or you can disable it by setting it to 0.
browser.download.manager.openDelay [Integer] (2000) - The value here determines how many milliseconds of delay there will be before the download manager window opens at the start of a download. By default the download manager window opens immediately (0 milliseconds delay), however I recommend a value such as 2000 (2 seconds delay) so that for very small downloads you don't have to see the download manager window at all, yet the file will still be downloaded as usual.
browser.download.manager.showAlertInterval [Integer] - This setting determines for how many milliseconds the "Download Completed" alert is shown when you complete a download. Default is 2 seconds (2000 milliseconds). If you want to disable the download completed alert altogether see the browser.download.manager.showAlertOnComplete setting below.
browser.download.manager.showAlertOnComplete [Boolean] - If set to false, the download manager "Download Completed" alert will not be shown at all.
browser.enable_automatic_image_resizing [Boolean] - If set to true (the default), images opened separately will be automatically resized to fit the screen, if set to false they will be shown at their full size.
browser.link.open_newwindow [Integer] - This setting determines where hyperlinks which would normally open in a new browser window end up opening. If set to 1, they open in the current Firefox window; if set to 2 they open in a new window; and if set to 3 (the default) all such links open in a new tab in the current Firefox window. Note that this setting is the same as that found under the in-browser Options>Tabs screen, however there is an additional choice here (setting it to 1).
browser.link.open_newwindow.restriction [Integer] - This setting determines how new windows launched by javascript (usually popups) are treated. If set to 0, all such windows are opened as tabs in the current window; if set to 1 they open as new windows; and if set to 2 javascript windows will be treated like any other opened link unless they have strict values set.
browser.sessionhistory.max_total_viewers [Integer] - This option determines how many pages to store in memory to speed up the back and forward buttons in Firefox. The default of -1 automatically determines the amount based on your system RAM. At 512MB of RAM, 5 pages are held in memory, while 1GB or more of RAM holds 8 pages. You can set this value to 0 to hold no pages in RAM (only recommended for troubleshooting memory problems), or increase the value if you often use the back and forward functions for more than 8 pages.
browser.tabs.closeButtons [Integer] - This setting controls how the red 'x' close buttons on tabs appear in Firefox. A value of 0 only displays the close button on the active tab, 1 (the default) shows it on all tabs, 2 results in no close buttons being shown at all, and 3 displays a single close button at the end of the tab bar.
browser.tabs.forceHide [Boolean] - If set to true, your tab bar will be hidden regardless of how many open tabs you have in Firefox. This is only recommended if you absolutely need every last inch of vertical viewing space.
browser.tabs.opentabfor.middleclick [Boolean] - If set to false, clicking the middle mouse button on a link will not open that link in a tab. This is counter to the default behavior of Firefox, and would only be recommended if you strongly object to middle click opening a tab for some reason.
browser.tabs.tabclipWidth [Integer] - Determines the minimum width of a non-active tab in pixels before a red 'x' close button appears. The default is 140, and raising this value increases the likelihood that a close button won't appaer on the tab. If you want to get rid of close buttons altogether you should consider using the browser.tabs.closeButtons preference above.
browser.tabs.tabminWidth [Integer] - As more tabs are opened, Firefox shrinks each tab's width. This setting controls the minimum width a tab can be, with the default being 100 pixels. Raising this value means less tabs can be displayed at any one time on the screen (the remainder are shown in the tabs drop down box at the far right of the tab bar).
browser.urlbar.clickSelectsAll [Boolean] - When set to true (which is the default), left-clicking once in the address bar automatically highlights all of its contents. If set to false, clicking in the address bar will only place a cursor where you click without highlighting any text first.
browser.urlbar.hideGoButton [Boolean] - If set to true, the green Go arrow/button next to the URL box will be removed.
browser.xul.error_pages.enabled [Boolean] (True) - If set to true which is the default, Firefox will display a full error page when it runs into an error (such as a 'page does not exist' error). If set to false, Firefox will only bring up a small dialog box with the error messager. I recommend this setting be left at the default of True to assist in troubleshooting web problems.
The next page continues the listing of About:Config preferences.



