Differences between revisions 22 and 82 (spanning 60 versions)
Revision 22 as of 2009-11-26 23:14:58
Size: 5264
Editor: SamatJain
Comment:
Revision 82 as of 2018-01-10 07:45:10
Size: 13901
Editor: SamatJain
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 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 3.5.
<<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 9: Line 11:
 * [[https://addons.mozilla.org/en-US/firefox/addon/748|Greasemonkey]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/2108|Stylish]]
 * [[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 14: Line 17:
 * [[https://addons.mozilla.org/en-US/firefox/addon/271|ColorZilla]]
Line 15: Line 19:
 * [[https://addons.mozilla.org/en-US/firefox/addon/60|Web Developer]]
 * [[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/271|ColorZilla]]
 * [[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 21: Line 26:

* [[https://addons.mozilla.org/en-US/firefox/addon/433|Flashblock]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/autopager/|AutoPager]]
Line 24: Line 28:
Line 26: Line 29:
 * [[https://addons.mozilla.org/en-US/firefox/addon/1812|Colt]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/271|ColorZilla]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/3615|Delicious Bookmarks]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/4645|FireGPG]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/1951|Fission]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/433|Flashblock]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/2933|Link Widgets]]
 * [[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]]
Line 34: Line 37:
 * [[https://addons.mozilla.org/en-US/firefox/addon/1250|Grab and Drag]]
Line 36: Line 38:
 * [[https://addons.mozilla.org/en-US/firefox/addon/7330|Multiproxy Switch]]
Line 39: Line 40:
 * [[https://addons.mozilla.org/en-US/firefox/addon/12196|PlasmaNotify]]  * [[https://addons.mozilla.org/en-US/firefox/addon/proxy-selector/|Proxy Selector]]
Line 41: Line 42:
 * [[https://addons.mozilla.org/en-US/firefox/addon/2324|Session Manager]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/1956|Tabs Open Relative]]
 * [[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]]
 * [[https://addons.mozilla.org/en-US/firefox/addon/433|Flashblock]]
 * [[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]]
Line 45: Line 64:
=== 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 50: Line 113:
|| 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) ||
|| browser.ssl_override_behavior || 2 ||<|2>Turn off annoying SSL certificate behavior ||
|| browser.xul.error_pages.expert_bad_cert || true ||
Line 51: Line 122:
|| intl.charset.default || UTF-8 || Default character set ||
Line 53: Line 125:
|| 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 ||
Line 55: Line 137:
|| network.http.pipelining || true ||<|4> Increase network performance ||
|| network.http.pipelining.maxrequests || 8 ||
|| 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.ssl_override_behavior || 2 ||<|2>Turn off annoying SSL certificate behavior ||
|| browser.xul.error_pages.expert_bad_cert || true ||
|| browser.backspace_action || 1 || ||
|| 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… ||
|| extensions.scriptish.enableScriptRefreshing || false || Disable checking if scripts on disk have been modified. Disable when developing scripts ||
|| extensions.scriptish.cache.enabled || true || Cache user scripts and dependencies in memory ||
|| layout.css.devPixelsPerPx || 2 || Double CSS pixels, for retina displays ||
|| 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 130: Line 218:

== 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/

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

Web development

Other stuff

Privacy

UI and Behavior

KDE integration add-ons

Experimental

Mozilla/Mozilla Labs

Older stuff

Extensions that I don't use anymore.

Adblock Plus

My exceptions:

@@||duckduckgo.com^$document

and:

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

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…

extensions.scriptish.enableScriptRefreshing

false

Disable checking if scripts on disk have been modified. Disable when developing scripts

extensions.scriptish.cache.enabled

true

Cache user scripts and dependencies in memory

layout.css.devPixelsPerPx

2

Double CSS pixels, for retina displays

xpinstall.signatures.required

false

Enable installation of unsigned extensions (needed for addons not available on addons.mozilla.org)

Needs research:

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

  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

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.

Interesting reading

SamatsWiki: DotFiles/Firefox (last edited 2024-08-09 18:27:24 by SamatJain)