Mozilla
Summary
These patches are for the Mozilla web browser. Specifically, these are against the browser component, called Firefox (this week, anyway).
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.
Hacks
These patches apply with a small offset to the latest Firefox 1.5 and 2.0 versions, as well as against 1.0 if anybody's still using that. They may apply to earlier Firebird or Phoenix versions, and may apply to mainline Mozilla as well. But I wouldn't guarantee it.
- bypasscache.patch
This patch causes the browser to bypass its internal DNS cache for browsing lookups. It doesn't affect proxy or LDAP server lookups, and there's probably some other entry points I've missed. And it seems like you have to browse over to another site, before it'll pick up new DNS info for a site you're already on (i.e., just hitting Reload won't work). But it's a darn sight better than having to close all the windows and tabs you have open and lose all your context, just to catch up to changed DNS.
As an alternative, you may want to try:
- bypasscache_alt.patch
This is an alternative to bypasscache.patch above. This disables reading the cache altogether at a lower level. That means you won't read the host cache for anything. It's a bit more draconian. But then, you want to be draconian with a project called Mozilla. :-)
I have older versions of the first and second patches if you really need to patch version 0.8. But if you do, seriously; get a life.
Non-hacks
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.
Window raising
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!