Ten Mysteries of about:config

Move along, nothing to see here. Some Firefox preferences are just too technical for end users. Oh, you're a Linux Journal reader? Come on in.
Disable Scripting Limitations

It's possible for a Web page to implement a denial-of-service attack on the browser user. All you need is a Web page that runs a heap of JavaScript in an infinite busy loop. Firefox can't accept user input when such intensive processing is going on. This integer preference causes script execution to halt if it goes on too long. The units are seconds, and the default is 5:

dom.max_script_run_time

You might have Firefox set up to do some tricky Web spidering. You might have it acting as a bot or running continuously as an unattended console. In any of those cases, set this preference to -1, and Web page scripts run forever unmolested.

The use of various asynchronous mechanisms, such as setTimeout(), support long scripting timelines in a normal Web page. There's no need for preference changes to support such things.

Disable Favicons and Site Icons

In the Firefox browser, a tab title, Location Bar URL or displayed bookmark can acquire a small image (an icon), which is displayed to its left. Usually it contains a brand mark for the site of the currently displayed Web page. You might not want this to happen. It makes your bookmarks file bigger, and (especially if you're on dial-up) it causes an extra HTTP request when the page first is visited. That request fetches the icon for display. These two Boolean preferences, both with a default of true, can be set to false to disable those fetches and the subsequent icon display:

browser.chrome.site_icons
browser.chrome.favicons

Set either one to false, and these icons are ignored. Bookmarks get the standard bookmarks icon, and elsewhere no icon at all appears.

You might ask, “Why are there two preferences?” Part of the reason is because these icons can be specified in two ways. You can put a 16x16 pixel Microsoft Windows ICO format icon at this URL: http://www.example.com/favicon.ico.

That icon will do for all pages on that site and is officially a Favorites Icon or favicon, to use Microsoft's term. Alternately, you can add an icon per page, using a <link> tag and any 16x16 ICO URL, like this:


<link rel="SHORTCUT ICON" href="/images/mybrand.ico" />

For some historical reason, that per-page use is called a Site Icon.

The other reason for two preferences has to do with parallel development streams in the Mozilla Project, the mess that is bookmark file formats and a shortage of time for trivial cleanup tasks. We're looking under the hood, remember.

Tune Up the Rendering Engine

If you have a drop of graphics programming in your blood, you might spare a kind thought for L. David Baron, Robert O'Callahan and company—the core developers of the Gecko rendering engine inside Firefox. Displaying a Web page is a fiendish compromise between standards, performance and subjective user perceptions. One of the most difficult constraints that Web pages impose is the need for incremental display. Show me the Web page as it arrives, not all at once at the end. This means constantly reflowing the displayed elements, which may be delivered out of order (a problem word processors don't have). Worse, such documents nearly always are network-delivered with unreliable timing.

To see the difficulty of this job, visit an image-intense Web site such as gamespot.com. Over broadband, the loading page jumps around in an agony of layout updates while chunky content is dumped into the browser in no particular order. On dial-up, the process is slower and more familiar, but the amount of layout labour is even larger, because there's more time to adjust each received fragment of page. Figure 2 shows the image-heavy GameSpot site, rendered while the images are still coming in.

Figure 2. Close-up of a half-received Web site, jumping around as Firefox updates the layout.

Given this kind of problem, you can imagine, therefore, that all kinds of hidden tuning preferences are available—if you know where to find them. This isn't a tuning workshop, so here are two of the more interesting ones.

It's rare to want to tune down Firefox. (You should buy your nice mother a better computer.) It's more likely that you've got lots of CPU and video grunt and want to use it. You probably click the mouse more than 2,000 times a day. Theoretically, you can shave a quarter of a second off your response time—that's an extra coffee break a day—with this integer preference:

nglayout.initialpaint.delay

Set this to 0 (zero) milliseconds. It's set to 250 by default. When a Web page starts to trickle in to the browser, Firefox normally waits a bit after it has organised the page fragments in memory. It makes sense to bunch up the first few bits of content before attempting to show them. If you've got a quick eye, though, you can make it show what it's got ready straight away.

Similarly, Firefox buffers up the incoming raw network content before it bothers to break those bytes down into something ready for display. That's another chunking process that saves the CPU but slows the output on a fast machine. Set this integer preference to, say, 5,000 (microseconds), and incoming network bytes are pushed to the display system much more quickly:

content.notify.interval

