# Firefox Tips-n-Tricks / Tweaks / Secrets / Codes etc.



## Vishal Gupta (Jul 29, 2005)

Guys!
I hv started this thread to discuss anything related to *Firefox* browser.
U can share here its tweaks, secrets, themes, etc.
U can also ask problems, that u r facing with firefox.
Most of these tips hv been collected from Firefox Tips Page


----------



## Vishal Gupta (Jul 29, 2005)

If U type *about:config* in address bar of firefox, it will open its configuration page, that allows to change a lot of settings.

Here I'm presenting some settings, that can be configured.
These tweaks have been tested on high speed networks and cable, they might need to be tweaked for slower connections.

You can follow any of these two steps to config ur browser:

1) use the about:config screen which lets you add, modify or reset values or

2) manually add all of these hacks to the prefs.js.

*Option 1:*

Type *about:config* at the location/url bar, this will list all current preferences, and u can change the settings listed below.

*Option 2:*

->Exit out of the browser completely, cauz if u don't close the browser, it'll overrite the settings to default.
->find your *prefs.js* file (usually in *Drive:\Documents and Settings\USER_NAME\Application ->Data\Mozilla\Firefox\Profiles\...* directory in Windows XP),
->backup your prefs.js file,
->copy and paste the hacks listed below at the BOTTOM of the file,
->save the prefs.js file and restart your browser


