Firefox Tweak Guide
[Page 11] Advanced Tweaking (Pt.3)
config.trim_on_minimize [Boolean] (False) *Create - This setting only works in Windows, and determines whether Firefox - much like other Windows applications - reduces its memory usage when minimized to the Taskbar. If set to True, it will use less memory when minimized, which is useful for systems with low RAM and multiple open applications. However if set to False (the default) it speeds up minimizing/maximizing Firefox, as Windows will not constantly attempt to reduce and reclaim RAM, and this can also increase stability - thus False is the recommended setting for most people.
content.notify.interval [Integer] *Create - Note that for this setting to work, a new Boolean called content.notify.ontimer must be created and set to True as well. This value in microseconds (where 1000 microseconds = 1 millisecond) determines how long Firefox buffers network data before displaying it. By default this is 120000 microseconds (120 milliseconds). Lowering this setting can improve display speed in Firefox, however it will also increase CPU usage to do so. Experiment with slight drops in value to 100000 or even 50000 and see if your results are beneficial. Don't drop this value to one which is extremely low however. If in doubt, do not change this value as you are more likely to slow Firefox down than speed it up.
content.switch.threshold [Integer] *Create - This setting determines how long Firefox waits for user input (mouse or keyboard input) before switching to a less-responsive but less system-intensive low frequency mode while loading a page. The default is 750000 microseconds, but raising this value might keep Firefox more responsive at the cost of greater system load and slightly longer page loading times. I don't recommend changing this value.
dom.disable_window_open_feature.* [Boolean] - There are 11 settings which begin with this tag (and end with one of the following: .close, .directories, .location, .menubar, .minimizable, .personalbar, .resizable, .scrollbars, .status, .titlebar, .toolbar). These settings control the appearance elements of popup windows which you can force to be displayed. For example, if you set the dom.disable_window_open_feature.close setting to True, it will force all popup windows which open up to have a close button in the top right hand corner of the popup window. This is useful since many popup windows (mainly ads) deliberately remove such elements to prevent easy resizing/closing of their content. For that reason I recommend you set at least the .close and .resizeable settings to True.
dom.popup_maximum [Integer] (5) - This setting determines the maximum number of simultaneous popup windows which can be open at any time to prevent the screen flooding with popups (as some malicious sites/malware can do). The default is 20, but I recommend a value such as 5 or even lower since most of the time users will only ever need a few legitimate popups opening up at the same time on their screen. If you find legitimate popups are being blocked, raise this value again, but never beyond 20.
extensions.blocklist.enabled [Boolean] - If this option is set to True (the default), Firefox refers to an online blocklist to determine whether to block the installation of certain extensions which may be security risks or otherwise not recommended. If for some reason you find a legitimate extension which you are certain is completely compatible and is not a security threat is being blocked, you can set this setting to False to get around the blocklist - though obviously this isn't recommended.
extensions.checkCompatibility [Boolean] *Create - If this option is set to False, you will be able to install and use add-ons which would normally be detected as incompatible with your current version of Firefox and hence not allowed. In some cases installing an incompatible add-on may not cause any major problems, however in a large number of cases there may be odd behavior or crashes. Use this setting with absolute caution and backup your profile before installing and using an incompatible extension. Note that typically you must also create and set the
extensions.checkUpdateSecurity to False (as covered below) to allow incompatible add-ons to be installed.
extensions.checkUpdateSecurity [Boolean] *Create - If this option is set to False, any add-on can be installed, even if it does not meet Firefox's new security requirements for add-ons. This is obviously not recommended whatsoever, however it is a requirement if you wish to install an incompatible add-on. New to Firefox 3
extensions.dss.enabled [Boolean] - If set to True, this option enables Dynamic Skin Switching (DSS). This means that whenever you install and/or switch to a new Theme in Firefox, its changes will be implemented and visible immediately, rather than having to close down all Firefox windows and relaunching Firefox. While this is handy, it can be quite buggy so if you're having problems with glitches in themes set this back to false.
extensions.getAddons.maxResults [Integer] - This preference determines the maximum number of results shown when add-ons are displayed under the new 'Get Add-ons' tab in the Add-ons Manager. The default is 5, however you can alter this value to show more (or less) results within the tab. New to Firefox 3
extensions.getAddons.showPane [Boolean] - By default this preference is set to True, meaning the new 'Get Add-ons' tab under the Add-ons Manager will be shown. If you want to remove that tab for some reason, set this option to False. New to Firefox 3
extensions.spellcheck.inline.max-misspellings [Integer] - When the built-in spell check in Firefox is enabled, this option determines the maximum number of spelling mistakes the spell checker can encounter and try to fix before it gives up. The default limit is 500, and on text entry boxes with large numbers of mistakes even this can cause a prominent slowdown. Lowering the limit can make Firefox much more responsive on such pages, but obviously results in less spelling mistakes being found.
images.dither [String] - Determines whether Firefox dithers colors (creates more realistic gradations) or not. The default is Auto, which means Firefox decides if the image requires dithering or not; if set to True, Firefox will dither all images; if set to False, it will not applying dithering to any image. The default is recommended, however to see all images in their original form, set to False.
intl.locale.matchOS [Boolean] - This setting is used by Firefox to determine where you are located in the world. If set to True, the setting tells Firefox to use the locale you've set in your operating system as your Firefox locale. If set to False, Firefox won't check or use your OS locale, it will use the one set in the general.useragent.locale preference.
keyword.URL [String] - This setting determines the address to use to run searches when you type a word in the Firefox Address Bar. By default it points to Google, but entering a word in the Address Bar just goes to the first site Google finds (i.e. the default is the I'm Feeling Lucky search method). Instead you might want to try setting it to http://www.google.com/search?&q= which is the general Google search string. Now any time you enter a word in the Address Bar and press Enter it will take you to a Google page showing you the full results of a normal Google search for that term. Alternatively you can use a completely different search engine of your choice.
keyword.enabled [Boolean] (True) - By default entering a word (and not a URL) in the Firefox Address Bar is considered a Keyword, and Firefox will either look for a bookmark with the same defined keyword and launch it, or commence a search in Google to find the most likely site from that word. If you don't like this functionality you can disable it alltogether by setting this value to False. Bookmark Keywords will still function however. Disabling this setting is generally not recommended as Keywords are a unique and highly useful feature of Firefox.
layout.css.report_errors [Boolean] - By default Firefox reports all CSS errors in the Tools>Error Console. If you don't want CSS errors shown there, set this to False.
layout.scrollbar.side [Integer] - Firefox shows a scrollbar on the left or the right of the screen depending on the language being used; for English this is the right. If you want to force Firefox to display the scrollbar on the left or the right regardless of language, set this option from its default of 0 (auto) to 2 (scrollbar always on right); or 3 (scrollbar always on left).
layout.spellcheckDefault [Integer] - This setting controls whether the built-in spell checker is disabled (0); enabled and checking multi-line text boxes (1 - the default); or enabled and checking all text boxes (2) - which includes single-line text boxes.
layout.word_select.eat_space_to_next_word [Boolean] - This setting determines the selection behavior when you double-click on a word on a web page. By default (True), Firefox selects the word and the white space on the right of that word. If set to False, Firefox will only select the word itself with no extra spaces.
layout.word_select.stop_at_punctuation [Boolean] - This setting determines whether Firefox selects the punctuation around a word when it is double-click selected. If set to True, the punctuation is not selected with the word; if set to False, additional punctuation around the word is also selected. For example double-clicking on (default) in Firefox will either just select default, or (default) based on this setting.
network.dnsCacheEntries [Integer] *Create - This setting determines how many entries should be held in the Firefox DNS (Domain Name System) cache. Whenever you enter a web address in Firefox, it needs to convert that text address into an IP number. It does this by looking up the name and IP number through a DNS server. By holding DNS entries in a local cache, the next time you want to go to the same site Firefox can load it up much faster. By default Firefox holds 20 entries in the cache. I recommend changing this number to match at least the number of sites you regularly browse. More importantly, check the setting below to ensure DNS entries are kept up to date.
network.dnsCacheExpiration [Integer] *Create - This setting determines how long the cached DNS entries (as set by the network.dnsCacheEntries setting) are held before they are discarded. The default is 60 (seconds), however before changing this setting consider the pros and cons - the longer cached entries are held, the quicker your browsing may be, but the longer it may take for Firefox to be aware that a site which was temporarily considered unavailable (unresolved) is now accessible again (resolved).
network.http.max-connections [Integer] (48) - This setting determines how many simultaneous HTTP connections can be made by Firefox. The default in Firefox 3 has been raised from 24 to 30, however for most people on moderate to fast broadband Internet connections you can try raising this to a value like 48 or even 96 to allow for more open connections, thereby speeding up browsing multiple pages. The maximum is 65535, but remember that by raising this setting you are only raising the maximum possible number of connections. You aren't forcing Firefox to increase the actual number of connections it makes every time; if your system actually attempted to force 300 connections to open at once for example it would likely slow down to a crawl.
network.http.max-connections-per-server [Integer] (20) - This setting determines how many simultaneous connections can be made to a single server. The default is up from 8 to 15 in Firefox 3, however you can increase the value for broadband connections to something like 20 or 32 to attempt to increase browsing speed. The maximum is 255, however note that raising this setting to a high value (in conjunction with a high value for the network.http.max-persistent-connections-per-.* settings below) may be construed as a DoS (Denial of Service) attack by some servers and your connection may be refused or even permanently banned. Simply increasing the number of possible connections to a server doesn't necessarily make things any faster, it doesn't force lots of extra connections, it just allows more connections if they're needed.
network.http.max-persistent-connections-per-proxy [Integer] (8) - If you are connected to a proxy, this setting determines how many connections to keep alive at any time. The default is up from 4 to 6 in Firefox 3, however you can attempt a higher value such as 8 to potentially improve speeds. As mentioned in the settings above, raising this to a very high value will put additional stress on the proxy server and may ultimately result in slower browsing for everyone on the proxy and/or a refused connection.
network.http.max-persistent-connections-per-server [Integer] (8) - If you are not connected to a proxy, this setting determines how many connections to a single server to keep alive at any time. The default in Firefox 3 is now 6, up from 2, however you can attempt a higher value such as 8 to improve browsing efficiency. The maximum possible is 255, and as mentioned in the settings above, raising this to a very high value will put stress on the particular websites you are connected to and will either result in a refused connection, or slower response times from the web page for every person trying to connect to it. Do not raise this value to one which is very high as it is inconsiderate and counter-productive if everyone does so.
network.http.pipelining [Boolean] (True) - If set to True, this setting uses the HTTP Pipelining feature supported by some servers. Note that if you're behind a proxy, see the network.http.proxy.pipelining preference below instead. HTTP Pipelining can improve browsing speeds, however because the feature is not supported by all servers you may experience problems on some sites with it enabled. I recommend setting this to True and only disabling it if you experience problems such as refused connections or unusual behavior on your commonly viewed sites.
network.http.pipelining.maxrequests [Integer] (8) - This setting determines the maximum number of requests to send when using the HTTP Pipelining feature (see above). The default is 4, and the maximum possible is 8 (higher values are ignored), while a value of 1 disables pipelining. I recommend setting this to 8. If you experience any problems with the Pipelining feature it is best to disable it altogether.
network.http.proxy.pipelining [Boolean] (True) - If set to True, this setting enables the HTTP Pipelining feature (see network.http.pipelining above) for proxy servers. This can improve browsing speeds, however because the feature is not supported by all proxies you may experience problems. I recommend setting this to True and only disabling it if you experience such problems as refused connections, longer page loading times, or unusual behavior.
network.prefetch-next [Boolean] (False) - This setting determines whether to use a Firefox feature called Link Prefetching to anticipate and load up in advance pages you might visit shortly. See the Neat Stuff & Conclusion section of this guide for a practical example, and why you may want to set this preference to False.
network.http.sendRefererHeader [Integer] - The Referer Header tells the server you are on details about which page you last came from with each new page request. This is used by many sites to not only track users for statistical purposes and to improve site design and content, but also to provide additional functionality. The default value of 2 sends this information as required; a value of 1 only sends this information for documents, not images; and a value of 0 disables it altogether. The default of 2 is recommended however if you disable this, note that some site features may not function correctly (e.g. you may be blocked from viewing certain content).
nglayout.initialpaint.delay [Integer] *Create - This setting determines how many milliseconds Firefox should wait before it starts to display the page contents. This brief delay allows Firefox to load and arrange the various page components as correctly as possible. The default is 250 milliseconds which isn't very long, but you can try setting this to a lower value or even 0 to see if it improves the responsive feel of Firefox at the expense of slightly longer load times. Some users report faster overall page load times with the default value or even higher, so experiment to see which value suits your browsing habits, and if in doubt do not create or alter this setting.
places.frecency.[type]VisitBonus [Integer] - As of Firefox 3, the Address Bar, also dubbed the Awesome Bar, provides much greater functionality. Part of this is the ability to provide a drop-down set of search results whenever a word is entered in the Address Bar. These results are based on a search through your bookmarks, history and tags, and the way in which they are ordered is based on a combination of both frequency of use, and recency of use - hence the term 'frecency'. The preferences starting with places.frecency contain the parameters used to calculate the weighting and prominence given to the search results. VisitBonus equates to the extra percentage bonus given to certain location types. While you can experiment with these to see if you can improve the order of search results based on your particular tastes, I recommend noting down the default values first before making any changes. New to Firefox 3
places.frecency.updateIdleTime [Integer] - Firefox undertakes the detailed calculation of frecency (see above) while your browser is idle. By default Firefox waits 1 minute (a value of 60000 milliseconds) before starting calculations; a value of 0 disables all frecency calculations (which is not recommended); and other values change the idle time before calculations start. New to Firefox 3
plugin.default_plugin_disabled [Boolean] - When viewing a web page which requires a Plugin (such as Flash), Firefox will prompt the user to install this plugin. If you don't ever want to see any such prompts, set this setting to False, however obviously this will cause confusion if you're not given any warning or prompt indicating why certain content isn't playing on a page.
print.use_global_printsettings [Boolean] - If set to True, Firefox will use the same printer settings you chose globally for every open Firefox window. If set to False, each open Firefox window can have a separate print setting applied to it.
privacy.popups.disable_from_plugins [Integer] - Some sites use scripts to circumvent the popup blocker and launch a popup window when you click on the page. If this preference is set to 0 it doesn't block any such popup windows; if set to 1 it limits the maximum of popups (based on the dom.popup_maximum setting - see above); and if set to 2 it blocks all popups from plugins (except for sites in your list of pop-up Exceptions under Options>Contents) - this is the default setting; if set to 3 blocks all popups regardless. The default of 2 is fine, but if you still can't get rid of certain script-based popups try 3 or use the NoScript extension covered in the Add-ons section of the guide.
privacy.popups.showBrowserMessage [Boolean] (False) - By default the first time Firefox blocks a popup (if the popup blocker is enabled) then it will ask you whether you want to display a message each time a popup is blocked. The answer you provide at that time sets the default for this setting, but you can change it at any time by editing this preference. For the sake of reducing annoyance I recommend you set this to False.
zoom.maxPercent [Integer] - Determines the maximum percentage by which a page can be zoomed in using Firefox 3's new full page zooming feature. The default is 300% however you can raise this value if you wish to zoom in even more on a page. You can also adjust the minimum zoom level with the zoom.minPercent preference, the default being 30%, and you can make this value even smaller to allow you to zoom out further if you wish. New to Firefox 3
That concludes the About:Config preferences list. The next page continues the advanced tweaking, covering UserChrome.css and UserContent.css tweaks.