Doing so, however, makes Firefox work very hard scheduling updates in response to every drop of content. If you lower this value too much, that extra work merely results in the incoming data buffering further back in the dataflow—perhaps behind a socket in the kernel—while Firefox thrashes around trying to complete a whole display update for every trivial character of text that appears. Lower the preference a bit at a time, and watch the CPU with top(1), perhaps.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

browser.link.open_newwindow.restriction

Anonymous's picture

How should that be set?

There are not a few sites that seem to find their way past my "Open links in new tabs" or even (as well as) the GreaseMonkey script "killblank", the latter of which in my opinion needs some upgrading not to mention beefing up.

But back to the idea of an about:config/user.js tweak. I see this third setting in the former, and its entry details read "default" for Status, "integer" for Type, and "0" for Value.

Is there another value that will better ensure all links clicked on open 'uniformly' in new tabs or windows? Or do I expect too much -- as I often do -- from the codemeisters of Mozilla.org?

BZT

Not expecting too much this

Anonymous's picture

Not expecting too much this time.

http://kb.mozillazine.org/Browser.link.open_newwindow.restriction

Set it to 3 and it obeys browser.link.open_newwindow, whatever you may have it set for.

Mozilla Knowledge Base:

This includes:
* All links with target="_blank".
* JavaScript calls to window.open() without the "features" parameter (3rd parameter).
This does not include:
* JavaScript calls to window.open() with the "features" parameter (3rd parameter).

BZT

adding new variables

olegtaras's picture

I wanted to add there general.useragent.override;Opera/9.25 (Windows NT 6.0; U; en)

Is there any way to save it for future sessions?

Great article

Anonymous's picture

I have used konqueror in the past and the nice thing it would do with the e-mail link button is it would put the title of the page in the subject line and a link in the e-mail already, I am trying to get mozilla to pull up k-mail and do the same, but I can only convince it to pull up a completly blank compose e-mail screen. I am using

network.protocol-handler.app.mailto
with a value of

/usr/bin/kmail

anyone have any Ideas?

about:config

andrey's picture

rare article as far as i can tell . its hard for newbie like me to find much info about:) about:config . but my question is do they apply to seamonkey as well. thank you very much for taking your time to reply sincerly andrey

about: - Plugins

Rentner B.'s picture

Nigel, yes you are right about this features - but I really prefer a right-click-interface, that my extension gives me to change all the important switches in my Firefox 8-)

re:about: - Plugins

Jack Syskowski's picture

Don*t leave us in the dark - what plugin are you talking about ???

re:about: - Plugins

Rentner B.'s picture

Oh, sorry - I use the WebDeveloper-Plugin from http://chrispederick.com/work/webdeveloper/ - excellent tool.

Nice Idea

Wahyu's picture

This is nice idea to tune Firefox coz standard delivery of Firefox is slower.

Fasterfox

Steve-O's picture

Check out the Fasterfox extension: Fasterfox - Performance and network tweaks for firefox

It is similar to the Network Tweak extension but with a several additional options.

Re: Fasterfox

Segundamano's picture

Hi,

I didn't know about this utility but I tried it and it's going very quickly my firefox browser.

It has a link prefetch that download pages before you click it. It has also a lot of options to tweak and additionaly a popup blocker.

Thanks for the link,
Segundamano.

extensions

Anonymous's picture

the tweak network settings extension is the most fantabulous extension ever made. you can increase the max active connections and turn on pipelining.

Though the extension automate

Anonymous's picture

Though the extension automates the process, I'd rather use the guide at http://www.tweakfactor.com/articles/tweaks/firefoxtweak/4.html and do it manually. Besides, you only use the extension once and then it just sits there doing nothing.

Over-Optimizing ...

George-F.'s picture

All this tweaks are very, very techie - but to be honest, except of the User-Agent-Changer, I didnt really needed them. By default, Firefox is configured very well.

Typo in pref name

Gerv's picture

The pref is called signed.applets.codebase_principal_support (note the spelling of "principal").

See http://www.mozilla.org/projects/security/components/signed-scripts.html for confirmation.

A principal is the first, highest or most important thing.
A principle is a basic truth, law or assumption.

Don't forget about extensions

M ODonnell's picture

Don't forget that there's a treasure-trove of cool hacks and such to be found by following Tools->Extensions and then "Get More Extensions" at the bottom of that newly opened window. Many of the shortcomings mentioned here are handled very nicely by the various extensions. For example: check out the Advanced Preferences Editor...

