13407
Comment:
|
13947
|
Deletions are marked like this. | Additions are marked like this. |
Line 145: | Line 145: |
Needs research: * widget.content.allow-gtk-dark-theme from https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c137 |
|
Line 271: | Line 275: |
== 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. |
|
Line 275: | Line 283: |
* [[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 |
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) |
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.