This page is my collection of Firefox usability fixes (or “stuff I do when I install Firefox or Iceweasel on a new system”).

Philosophy

I’m not really a grumpy person. I usually approach user interface changes with open mind, and I think that Firefox team has generally made good calls on improving the Firefox user experience as a whole. There are some cases where I think effort isn’t being made - for example, I’m jealous of Firefox for Android’s home/new tab screen, and wish Firefox for Desktop’s new tab screen was anywhere near that functional. Still, if I had compiled this list earlier, I’m sure it had been a lot longer than it is now - and I’m quite happy that I can actually tweak Firefox’s usability as an application to my acceptable levels without needing extensions. The extensions I need are usually for web usability, security and services.

about:config

The about:config page lets you change all available Firefox settings - even ones that don’t have an equivalent in the user-visible Firefox settings. Some of the below settings don’t show up by default - you need to add them manually and choose the correct type (“true”/”false” values are boolean type, numeric ones are integer type).

Don’t quit Firefox when closing last tab

browser.tabs.closeWindowWithLastTab = false

I tend to use the Ctrl+W keyboard shortcut to close tabs. Sometimes, I hit it overly eagerly, but that’s no biggie - Shift+Ctrl+W will restore closed tabs easily. But if the last tab is open, Ctrl+W will close the browser window, and because I usually just use one window, it closes Firefox completely. Restarting Firefox takes time. (Well, strictly speaking, shutting down Firefox takes time and telling Firefox to restart while it’s shutting down is futile). So, I prefer it not to close the window accidentally.

New tab shenanigans disabled… for now?

You technically don’t need to do this through about:config - you can just click the gear icon on new tab page.

browser.newtabpage.enabled = false
browser.newtabpage.enhanced = false

Firefox for Android’s home screen is bloody incredible, and I hope we see similar things on desktop version. On Desktop, the speed dial page is… less than impressive. If you could actually edit what pages you have there, this would be worth using. Even worse, now we have “enhanced” page with sponsored garbage. Instead, I prefer an entirely blank tab page.

Full URLs on URL bar, with no formatting

browser.urlbar.formatting.enabled = false
browser.urlbar.trimURLs = false

Someone thought it was a great idea to make the more relevant parts of the URLs grayed out. I’m not sure of the actual history of decisionmaking here, but I think this strange idea originated with MSIE. I think it speaks a lot about the education levels of whoever came up with this: try sitting on a lecture where the lecturer shows some interesting web pages and never puts the URLs on lecture material or blackboard. Projectors straight up don’t like light gray on white. Even in front row, you’re lucky to catch the domain name. Also, I need new glasses.

Annoyingly, I’ve yet to figure out how to disable this behaviour on Firefox for Android - the same about:config key doesn’t work!

Trimming the protocol off of the URLs isn’t really that big of an issue either way, but I decided to disable it anyway. There’s no real reason to trim the address part, or no reason not to. But because I’m one of the boring squares who like web standards, the real correct format of URLs is whatever the hell Sir Tim came up with, and that’s the lot we’re thrown in.

Clear the list of downloaded files on exit

browser.download.manager.retention = 1

I rarely need to access the downloaded file list in long term, but I’m also terrible at cleaning up this list manually, so, eh.

userChrome.css

The chrome/userChrome.css file can be created in your Firefox profile directory to customise the look of the browser. You can use a text editor to create the file.

Alternatively, you can use Stylish.

Monospace URL bar

I prefer to use monospace programming fonts (such as Anonymous Pro) for the URL bar, because this is one place where clear distinction between similar-looking letters is very important.

/* Use a monospace font for URL bar */
#urlbar {
    font-family: "Anonymous Pro", "Inconsolata", "Liberation Mono", "Cousine", monospace;
}

Optimally, I’d want to explicitly tell Firefox not to antialias the text (Anonymous Pro has appropriate bitmap glyphs), but there’s currently no way to force that via CSS (and probably won’t be).