| Size: 11441 Comment:  | Size: 11650 Comment: Font size preferences for Android | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 136: | Line 136: | 
| || extensions.nosquint.exceptions || *.sourceforge.net *.mozilla.org google.com/contacts google.com/reader *.google.[*] */~* google.com/finance *.amazon.com|| Annoying tendency to get overridden… || | || extensions.nosquint.exceptions || *.sourceforge.net *.mozilla.org google.com/contacts google.com/reader *.google.[*] */~* google.com/finance *.amazon.com *.samat.org *.animevivo.com || Annoying tendency to get overridden… || | 
| Line 213: | Line 213: | 
| === Font size adjustments == 1. Go to about:config 2. Set font.minimum-size.x-unicode and font.minimum-size.x-western to 14 3. Set font.size.inflation.minTwips to "140" | 
One of the reasons I use Mozilla Firefox is its huge universe of extensions, scripts, styles, and other add-ons which can make it behave the way you want it to. I've customized my Firefox installation pretty extensively.
This list is current as of Firefox 21.0.
Extensions
Customization
- Scriptish, what I've started using as a replacement for Greasemonkey 
- Stylish and Stylish Sync 
Web development
- Google's Page Speed: I previously used Yahoo's YSlow, but switched because Page Speed is open-source. Functionality is mostly equivalent, and I honestly don't use the extension enough to notice the differences. 
- Web Developer: has bugs that slows down Firefox significantly when you've a lot of tabs. Disabled, though still useful. 
Other stuff
Privacy
- PrivacyChoice TrackerBlock, which should be installed from PrivacyChoice 
UI and Behavior
- Aaapptabs: Hide back & forward buttons, URL bars when using App Tabs. 
- Open In Chrome: adds menu item for opening current page in Google Chrome 
- Remember Passwords: force Firefox to remember passwords for Websites that otherwise disable it 
KDE integration add-ons
- Oxygen KDE for styling Firefox a little bit better w/ KDE's Oxygen 
- xclear adds a clear button to URL and search fields, ala Qt/KDE text fields 
Experimental
- Suspend background tabs suspends timers, etc in unused background tabs. 
Mozilla/Mozilla Labs
Older stuff
Extensions that I don't use anymore.
- BetterPrivacy removes Flash LSOs and other tracking cookies 
- Grab and Drag: for my tablet PC pipe dream. 
- Operator: slow (difficult for an extension to parse DOM for microformats). 
- Collusion
- Facebook Blocker
Adblock Plus
My exceptions:
@@||duckduckgo.com^$document
and:
- Antisocial
- Adversity
Preferences
user.js settings I use:
| Setting | Value | Rationale | 
| browser.backspace_action | 1 | Bind backspace to scroll up a page | 
| browser.display.normal_lineheight_calc_control | 1 | Not exactly sure what this does, but fixes some line-height/font rendering problems | 
| browser.fullscreen.autohide | false | Prevent tab/URL bar from auto-hiding in full-screen mode | 
| browser.safebrowsing.enabled | false | Disable Safe Browsing and malware checking (don't care for either on Linux) | 
| browser.safebrowsing.malware.enabled | false | |
| browser.sessionstore.restore_on_demand | true | Restore tabs on demand (Firefox 8 and later) | 
| browser.ssl_override_behavior | 2 | Turn off annoying SSL certificate behavior | 
| browser.xul.error_pages.expert_bad_cert | true | |
| image.animation_mode | once | Animated GIFs only animate once | 
| layout.css.dpi | 0 | Use system-reported DPI, always (normal behavior may sometimes use 96 DPI) | 
| layout.spellcheckDefault | 2 | Enable spell checking for both INPUT and TEXTAREA fields | 
| network.dnsCacheEntries | 128 | Increase internal DNS cache | 
| network.http.pipelining | true | Increase network performance | 
| network.http.pipelining.ssl | true | |
| network.http.proxy.pipelining | true | |
| network.http.sendRefererHeader | 1 | Only send HTTP referer header for links clicked on, not for images/media/etc | 
| network.protocol-handler.external.mailto | true | 
 | 
| network.proxy.socks_remote_dns | true | Send DNS requests through proxies | 
| security.dialog_enable_delay | 0 | No wait when prompted to install unsigned extensions | 
| services.sync.addons.ignoreUserEnabledChanges | true | Do not sync the enabled/disabled state of Add-ons | 
| services.sync.prefs.sync.extensions.nosquint.exceptions | true | Sync NoSquint exceptions w/ Firefox Sync | 
| ui.caretBlinkTime | 0 | Disable cursor blinking | 
| ui.allow_platform_file_picker | false | Don't use the horrid GTK file picker | 
| browser.urlbar.formatting.enabled | false | Don't just highlight just the domain in the URL bar | 
| browser.urlbar.trimURLs | false | Don't strip http:// from URLs | 
| extensions.nosquint.exceptions | *.sourceforge.net *.mozilla.org google.com/contacts google.com/reader *.google.[*] */~* google.com/finance *.amazon.com *.samat.org *.animevivo.com | Annoying tendency to get overridden… | 
Chrome
Contents of my userChrome.css:
   1 /* Font preferences for AwesomeBar dropdown
   2  * 
   3  * Adjusts font size, underlines URLs, and corrects colors
   4  */
   5 .ac-comment
   6 {
   7   font-size: 100% !important;
   8 }
   9 
  10 .ac-url-text
  11 {
  12   color: #306090 !important;
  13   text-decoration: underline !important;
  14 }
  15 
  16 .ac-url-text[selected="true"]
  17 {
  18   color: white !important;
  19 }
  20 
  21 /* Use monospaced font for AwesomeBar */
  22 #urlbar
  23 {
  24   font-family: monospace !important;
  25   font-size: 14px !important;
  26 }
  27 
  28 /* Combines Stop/Reload buttons, such that only one is shown at a time
  29  *
  30  * Note: May require button reordering (e.g reverse order of stop/reload
  31  * buttons) if the below does not work
  32  *
  33  * Derived from user style: http://userstyles.org/styles/10
  34  * Also, see bug 343396: https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=343396
  35  */
  36 #stop-button[disabled="true"] { display:none; } 
  37 #stop-button:not([disabled]) + #reload-button { display:none; }
  38 
  39 /* Italicize unread tabs
  40  *
  41  * Derived from user style: http://userstyles.org/styles/8247
  42  */
  43 #content tab:not([selected]) { font-style: italic !important; }
  44 
  45 /* Display keyword field in Bookmark dialog
  46  *
  47  * Derived from user style: http://userstyles.org/styles/8250
  48  */
  49 #editBMPanel_keywordRow { visibility: visible; }
  50 
  51 /* Hide search and go buttons */
  52 .search-go-button,
  53 .search-go-button-stack,
  54 #go-button
  55 {
  56   display: none !important;
  57 }
Android
Using Roboto instead of Open Sans
- Go to about:config
- Set to "Roboto" - font.name.sans-serif.x-unicode
- font.name.sans-serif.x-user-def
- font.name.sans-serif.x-western
 
=== Font size adjustments ==
- Go to about:config
- Set font.minimum-size.x-unicode and font.minimum-size.x-western to 14
- Set font.size.inflation.minTwips to "140"
Enabling off-main-thread compositing
How to help testing off-main-thread compositing from the Mozilla Gfx Team Blog describes everything that needs to be done. In short:
Set to true:
- layers.acceleration.force-enabled
- layers.offmainthreadcomposition.enabled
- layers.offmainthreadcomposition.animate-opacity
- layers.offmainthreadcomposition.animate-transform
- layers.async-video.enabled
and into ~/.bash_profile (warning: this will cause all Firefox, including stable versions, to use OMTC):
export MOZ_USE_OMTC=1
You can also set:
- layers.acceleration.draw-fps
to display a pink FPS counter in the top left corner. If you see the counter, than OMTC and layer acceleration are working.
722012 – [Meta] Implement OMTC on Linux tracks whether OMTC has been enabled on Linux.