```
<---- Begin copy selection Below this line ---->

// Performance
    // This will allow Firefox to maintain it GUI memory so that the browser window
    user_pref("config.trim_on_minimize", false);

    // Specify the amount of memory cache:
    // -1 = determine dynamically (default), 0 = none, n = memory capacity in kilobytes
    // If you have the memory to spare, enabling this will run things a little smoother
    user_pref("browser.cache.memory.capacity", 65536);  //<-- thus equal about 64 megs, drop down to less if you can't spare the RAM

    // Remove painting delay when loading pages
    user_pref("nglayout.initialpaint.delay", 0); // Default is 250

    user_pref("content.notify.ontimer", true); // Turn on timer-based reflow management

    user_pref("content.notify.interval", 100); // Sets the allowed time between reflows in microseconds

    // Set the number of reflows to do before waiting for the rest of the page to arrive
    user_pref("content.notify.backoffcount", 200);

    // Other Tweaks
    user_pref("content.max.tokenizing.time", 3000000);
    user_pref("content.maxtextrun", 8191);

    // Enable Improve pipelining:
    user_pref("network.http.pipelining", true);
    user_pref("network.http.proxy.pipelining", true);
    user_pref("network.http.pipelining.firstrequest", true); // Default is false
    user_pref("network.http.pipelining.maxrequests", 8); // Default is 4

    // Increase Multi-Threaded Downloading performance
    user_pref("network.http.max-connections", 96); // Default is 24 <-- Use this for modems
    user_pref("network.http.max-connections-per-server", 32); // Default is 8 <-- Use this for modems
    user_pref("network.http.max-persistent-connections-per-proxy", 24); // Default is 4 <-- Use this for modems
    user_pref("network.http.max-persistent-connections-per-server", 12); // Default is 2 <-- Use this for modems

    // Other Tweaks
    user_pref("network.dnsCacheExpiration", 86400);
    user_pref("network.dnsCacheEntries", 256);
    user_pref("network.ftp.idleConnectionTimeout", 60);
    user_pref("network.http.keep-alive.timeout", 30);

    user_pref("ui.submenuDelay", 0);

    user_pref("dom.disable_window_status_change", true);

    // Shows an error page instead of an error popup dialog, have been using this for a long time now
    // found this useful if you load multiple pages at the same the dialog box actually holds up the browser
    // using this will allow the other pages/elements to load for the rest of the pages
    user_pref("browser.xul.error_pages.enabled", true);
   
// Searching & Type Ahead
    // Change to normal Google search:
    user_pref("keyword.URL", "*google.com/search?btnG=Google+Search&q=");

    // Find As You Type Configuration:
    // Set this pref to false to disable Find As You Type:
    user_pref("accessibility.typeaheadfind", true);

    // If you set this pref to true, typing can automatically start Find As You Type.
    // If false (default), you must hit / (find text) or ' (find links) before your search.
    user_pref("accessibility.typeaheadfind.autostart", true);

    // Set this pref to false if you want Find As You Type to search normal text too:
    user_pref("accessibility.typeaheadfind.linksonly", false);

    // Set this pref to true if you require that the link starts with the entered text:
    user_pref("accessibility.typeaheadfind.startlinksonly", false);

    // This is the time in milliseconds for the Find As You Type to stop watching for keystrokes:
    user_pref("accessibility.typeaheadfind.timeout", 3000);

// User Interface
    // Enable Bookmark Icons (I love this feature)
    user_pref("browser.chrome.site_icons", true);
    user_pref("browser.chrome.favicons", true);
    user_pref("browser.chrome.load_toolbar_icons", 2);

    // Do not Reuse Active Mozilla Browser, create a new one for email links etc.
    user_pref("advanced.system.supportDDEExec", false);

    // Disable Smooth Scrolling (found it faster to have this off)
    user_pref("general.smoothScroll", false);

    // Allows for faster mouse scrolling
    user_pref("mousewheel.withnokey.numlines", 6);  //  Adjust this accordingly - Default = 1
    user_pref("mousewheel.withnokey.sysnumlines", false);  //  This must be set to false in order to read previous line

    user_pref("extensions.disabledObsolete", true);
   
    user_pref("browser.display.show_image_placeholders", true);

    // 1.0 Preview disables dynamic theme switching, this re-enables dynamic theme switching.
    user_pref("extensions.dss.enabled", true);
   
// Mail & News
    user_pref("mailnews.start_page.enabled", false);
   
    // always send messages in MIME format (both plain- and HTML-formatted)
    user_pref("mail.default_html_action", 3);

    // The follow two are disabled for security reasons
    user_pref("mailnews.message_display.allow.plugins", false);
    user_pref("javascript.allow.mailnews"),

    user_pref("alerts.totalOpenTime", 7000);

    // Disable this for performance and security issues when reading emails
    // Security issues?  Yes especially with zlib, jpeg, png and all kinds of new attacks coming out,
    // displaying images inline can no longer be taken for granted.  This only affects attached graphics.
    user_pref("mail.inline_attachments", false);
   
    user_pref("mailnews.show_send_progress", false);

// Security
    //  Just to make sure, disable windows shell: protocol
    user_pref("network.protocol-handler.external.shell", false);

    // Show full path for plugin file on about:plugins page
    // the full path was removed for security purposes, please keep that in mind
    // Note: showing full paths can be a security risk only use when debuging.
    user_pref("plugin.expose_full_path", false);

<---- End copy selection Above this line ---->
```


----------



## Vishal Gupta (Jul 29, 2005)

There are 3 files, that can be edited to configure Firefox!

*user.js*
    Used to change various preferences.
*userChrome.css*
    Used to change the appearance of the browser.
*userContent.css*
    Used to change the appearance of web pages. 

All these files are plain text files stored in your profile folder, and can be edited using a standard text editor, such as Notepad on Windows and gedit or kate on Linux.

*The Profile Folder*

The profile folder is where Firefox saves all your settings and refers to a location on your hard drive.

On Windows XP/2000, the path is usually

*%AppData%\Mozilla\Firefox\Profiles\xxxxxxxx.default\*, where xxxxxxxx is a random string of 3 characters. Just browse to *C:\Documents and Settings\[User Name]\Application Data\Mozilla\Firefox\Profiles\* and the rest should be obvious.

On Windows 95/98/Me, the path is usually *C:\WINDOWS\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default\*

