| Size: 2414 Comment:  | Size: 13599 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 1: | Line 1: | 
| One of the largest reasons I use [[http://getfirefox.com|Mozilla Firefox]] is its huge [[https://addons.mozilla.org|universe of extensions]], scripts, and other add-ons to it behave the way you want it to. I've customized my Firefox installation pretty extensively. This list is current as of Firefox 3.0. | <<TableOfContents>> One of the reasons I use [[http://getfirefox.com|Mozilla Firefox]] is its huge [[https://addons.mozilla.org|universe of extensions]], [[http://userscripts.org/|scripts]], [[http://userstyles.org|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. | 
| Line 7: | Line 9: | 
| === Customization === * [[https://addons.mozilla.org/en-US/firefox/addon/dotjs/|dotjs]] * [[https://addons.mozilla.org/en-US/firefox/addon/scriptish/|Scriptish]], what I've started using as a replacement for [[https://addons.mozilla.org/en-US/firefox/addon/748|Greasemonkey]] * [[https://addons.mozilla.org/en-US/firefox/addon/2108|Stylish]] and [[https://addons.mozilla.org/en-US/firefox/addon/stylishsync/|Stylish Sync]] | |
| Line 9: | Line 17: | 
| * [[https://addons.mozilla.org/en-US/firefox/addon/271|ColorZilla]] | |
| Line 10: | Line 19: | 
| * [[https://addons.mozilla.org/en-US/firefox/addon/748|Greasemonkey]] * [[https://addons.mozilla.org/en-US/firefox/addon/60|Web Developer]] | * [[https://addons.mozilla.org/en-US/firefox/addon/10869/|JSONView]] * [[http://code.google.com/speed/page-speed/index.html|Google's Page Speed]]: I previously used [[http://developer.yahoo.com/yslow/|Yahoo's YSlow]], but switched because [[http://code.google.com/p/page-speed/|Page Speed is open-source]]. Functionality is mostly equivalent, and I honestly don't use the extension enough to notice the differences. * [[https://addons.mozilla.org/en-US/firefox/addon/14328/|Rainbow]] * --([[https://addons.mozilla.org/en-US/firefox/addon/60|Web Developer]])--: has bugs that slows down Firefox significantly when you've a lot of tabs. Disabled, though still useful. | 
| Line 15: | Line 26: | 
| * [[https://addons.mozilla.org/en-US/firefox/addon/3615|Delicious Bookmarks]] | * [[https://addons.mozilla.org/en-US/firefox/addon/autopager/|AutoPager]] * [[https://addons.mozilla.org/en-US/firefox/addon/2324|Session Manager]] * [[https://addons.mozilla.org/en-US/firefox/addon/4781|Automatic Save Folder]] * [[https://addons.mozilla.org/en-US/firefox/addon/1812|CoLT]] * [[https://addons.mozilla.org/en-US/firefox/addon/copy-shorturl/|Copy ShortURL]] * [[https://addons.mozilla.org/en-US/firefox/addon/delicious-bookmarks/|Delicious Bookmarks]] * [[https://addons.mozilla.org/en-US/firefox/addon/domcrypt/|DOMCrypt]] * [[https://addons.mozilla.org/en-US/firefox/addon/dominant-color/|Dominant Color]] * [[https://addons.mozilla.org/en-US/firefox/addon/flashvideoreplacer/|FlashVideoReplacer]] * [[https://addons.mozilla.org/en-US/firefox/addon/foxtophone/|Fox to Phone]] * [[https://addons.mozilla.org/en-US/firefox/addon/9549|Long URL Please]] * [[https://addons.mozilla.org/en-US/firefox/addon/2780|Mobile Barcoder]] * [[https://addons.mozilla.org/en-US/firefox/addon/2592|No Squint]] * [[https://addons.mozilla.org/en-US/firefox/addon/8207|Open in Browser]] * [[https://addons.mozilla.org/en-US/firefox/addon/proxy-selector/|Proxy Selector]] * [[https://addons.mozilla.org/en-US/firefox/addon/7661|Read it Later]] * [[https://addons.mozilla.org/en-US/firefox/addon/59/|User Agent Switcher]] * [[https://addons.mozilla.org/en-US/firefox/addon/flattr/|Flattr]] and [[https://addons.mozilla.org/en-US/firefox/addon/aflattr/|aFlattr]] === Privacy === * [[https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/|Adblock Plus]] | 
| Line 17: | Line 49: | 
| * [[https://addons.mozilla.org/en-US/firefox/addon/2324|Session Manager]] * [[https://addons.mozilla.org/en-US/firefox/addon/2108|Stylish]] * Automatic Save Folder * ColorZilla * Colt * FireGPG * Fission * Google Gears * Grab and Drag * Link Widgets * Mobile Barcoder * Multiproxy Switch * No Squint * Open in Browser * Read it Later * Selenium IDE (disabled) * Show Keywords * Tabs Open Relative * VeriSign's OpenID Seatbelt * YSlow | * [[https://addons.mozilla.org/en-US/firefox/addon/trackerblock/|PrivacyChoice TrackerBlock]], which should be installed from [[http://www.privacychoice.org/|PrivacyChoice]] === UI and Behavior === * [[https://addons.mozilla.org/en-US/firefox/addon/aaapptabs/|Aaapptabs]]: Hide back & forward buttons, URL bars when using App Tabs. * [[https://addons.mozilla.org/en-US/firefox/addon/easy-app-tabs/|Easy App Tabs]] * [[https://addons.mozilla.org/en-US/firefox/addon/html-notifications/|HTML Desktop Notifications]] * [[https://addons.mozilla.org/en-US/firefox/addon/open-in-chrome/|Open In Chrome]]: adds menu item for opening current page in Google Chrome * [[https://addons.mozilla.org/en-US/firefox/addon/personal-menu/|Personal Menu]] * [[https://addons.mozilla.org/en-US/firefox/addon/remember-passwords/|Remember Passwords]]: force Firefox to remember passwords for Websites that otherwise disable it * [[https://addons.mozilla.org/en-US/firefox/addon/spdy-indicator/|SPDY Indicator]] * [[https://addons.mozilla.org/en-US/firefox/addon/tab-badge/|Tab Badge]] * [[https://addons.mozilla.org/en-US/firefox/addon/uploadprogress/|Upload Progress]] * [[https://addons.mozilla.org/en-US/firefox/addon/462|Unhide Passwords]] === KDE integration add-ons === * [[https://addons.mozilla.org/en-US/firefox/addon/oxygen-kde/versions/|Oxygen KDE]] for styling Firefox a little bit better w/ KDE's Oxygen * [[https://addons.mozilla.org/en-US/firefox/addon/49357|KDE wallet password integration]] * [[https://addons.mozilla.org/en-US/firefox/addon/13078/|xclear]] adds a clear button to URL and search fields, ala Qt/KDE text fields === Experimental === * [[https://addons.mozilla.org/en-US/firefox/addon/suspend-background-tabs/|Suspend background tabs]] suspends timers, etc in unused background tabs. === Mozilla/Mozilla Labs === * [[https://addons.mozilla.org/en-US/firefox/addon/15003/|Add-on Compatibility Reporter]] * [[https://addons.mozilla.org/en-US/firefox/addon/6543/|Nightly Tester Tools]] * [[https://addons.mozilla.org/en-US/firefox/addon/13661/|Test Pilot]] === Older stuff === Extensions that I don't use anymore. * [[http://autopagerize.net/|Autopagerize]] * [[https://addons.mozilla.org/en-US/firefox/addon/6623/|BetterPrivacy]] removes Flash LSOs and other tracking cookies * [[https://addons.mozilla.org/en-US/firefox/addon/1250|Grab and Drag]]: for my tablet PC pipe dream. * [[https://addons.mozilla.org/en-US/firefox/addon/2933|Link Widgets]] * [[https://addons.mozilla.org/en-US/firefox/addon/4106/|Operator]]: slow (difficult for an extension to parse DOM for microformats). * Collusion * Facebook Blocker * GrabMyBooks == Adblock Plus == My exceptions: {{{ @@||duckduckgo.com^$document }}} and: * EasyList * Antisocial * Adversity | 
| Line 44: | Line 113: | 
| || layout.css.dpi || 0 || || || layout.spellcheckDefault || 2 || || || ui.caretBlinkTime || 0 || || || ui.allow_platform_file_picker || false || || || network.http.pipelining || true || || || network.http.pipelining.ssl || true || || || network.http.proxy.pipelining || true || || || network.protocol-handler.external.mailto || true || || || network.proxy.socks_remote_dns || true || || || nglayout.initialpaint.delay || 100 || || | || 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 ||<|2> 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) || | 
| Line 56: | Line 121: | 
| || browser.backspace_action || 1 || || | || image.animation_mode || once || Animated GIFs only animate once || || intl.charset.default || UTF-8 || Default character set || || 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.http.pipelining || true ||<|3> 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 || || privacy.trackingprotection.enabled || true || Enable Firefox's Tracking Protection || || 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 || || layout.css.devPixelsPerPx || 2 || Double CSS pixels, for retina displays || || widget.content.gtk-theme-override || Breeze:light || On KDE, use light-colored Breeze theme. Fixes dark widgets on Web pages. || || xpinstall.signatures.required || false || Enable installation of unsigned extensions (needed for addons not available on addons.mozilla.org) || Needs research: * widget.content.allow-gtk-dark-theme from https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c137 Experimental settings: || browser.cache.use_new_backend || 1 || New (2014) cache backend || || dom.cycle_collector.incremental || true || Incremental JavaScript GC (garbage collection) || | 
| Line 63: | Line 157: | 
| /* Font preferences for AwesomeBar dropdown */ .ac-comment { | /* Font preferences for AwesomeBar dropdown * * Adjusts font size, underlines URLs, and corrects colors */ .ac-comment { | 
| Line 68: | Line 166: | 
| .ac-url-text { | .ac-url-text { | 
| Line 73: | Line 172: | 
| .ac-url-text[selected="true"] { | .ac-url-text[selected="true"] { | 
| Line 77: | Line 177: | 
| /* Monospaced font for AwesomeBar */ #urlbar { font-family: Inconsolata !important; font-size: 17px !important; } | /* Use monospaced font for AwesomeBar */ #urlbar { font-family: monospace !important; font-size: 14px !important; } /* Combines Stop/Reload buttons, such that only one is shown at a time * * Note: May require button reordering (e.g reverse order of stop/reload * buttons) if the below does not work * * Derived from user style: http://userstyles.org/styles/10 * Also, see bug 343396: https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=343396 */ #stop-button[disabled="true"] { display:none; } #stop-button:not([disabled]) + #reload-button { display:none; } /* Italicize unread tabs * * Derived from user style: http://userstyles.org/styles/8247 */ #content tab:not([selected]) { font-style: italic !important; } /* Display keyword field in Bookmark dialog * * Derived from user style: http://userstyles.org/styles/8250 */ #editBMPanel_keywordRow { visibility: visible; } /* Hide search and go buttons */ .search-go-button, .search-go-button-stack, #go-button { display: none !important; } | 
| Line 83: | Line 216: | 
| == Android == === Using Roboto or another font instead of Open Sans === 1. Go to about:config 2. Set to "Roboto", "Nokia Pure Text", or "Alte Haas Grotesk" * font.name.sans-serif.x-unicode * font.name.sans-serif.x-user-def * font.name.sans-serif.x-western === 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" === Cache location === On devices w/ 8–16 GB memory, store Firefox's cache on the external SD card: 1. Go to about:config 2. Set browser.cache.disk.parent_directory to one of: * /storage/sdcard1/Android/data/org.mozilla.fennec/files/cache/ * /storage/sdcard1/Android/data/org.mozilla.firefox_beta/files/cache/ * /storage/sdcard1/Android/data/org.mozilla.firefox/files/cache/ == Enabling off-main-thread compositing == [[http://mozillagfx.wordpress.com/2012/10/06/how-to-help-testing-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): {{{#!highlight sh numbers=off 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. [[https://bugzilla.mozilla.org/show_bug.cgi?id=722012|722012 – [Meta] Implement OMTC on Linux]] tracks whether OMTC has been enabled on Linux. == Fiddling == To tinker w/ browser styles/events/etc, navigate to chrome://browser/content/browser.xul and launch the built-in developer tools. == External tools == https://gist.github.com/f1u77y/715f0dd03fc18039a6549de557370b97: Exports styles from Stylish extension (stored in stylish.sqlite) into a JSON file that can be loaded into Stylus. == Interesting reading == * [[https://www.reddit.com/r/firefox/comments/5qlpai/how_to_remove_zoom_level_indicator_from_url_bar/|How to remove zoom level indicator from URL bar? : firefox]] * [[https://www.reddit.com/r/firefox/comments/5qius3/is_there_any_way_to_turn_off_the_zoom_indicator/|Is there any way to "turn off" the zoom indicator in 51? : firefox]] * [[https://support.mozilla.org/en-US/questions/1069513#answer-787122|How can I add the CSS styles used by Firefox reader mode?]] * https://www.userchrome.org/ * https://github.com/overdodactyl/ShadowFox | 
Contents
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 | 
| intl.charset.default | UTF-8 | Default character set | 
| 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.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 | 
| privacy.trackingprotection.enabled | true | Enable Firefox's Tracking Protection | 
| 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 | 
| layout.css.devPixelsPerPx | 2 | Double CSS pixels, for retina displays | 
| widget.content.gtk-theme-override | Breeze:light | On KDE, use light-colored Breeze theme. Fixes dark widgets on Web pages. | 
| xpinstall.signatures.required | false | Enable installation of unsigned extensions (needed for addons not available on addons.mozilla.org) | 
Needs research:
- widget.content.allow-gtk-dark-theme from https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c137 
Experimental settings:
| browser.cache.use_new_backend | 1 | New (2014) cache backend | 
| dom.cycle_collector.incremental | true | Incremental JavaScript GC (garbage collection) | 
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 or another font instead of Open Sans
- Go to about:config
- Set to "Roboto", "Nokia Pure Text", or "Alte Haas Grotesk" - 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"
Cache location
On devices w/ 8–16 GB memory, store Firefox's cache on the external SD card:
- Go to about:config
- Set browser.cache.disk.parent_directory to one of: - /storage/sdcard1/Android/data/org.mozilla.fennec/files/cache/
- /storage/sdcard1/Android/data/org.mozilla.firefox_beta/files/cache/
- /storage/sdcard1/Android/data/org.mozilla.firefox/files/cache/
 
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.
Fiddling
To tinker w/ browser styles/events/etc, navigate to chrome://browser/content/browser.xul and launch the built-in developer tools.
External tools
https://gist.github.com/f1u77y/715f0dd03fc18039a6549de557370b97: Exports styles from Stylish extension (stored in stylish.sqlite) into a JSON file that can be loaded into Stylus.
