8370
Comment: + browser.urlbar.formatting.enabled
|
8348
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
One of the 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. | <<TableOfContents>> |
Line 3: | Line 3: |
This list is current as of Firefox 6.0. | 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 62.0. |
Line 7: | Line 9: |
=== Customization === | Extensions not available on Firefox Add-ons: |
Line 9: | Line 11: |
* [[https://addons.mozilla.org/en-US/firefox/addon/748|Greasemonkey]] * [[https://addons.mozilla.org/en-US/firefox/addon/2108|Stylish]] === Web development === * [[https://addons.mozilla.org/en-US/firefox/addon/271|ColorZilla]] * [[https://addons.mozilla.org/en-US/firefox/addon/1843|Firebug]] * [[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. === Other stuff === * [[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/foxtophone/|Fox to Phone]] * [[https://addons.mozilla.org/en-US/firefox/addon/2933|Link Widgets]] * [[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/2324|Session Manager]] * [[https://addons.mozilla.org/en-US/firefox/addon/59/|User Agent Switcher]] === Privacy === * [[https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/|Adblock Plus]] * [[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/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. Should be included in Firefox 5 * [[https://addons.mozilla.org/en-US/firefox/addon/easy-app-tabs/|Easy App Tabs]] * [[https://addons.mozilla.org/en-US/firefox/addon/personal-menu/|Personal Menu]] * [[https://addons.mozilla.org/en-US/firefox/addon/462|Unhide Passwords]] === KDE integration add-ons === * [[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 === Mozilla/Mozilla Labs === * [[https://addons.mozilla.org/en-US/firefox/addon/15003/|Add-on Compatibility Reporter]] * [[https://addons.mozilla.org/en-US/firefox/addon/10868/|Firefox Sync]] (formerly Mozilla Weave) * [[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. * [[https://addons.mozilla.org/en-US/firefox/addon/1455/|Tiny Menu]]: incompatible with Firefox 4? * [[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/4106/|Operator]]: slow (difficult for an extension to parse DOM for microformats). * BetterPrivacy * ColorZilla * Collusion * Facebook Blocker * GrabMyBooks * [[https://addons.mozilla.org/en-US/firefox/addon/autopager/|AutoPager]] * [[http://autopagerize.net/|Autopagerize]] == Adblock Plus == My exceptions: {{{ @@||duckduckgo.com^$document }}} and: * EasyList * Antisocial * Adversity |
* [[https://github.com/iamadamdev/bypass-paywalls-firefox|Bypass Paywalls for Firefox]] |
Line 107: | Line 21: |
|| browser.ssl_override_behavior || 2 ||<|2>Turn off annoying SSL certificate behavior || || browser.xul.error_pages.expert_bad_cert || true || |
|| browser.safebrowsing.enabled || false ||<|2> Disable Safe Browsing and malware checking (don't care for either on Linux) || || browser.safebrowsing.malware.enabled || false || |
Line 112: | Line 26: |
|| network.dnsCacheEntries || 512 || Increase DNS cache || || network.http.pipelining || true ||<|4> Increase network performance || || network.http.pipelining.maxrequests || 8 || || 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.http.sendRefererHeader || 1 || Only send HTTP referer header for links clicked on, not for images/media/etc. Breaks some Websites. || |
Line 120: | Line 29: |
|| privacy.trackingprotection.enabled || true || Enable Firefox's Tracking Protection || | |
Line 121: | Line 31: |
|| services.sync.prefs.sync.extensions.nosquint.exceptions || true || Sync NoSquint exceptions w/ Firefox Sync || | || services.sync.addons.ignoreUserEnabledChanges || true || Do not sync the enabled/disabled state of Add-ons || |
Line 123: | Line 33: |
|| ui.allow_platform_file_picker || false || Don't use the horrid GTK file picker || | |
Line 125: | Line 34: |
|| 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 || When using a dark GTK theme, fix colors for widgets in Firefox || || xpinstall.signatures.required || false || Enable installation of unsigned extensions (needed for addons not available on addons.mozilla.org) || || security.insecure_connection_text.enabled || true ||<|2> Show icon/text that non-HTTPS sites are insecure || || security.insecure_connection_icon.enabled || true || || general.smoothScroll.mouseWheel || false || Disable smooth scrolling for mouse input (should use XInput2 instead) || || toolkit.legacyUserProfileCustomizations.stylesheets || true || Enable support for userChrome.css and userContent.css || || network.dns.disablePrefetchFromHTTPS || false || DNS pre-fetch when using HTTPS || Experimental settings: || network.predictor.enable-prefetch || true || || None in use. |
|
Line 190: | Line 114: |
== 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 == Set to true: * layers.acceleration.force-enabled * gfx.canvas.azure.accelerated * layers.omtp.enabled You can also set: * layers.acceleration.draw-fps to display a 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. == KDE integration == Legacy stuff: * [[http://www.rosenauer.org/hg/mozilla/summary|mozilla-kde.patch upstream]] * [[https://github.com/openSUSE/kmozillahelper/|openSUSE/kmozillahelper]]: kmozillahelper for showing file dialogs, etc. Needs mozilla-kde.patch * [[https://addons.mozilla.org/en-US/firefox/addon/plasma-integration/|Plasma Integration Firefox Add-on]] along with `plasma-browser-integration` (available in most Linux distributions) In Firefox 64 and 2019-vintage Linux distributions, can also use "desktop portal" support. * `xdg-desktop-portal` and `xdg-desktop-portal-kde` packages * Set environment variable `GTK_USE_PORTAL=1` for firefox.desktop (or globally once crash in Thunderbird is fixed): {{{#!highlight sh numbers=off cp /usr/share/applications/firefox.desktop ~/.local/share/applications/ kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Entry" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u" kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Action new-private-window" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u" kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Action new-window" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u" kbuildsycoca5 }}} == 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 62.0.
Extensions
Extensions not available on Firefox Add-ons:
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 |
|
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.http.sendRefererHeader |
1 |
Only send HTTP referer header for links clicked on, not for images/media/etc. Breaks some Websites. |
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 |
ui.caretBlinkTime |
0 |
Disable cursor blinking |
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 |
When using a dark GTK theme, fix colors for widgets in Firefox |
xpinstall.signatures.required |
false |
Enable installation of unsigned extensions (needed for addons not available on addons.mozilla.org) |
security.insecure_connection_text.enabled |
true |
Show icon/text that non-HTTPS sites are insecure |
security.insecure_connection_icon.enabled |
true |
|
general.smoothScroll.mouseWheel |
false |
Disable smooth scrolling for mouse input (should use XInput2 instead) |
toolkit.legacyUserProfileCustomizations.stylesheets |
true |
Enable support for userChrome.css and userContent.css |
network.dns.disablePrefetchFromHTTPS |
false |
DNS pre-fetch when using HTTPS |
Experimental settings:
network.predictor.enable-prefetch |
true |
|
None in use.
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
Set to true:
- layers.acceleration.force-enabled
- gfx.canvas.azure.accelerated
- layers.omtp.enabled
You can also set:
- layers.acceleration.draw-fps
to display a 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.
KDE integration
Legacy stuff:
openSUSE/kmozillahelper: kmozillahelper for showing file dialogs, etc. Needs mozilla-kde.patch
Plasma Integration Firefox Add-on along with plasma-browser-integration (available in most Linux distributions)
In Firefox 64 and 2019-vintage Linux distributions, can also use "desktop portal" support.
xdg-desktop-portal and xdg-desktop-portal-kde packages
Set environment variable GTK_USE_PORTAL=1 for firefox.desktop (or globally once crash in Thunderbird is fixed):
cp /usr/share/applications/firefox.desktop ~/.local/share/applications/
kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Entry" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u"
kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Action new-private-window" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u"
kwriteconfig5 --file=$HOME/.local/share/applications/firefox.desktop --group="Desktop Action new-window" "Exec" "GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u"
kbuildsycoca5