Firefox Tweak Guide

[Page 9] Advanced Tweaking (Pt.2)



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 (the default), it will use less memory when minimized, which is useful for systems with low RAM and multiple open applications. However if set to false it will speed up minimizing/maximizing Firefox, as it will not constantly attempt to reduce and reclaim RAM, and this can also increase stability - thus I recommend a setting of false 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 2 open legitimate popups at most on their screen at once. If you find legitimate popups being blocked, raise this value again, but never beyond 20.


extensions.checkCompatibility [Boolean] *Create - If this option is set to true, you will be able to install and use Extensions which are formally incompatible with Firefox 2.0. In some cases this may not cause any problems, however in a large number of cases there may be odd behavior or crashes. Use this setting with caution and backup your profile before installing and using an incompatible extension.


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.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 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.


extensions.update.interval [Integer] - If you've selected to check regularly for Extension updates, this setting determines how often to check for such updates. The default is once a day (86400 seconds) but you can increase or decrease the amount depending on whether the Extensions you currently have installed are being updated more or less regularly by the author(s).


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.


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 results of the 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 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, set this to false.


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).


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. I personally prefer to have this set to False.


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 selected as well. For example double-clicking on the word (default) in Firefox will either just select default or (default) based on this setting.


network.cookie.cookieBehavior [Integer] (1) - This setting determines the way Firefox handles cookies. The default is 0 which allows all cookies, unless you've set your in-browser settings to block all cookies - a value of 2 for this setting. However you can change this setting to value of 1 to only allow cookies from the originating site, blocking third party (usually advertising) cookies, which should work best for most people.


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 (resolved).


network.http.max-connections [Integer] (48) - This setting determines how many simultaneous HTTP connections can be made by Firefox. The default is already 24, however for most people on moderate to fast 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] (16) - This setting determines how many simultaneous connections can be made to a single server. The default is 8, however you can increase the value for broadband connections to something like 16 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 DDoS (Distributed Denial of Service) attack by some servers and your connection may be refused or even permanently banned. I strongly suggest that you keep this value sane. Simply increasing the number of connections to a server doesn't necessarily make things any faster, and indeed if every Firefox user does this then overall most sites will become slower.


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 4, however you can attempt a higher value such as 8 to improve browser speed. 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 is 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 and proxies. This 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.


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 and only reducing it back to 4 if you experience any problems with the Pipelining feature.


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. Note that network.http.proxy.keep-alive must be set to true for this to work.


network.http.redirection-limit [Integer] - This setting determines how many consecutive redirects Firefox will accept. For example if you click on an outdated link to a particular site, once arriving there you may be automatically redirected to the new address for that site. That would be one redirect. If you want to block sites which spam multiple automatic redirects (usually malicious sites), you can lower this value to 10 for example, or even less. I don't recommend disabling automatic redirection (i.e setting this to 0) as many sites use legitimate redirects, such as most Internet forums after you have posted a message. I also don't recommend raising this limit above 20.


network.prefetch-next [Boolean] (False) - This setting determines whether to use a Firefox feature called Link Prefetching. See the Neat Stuff & Conclusion section for a practical example, and why you may want to set this preference to False.


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 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.


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.


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 Allowed Sites under the Options>Contents popup Exceptions) - this is the default setting; if set to 3 blocks all popups regardless.


privacy.popups.showBrowserMessage [Boolean] (False) - By default the first time Firefox blocks a popup (if the popup blocker is enabled in Tools>Options>Web Features) 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.



That concludes the About:Config preferences list. The next page continues the advanced tweaking, covering UserChrome.css and UserContent.css tweaks.