On Linux, the path is usually *~/.mozilla/firefox/xxxxxxxx.default/*

On MacOS X, the path is usually *~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/*

Firefox is capable of handling more than one user and thus, more than one profile. The path examples above refers to the default profile that is automatically created when you start Firefox for the first time. You can manage any number of profiles by using the Profile Manager.

%AppData% is a shorthand for the Application Data path on Windows 2000/XP. To use it, click *Start > Run...*, enter *%AppData%* and press Enter. You will be taken to the "real" folder, which is normally *C:\Documents and Settings\[User Name]\Application Data*.

*user.js*

This is the main preferences file for Firefox and is located in you profile folder. The file does not exist by default, so you need to create it before you can start adding your preferences.

*userChrome.css*

This file sets the display rules for various elements in the Firefox user interface and is located in the sub-folder called chrome in your profile folder. As with user.js, this file does not exist by default, so you need to create it before you can start adding your preferences. There's actually an example file that exists by default, called "*userChrome-example.css*". Basically, you can just rename that file by removing the "*-example*" part.

*userContent.css*

This file sets the display rules for web content and is located in the sub-folder called chrome in your profile folder. As with user.js, this file does not exist by default, so you need to create it before you can start adding your preferences. As with userChrome.css, there is an example file that exists by default, called "*userContent-example.css*". Basically, you can just rename that file by removing the "*-example*" part.


----------



## Vishal Gupta (Jul 29, 2005)

To avoid getting timeout when viewing any web site in firefox:
Get this Mozilla Optimizer, it keeps the connection alive....

*www.softpedia.com/get/Tweak/Browser...Optimizer.shtml

*Mozilla Optimizer* improves the browsing speed in all browsers based on the
Gecko Rendering Engine (GRE) like *Mozilla, Phoenix, Mozilla Firebird and
Mozilla Firefox* as well as *Netscape 6 and Netscape 7*. All optimizations can
be applied manually, this tool simply automates this procedure!

U can also do the same manually, by adding following lines (replace if they already exist) in *prefs.js* file:


```
user_pref("nglayout.initialpaint.delay", 100);
user_pref("content.notify.ontimer", true);
user_pref("content.notify.interval", 100000);
user_pref("content.notify.backoffcount", 5);
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.max-connections", 32);
user_pref("network.http.max-connections-per-server", 8);
user_pref("network.http.max-persistent-connections-per-proxy", 4);
user_pref("network.http.max-persistent-connections-per-server", 2);
```


----------



## Vishal Gupta (Jul 29, 2005)

*Trick to Reveal More Tab/Window Options*

There are some hidden options for the Tabbed Browsing that will allow you to force links that open new windows to open in the current or a new tab. First, add the following code to your *user.js* file:


```
// Reveal more tab/window options:
  user_pref("browser.tabs.showSingleWindowModePrefs", true);
```

Restart Firefox and go to *Tools > Options...* (Edit > Preferences... under Linux and MacOS X), select *Advanced* and click on *Tabbed Browsing*.


----------



## Vishal Gupta (Jul 29, 2005)

1. *Remove the close button from the tab bar*

You can remove the close button from the tab bar by adding the following code to your *userChrome.css* file:


```
/* Remove the close button on the tab bar */
.tabs-closebutton {
   display: none !important;
}
```

You can still close tabs by right clicking on them and select Close Tab, or by pressing Ctrl+W



2. *Remove items from the main menu*

Some people like to place all their toolbar items on the same row as the menu. In order to save horizontal space, you can remove top menu items that you don't use. Add the following code to your *userChrome.css* file:


```
/* 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;
}
```


----------



## Vishal Gupta (Jul 29, 2005)

The tips that i'm giving now, are very useful:

1. *Change the cursor for links that open in new window*

This neat trick will change the mouse pointer when you hover it over links that will open a new window. Add the following code to your *userContent.css* file:


```
/* Change cursor for links that open in new window */
:link[target="_blank"], :visited[target="_blank"],
:link[target="_new"],   :visited[target="_new"] {
   cursor:  crosshair;
}
```



2. *Change the cursor for JavaScript links*

This tip will change the mouse pointer when you hover it over links that will perform a JavaScript command. Add the following code to your *userContent.css* file:


```
/* Change cursor for JavaScript links */
a[href^="javascript:"] {
   cursor: move;
}
```


----------



## Vishal Gupta (Jul 29, 2005)

*Some Advanced Tips for Tabbed Browsing*

*Home Page as tabs*


> Instead of just one web page as your homepage, you can make your home page several pages. Select your favorite web sites and open them in a set of tabbed windows. Go to Tools -> Options and select 'General'. Under 'Home Page', press the 'Use Current Pages' button. Now when you hit the Home button on the Navigation toolbar, your favorite web sites will load with just one click.



*Bookmarking a set of tabs*


> You can bookmark a set of tabs when selecting 'Bookmark This Page' or Ctrl+D Check the 'Bookmark all tabs in a folder' checkbox to store all the tabs in the current window into a Bookmark Folder.



*More shortcuts*


> While it's easy to select tabs with a mouse, you can also cycle through tabs using the keyboard: use Ctrl+PgUp (or Ctrl+Tab) and Ctrl+PgDn (or Shift+Ctrl+Tab). You can also select the first tab by pressing Ctrl+1, and so on up to the 9th tab with Ctrl+9. If you have a middle mouse button, click it on a tab to close the tab.


----------



## Vishal Gupta (Jul 30, 2005)

2 more gr8 tricks!  

*1)* We always backup our *Favorites* in Firefox, so that whenever we reinstall the browser we can safely restore them without ne problem. (_If u don't know how to backup favorites? Goto: *Bookmarks -> Manage Bookmarks...*, It'll open *Bookmarks Manager*. Then goto: *File -> Export...* & save them._)
Now come to the point.  
The thing is that whenever we reinstall firefox we hv to restore them by applying same process as we do 4 backing up them (use *Import* instead of *Export*). And one more thing we hv to also backup our current bookmarks when we r planning to reinstall the browser.
So the trick is that we can define our custom Bookmark path in firefox  , so that we don't need to import or export them.



> Type *about:config* in address bar of browser, right-click & create a new *String* value, named *browser.bookmarks.file* and set its value to the path where u hv backed up ur favorites. Now firefox always update it automatically whenever u add or delete ur bookmarks, so no need to continuously take backup.



*2)* Second trick is very useful. Many times u hv noticed that when u minimize the firefox windows & again restore it, it takes some time to restore. This trick reduces this delay.



> Same thing, type *about:config* in the address bar of firefox, right-click & create a new *Boolean* value, named *config.trim_on_minimize* & set its value to *false*. It'll prevent delays when restoring the window.



So ENJOY!!!


----------



## Vishal Gupta (Jul 30, 2005)

_Its for those members, that don't want to apply the tricks due to manual editing of some files...
So here I'm giving a list of some extensions, that do the same work automatically._

*Chromedit 0.1.1.1, Lets you edit the user files*



> Provides a means of editing the user files, i.e. userChrome.css, userContent.css, user.js without the need to find the profile directory.
> 
> D/l from here



*Configuration Mania 1.05.2005021901, More advanced configuration*



> Configuration Mania allows you easily to configure various hidden preferences and to force the extensions and the no-longer-required chromes uninstalled which has not uninstaller.
> 
> D/l from here




*Menu Editor 1.2, Customize application menus*



> Menu Editor is a browser extension that allows you to control application menus by rearranging items and hiding those you don't use.
> 
> *Screenshot:*
> *menueditor.mozdev.org/images/menueditprefs.png
> ...




*Compact Menu 1.7.2, Lets you to customise the menubar*



> Customiser for the menubar, which lets you cut the menubar down to the menus you use, and even reduce the space it takes up to a single menu button.
> 
> D/l from here



That's it...


----------



## Deep (Jul 30, 2005)

this article is also good: *www.sitepoint.com/article/firefox-secrets

Deep


----------

