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.
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.
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.
Web pages often use CSS (Cascading Style Sheets) to define basic elements such as what color hyperlinks are, the size and type of fonts used to display text in various parts of the page, and so forth. The files UserChrome.css and UserContent.css are described in the Customizing Firefox section, but essentially they work on the same theory - they define the basic elements of the user interface and web layout presented by Firefox. UserChrome.css can be used to customize various elements of the Firefox user interface, while UserContent.css can be used to customize the appearance of web pages displayed within Firefox.
By default neither of these files exist, and must be created in the \chrome subdirectory of your relevant Profile folder. For instructions on creating these files see the Customizing Firefox section of this guide. Alternatively you can just rename the UserChrome-example.css and/or UserContent-example.css files under that directory by removing the -example portion of the name.
These files can be edited using a text editor such as Windows Notepad. Note that you can find a more detailed list of these types of tweaks at sites like Mozilla Firefox Tips & Tweaks. Alternatively, you can find yourself a good CSS Tutorial and learn how to generate and manipulate your very own CSS code to create the perfect customizations to suit your needs. I don't recommend editing CSS files unless you are at least familiar with how CSS works.
Below are a few useful tweaks which you can copy and paste into the relevant CSS file to enable different functionality:
UserChrome.css
Use a Custom Background Image for Toolbars
/* Use a background image for the toolbars:
(Substitute your image file for background.gif) */
menubar, toolbox, toolbar, .tabbrowser-tabs {
background-image: url("background.gif") !important;
background-color: none !important; }
Note the image must be in .GIF format, and be placed in the same directory as the UserChrome.css file for this tip to work.
Change Color of Tabs
/* Change color of active tab */
tab{ -moz-appearance: none !important; } tab[selected="true"] {
background-color: rgb(222,218,210) !important;
color: black !important; }
/* Change color of normal tabs */
tab:not([selected="true"]) {
background-color: rgb(200,196,188) !important;
color: gray !important; }
Note if you want to further change the colors used, simply edit the values shown in the rgb and color: lines. To determine new RGB values, try this RGB Color Chart. For the color values, use common words like white, black, blue etc.
Remove Close Button from Tab Bar
/* Remove the close button on the tab bar */
.tabs-closebutton-box { display: none !important; }
Remove Firefox Menu Items
/* Remove the Go and Help menus
(These are just examples. Try changing "Go" to "Edit" or "Bookmarks") */
menu[label="Go"], menu[label="Help"] {
display: none !important; }
Note that you can remove any menu items you want by inserting their names (File, Edit, View, Go, Bookmarks, Tools or Help) in place of "Go" or "Help" above. You can also remove more than two menus items by adding more instances of menu[label=""]after the existing menu commands, as long as each is separated by a comma followed by a space.
Display Sidebar on the Right
/* Place the sidebar on the right edge of the window */
window > hbox {
direction:rtl; } window > hbox > * {
direction:ltr; }
If you use the Sidebar (under the View>Sidebar menu in Firefox), you can switch it from displaying on the left to the right side of the screen.
Increase Search Bar Width
/* Make the Search box flex wider
(in this case 400 pixels wide) */
#search-container, #searchbar {
-moz-box-flex: 400 !important; }
If you use the Web Search box in Firefox, you can increase its width to any value you wish (in pixels) by editing the value shown after -moz-box-flex setting above.
UserContent.css
Change Cursor for Links Which Open in New Windows
/* Change cursor for links that open in new window */
:link[target="_blank"], :visited[target="_blank"],
:link[target="_new"], :visited[target="_new"] {
cursor: crosshair; }
This changes your default cursor to a crosshair whenever you hover over a link which opens in a new window by default.
Block Flash Animations & Advertisements
/* Block Flash, using a placeholder you can click to unblock a desired Flash animation. */
/* Doesn't work for embed tags, which are less common than object tags - bug 190970 */
object[classid$=":D27CDB6E-AE6D-11cf-96B8-444553540000"],
object[codebase*="swflash.cab"] {
-moz-binding: url("http://www.cs.hmc.edu/~jruderma/flash.xml#obj"); }
This replaces all Flash advertising and Flash-based elements with a 'Click to Play' prompt. You can then play the flash animation if you wish, or you can continue to ignore it on a web page.
Remove All Embedded Content
/* Nuke all embedded objects, thanks to bertilow on Slashdot */
object, embed { display: none; }
This is a very simple but very powerful tweak which removes completely all embedded content, usually the more annoying flash, shockwave animations and so forth. The combination of this tweak and the one above can remove much of the flashing elements of web pages.
As you can see, there is no end to the possibilities of tweaking Firefox's interface and web display capabilities. I strongly recommend that if you're interested in having a browser completely suited to your needs you try to learn some CSS, as it's not very difficult to pick up the basics.
The next page covers a range of Extensions and Themes (Add-ons) which can perform many of the tweaks outlined above, and plenty more. These are ready-made plugins for Firefox which add additional functionality and have even greater tweaking potential, particularly for those who don't wish to tweak Firefox manually.