Make Firefox perform better with these advanced tweaks!
Firefox is still a good browser if not the best in the current time. What differs is Firefox using Gecko engine, while other is based on Chromium/Blink engine.
By accessing about:config, you can tweak almost all settings on Firefox, even breaking the browser. I will not be responsible for any kind of crash with settings changed here, also this breaks Firefox warranty. The only way to fix this is to create a new profile, and you will lose any customizations, history, and bookmarks. Of course, changes provided here are already used by me, and my browser still stays intact. But who knows?
1. Enable First Party Isolation
In short, with First Party isolation enabled, cookies can no longer communicate with the other part (like web code), so advertisers canât telemetry them. Read more about it here. To enable them, go to about:config and set privacy.firstparty.isolate to true.
Note: this will log you out from all websites youâve signed in. Also, this feature will break some niche websites, watch out.
2. True Smooth Scrolling
Current smooth scrolling in Firefox seems janky sometimes. A user called aveyo in reddit has created a custom user.js code to make the scrolling more acceptable (and like Chromium). You can customize it to fit your liking, but unfortunately you need to do that with non-gui options. Follow these steps to get âreal smooth scrollingâ:
- Go to about:support. Find âProfile Foldersâ and press the open folder button.
- Now that youâre in profile folder, right click on explorer > new > create new text documents. Name it as user.js so it looks like this:
- Now right click on user.js and press Edit (not open), it will open notepad with a blank note. Copy this code:
// ** Scrolling Options ********************************************************
// based on natural smooth scrolling v2 by aveyo
// this preset will reset couple extra variables for consistency
// Pref Value Original
user_pref("apz.allow_zooming", true); /// true
user_pref("apz.force_disable_desktop_zooming_scrollbars", false); /// false
user_pref("apz.paint_skipping.enabled", true); /// true
user_pref("apz.windows.use_direct_manipulation", true); /// true
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true); /// false
user_pref("general.smoothScroll.currentVelocityWeighting", "0.12"); /// "0.25"
user_pref("general.smoothScroll.durationToIntervalRatio", 1000); /// 200
user_pref("general.smoothScroll.lines.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.lines.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 100); /// 200
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 0); /// 50
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100); /// 100
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); /// 120
user_pref("general.smoothScroll.msdPhysics.enabled", true); /// false
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 200); /// 1250
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 200); /// 1000
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 10); /// 12
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "1.20"); /// "1.3"
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 1000); /// 2000
user_pref("general.smoothScroll.other.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.other.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.pages.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.pages.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.pixels.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.pixels.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 100); /// 150
user_pref("general.smoothScroll.scrollbars.durationMinMS", 0); /// 150
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); /// "0.4"
user_pref("layers.async-pan-zoom.enabled", true); /// true
user_pref("layout.css.scroll-behavior.spring-constant", "250.0"); /// "250.0"
user_pref("mousewheel.acceleration.factor", 3); /// 10
user_pref("mousewheel.acceleration.start", -1); /// -1
user_pref("mousewheel.default.delta_multiplier_x", 100); /// 100
user_pref("mousewheel.default.delta_multiplier_y", 100); /// 100
user_pref("mousewheel.default.delta_multiplier_z", 100); /// 100
user_pref("mousewheel.min_line_scroll_amount", 0); /// 5
user_pref("mousewheel.system_scroll_override.enabled", true); /// true
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false); /// true
user_pref("mousewheel.transaction.timeout", 1500); /// 1500
user_pref("toolkit.scrollbox.horizontalScrollDistance", 4); /// 5
user_pref("toolkit.scrollbox.verticalScrollDistance", 3); /// 3
Then save the file. Restart Firefox and get ready for real smooth scrolling! If scrolling is broke after doing this, remove the code from the appropriate file.
3. Toolbar tweaks
Want the title bar to follow Windows accent? Or you may want the compact mode back? Or a tool that will make your math assignment easier⌠math conversion at URL bar? Copy this code to User.js:
// Integrated calculator at urlbar
user_pref("browser.urlbar.suggest.calculator", true);
// Integrated unit convertor at urlbar
user_pref("browser.urlbar.unitConversion.enabled", true);
// Restore Compact Mode - 89 Above
user_pref("browser.compactmode.show", true);
4. Reduce memory usage
about:home can be cached so itâll load faster when you start Firefox. Go to about:config and set browser.startup.homepage.abouthome_cache.enabled to true. Limiting multiprocess (e10s) will also help a lot. Go to about:config and set dom.ipc.processCount to 1.
5. Stop âinsecureâ nag window
When youâre downloading a file, by default Firefox will check from Google Safe browsing list (which is useless) and will block download from http. The file will still be checked with antivirus that you have. To disable this âdownload block dialogâ, go to about:config and type browser.safebrowsing.downloads. Disable all of them that can be disabled (from true to false), so it will look like this
Thatâs it for this post. Thank you for reading my blog, and see you next time!