Switching from Safari to Firefox

I finally changed over from Safari to Firefox, with the release of 1.0.3. Greasemonkey's cross-domain XMLHTTPRequest and Firefox's Mycroft search plugins were the main reasons (though I still miss PithHelmet, the Services menu and the keyboard shortcut for directly adding bookmarks). The other reason was that I'd tried the nightly builds of Firefox 1.1 and could see that the broken middle-click action on OS X will be fixed in that version.

Jon Hicks had done some hacking to make Firefox tabs look better on the Mac, and there are some other settings that can be tweaked to make things look and work a bit smoother. Here's my list of extensions, userChrome.css file and prefs.js file (the important bits, anyway)...

Extensions

userChrome.css (contains browser interface stylesheet modifications)


@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
menubar > menu, menupopup > * {
font-weight: normal !important;
font-size: 8pt !important;
}
#urlbar, #status-bar, #bookmark-window statusbar{
font-weight: normal !important;
font-size: 8pt !important;
}
#urlbar-progressmeter > .progress-bar {
background-color: #ddd !important
}
.bookmark-item > .toolbarbutton-text, .tab-text {
font-weight: normal !important;
font-size: 8pt !important;
}
.searchbar-textbox {
font-weight: normal !important;
font-size: 8pt !important;
width: 32em !important;
background: white !important;
border: 1px solid #444 !important;
}
tabbrowser .tab-image-middle {
display: block !important;
position: relative !important;
overflow: hidden !important;
}
tabbrowser .tab-text {
display: block !important;
position: absolute !important;
top: 3px !important;
left: 17px !important;
}
tabbrowser .tab-icon {
display: none !important;
}
tabbrowser .tabs-closebutton, tabbrowser .tabx-tab-close-button {
position: absolute !important;
left: 0px !important;
top: 3px !important;
padding-bottom: 0 !important;
}

prefs.js (contains changes made in about:config)


user_pref("browser.download.manager.closeWhenDone", true);
user_pref("browser.link.open_external", 3);
user_pref("browser.link.open_newwindow", 3);
user_pref("browser.startup.homepage", "about:blank");
user_pref("browser.tabs.opentabfor.windowopen", true);
user_pref("browser.tabs.showSingleWindowModePrefs", true);
user_pref("browser.urlbar.autoFill", true);
user_pref("browser.urlbar.clickSelectsAll", false);
user_pref("browser.xul.error_pages.enabled", true);
user_pref("dom.disable_window_flip", true);
user_pref("dom.disable_window_move_resize", true);
user_pref("dom.event.contextmenu.enabled", false);
user_pref("editor.singleLine.pasteNewlines", 3);
user_pref("extensions.tabx.hideTabbarCloseButton", true);
user_pref("extensions.tabx.useThemeCloseIcon", true);
user_pref("font.name.serif.x-western", "Lucida Grande");
user_pref("font.size.variable.x-western", 14);
user_pref("mousewheel.withnokey.numlines", 3);
user_pref("mousewheel.withnokey.sysnumlines", false);
user_pref("privacy.popups.showBrowserMessage", false);

userContent.css (contains web page stylesheet modifications)

In this case, the stylesheet changes fix the form widgets. Here's the whole file.