--MO'D

Open a target="_blank" href in a new tab

Morten Sickel's picture

I am switching between firefox, opera and konqueror. One thing that really annoys me with firefox is that when I am opening an href with target="_blank", then it comes in a new window rather than a tab in the existing window. I would guess that there are some settings in about:config that can alter this, but it's not easy to find. Anybody who would like to share som knowledge on this?

Morten

(Yes, I know I can use button-2 to open it in a new tab, but that opens all links in new tabs, I would like to have the same behaviour as the standard in opera and konqueror)

href in new tab

Anonymous's picture

So use opera or konquror
picky, picky, picky

Jack

Where is the 'force links that open new windows...'

Morten Sickel's picture

Commenting on my own post, well...

Through a closer look through the firefox help file, I found the option 'Force links that open new windows to open in' option. But I cannot see it in my options window... any clue?

Me again..

It's hidden

Steven's picture

Go to about:config and change the value browser.tabs.showSingleWindowModePrefs to true. The option will now appear in your preferences dialog (with the other tabbed browsing options).

You should really take a look

Jedai's picture

You should really take a look at the extensions : Tabbrowser Preferences do what you ask easily, and much more ! :D

--
Jedaï

These two lines can be added

Anonymous's picture

These two lines can be added to user.js. More target disabling optionts will be available.

// Force external links to open in new tab instead of window
user_pref("browser.link.open_external", 3);

// Force links to open in tab instead of windows
user_pref("browser.link.open_newwindow", 3);

Thanks!

Morten Sickel's picture

Now I am a even more happy firefox user!

M.

The real mystery

Anonymous's picture

The real is mystery is still:

Why does mozila-firefox connects to google (and even shows
me a cookie dialog for cookies from google), before showing
the about:config site when I enter about:config in the address
bar?

network.prefetch-next [Boolean]

Windows User's picture

http://www.mozilla.org/projects/netlib/Link_Prefetching_FAQ.html

read this.

network.prefetch-next [Boolean] (False) - This setting determines whether to use a new Firefox feature called Link Prefetching. See the Neat Stuff & Conclusion section for a practical example, and why you should set this preference to False.
[from http://www.tweakguides.com/Firefox_9.html ]

Re: The real mystery

Anonymous's picture

It doesn't do that here. Must be some extension you have installed.

mozilla

Anonymous's picture

If like me you still have phone line access with a time limit and you prefer to save this and read it off line, you now have to disable javascript in Mozilla to do so.

I have no web access on one c

fci's picture

I have no web access on one computer so when I am trying to view certain HTML files it has issues(ones that I did Save As "Web Page, complete" with from firefox). so it's not just the dialup people.

You really should get DSL. T

Anonymous's picture

You really should get DSL. Trust me, once you get it you will never know how you lived without it.

You should really catch a clue

Anonymous's picture

You should really catch a clue. Trust me, once you catch a clue you will never know how you lived without it.

Believe it or not huge portions of the country don't have DSL available. Some people can't get DSL or cable.

how provincial

Anonymous's picture

To say nothing of the world...

"Believe it or not huge porti

Anonymous's picture

"Believe it or not huge portions of the country don't have DSL available. Some people can't get DSL or cable."

Yeah, but those people/areas suck and no one cares about them

phone line/dsl

Anonymous's picture

Your comment, "Yeah, but those people/areas suck and no one cares about them" was very good.....FOR ME TO POOP ON!

DUMBA$$

They do suck, and voted for B

Anonymous's picture

They do suck, and voted for Bush

Get over it already. Or move

Anonymous's picture

Get over it already. Or move to France with Johnny Depp or Canada. We don't want you. The Best Man Won. Another bajillion recounts won't make a difference. Get a life, and get out of mine.

FWIW, I'm on a cablemodem in a tiny little 'red county' town in North Carolina. And I still think bandwidth should not be wasted by fluff.

What a bunch of nationalist b

Anonymous's picture

What a bunch of nationalist bullshit.

it's funny and true

Anonymous's picture

it's funny and true

Thax this was really useful b

Mike's picture

Thax this was really useful but for the invisible settings you can click add and it deals with it (adding Tbird I've been trying to get it to work for a while).

Amazing how quickly it goes stuff get political oh well

4 more years!!

Madonna is also another commi

Bill C.'s picture

Madonna is also another commie loving pig! all you anti-bush
morons can shove it!

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix