Mozilla is a nifty browser in all its incarnations, but suffers from a number of significant defects. Primarily, it's a huge, enormous, elephantine, bloated, slow monster. But then, all web browsers are. There's nothing to be done about that.
However, there's a number of other behaviors in it that I find annoying as all hell. Many of them, though, are probably things other people consider to be features. So, I just keep local patches for them.
Surely, though, I'm not the only person irritated by some of these "features". Share and enjoy.
Keeping up with the new bi-hourly releases is such an exhausting task...
- bypasscache.38.patch (still applies automatically with minor offset as of 52)
This dikes out the browser's internal DNS cache with a vengeance. It's an incredibly irritating misfeature. My DNS server already does caching, and lets me flush out names that need to be reset before their TTL expires. The browser doesn't, and having to shut it down and reload a hundred tabs just to change a DNS entry is retarded.
Looking backward, I have a version for 35-37 28-34, 25-27, 20-24, 17, 18, and 19, 16, 15, 13 and 14, 11 and 12, 8, 9, and 10, 5, 6, and 7, 4.0.x, and for 3.5.x and 3.6.x. I also still have an older version of the patch for 3.0.x.
For earlier versions, I had two variants, one like the above for 2.0.x, 1.5.x, or 1.0 and an even older one for 0.8, but if you need to patch a pre-1.0 (or pre-2.0, or even pre-3.0 at this point) version of Firefox, you've got issues. For the earlier versions, there's also a milder variant of the patch for 2.0.x, 1.5.x, or 1.0 and 0.8, which shuts off the caching at a slightly higher level and doesn't quite reach as far. But I gave up on maintaining mild measures. This behavior deserves to have the crap beaten out of it back of the woodshed.
Then there's stuff that, after laborious searching, I found that I didn't need to hack; I could just flip totally undocumented options instead.
I hate how Mozilla likes to keep raising its own window when I do things like open new tabs, etc. If I wanted to raise you, I've got mouse functions on the window, mouse functions on the icon manager, and keyboard shortcuts. If I don't explicitly raise you, stay the heck where you are. I spent a while digging around to find a way to disable this, and found that I'd have to hack code in each of the possible widget sets (gtk, gtk2, cocoa, xlib, etc). Ugly.
However, I came across the undocumented config parameter "mozilla.widget.raise-on-setfocus" while poking around the source. Manually adding a line to your prefs.js setting its value to 'false' seems to do the trick. One less thing to hack!