Firefox is still a good browser if not the best in current time. What differs is Firefox using Gecko engine, while others may probably 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 is already used by me, and my browser still stay 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 out you 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 this steps to get ‘real smooth scrolling’:
- Go to about:support. Find “Profile Folders” and press 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 notes. 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" <- 1. If scroll too slow, set to "0.15" 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 <- 2. If scroll too fast, set to false 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!
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 helps 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 today post. Thanks for reading this post, and see ya in another post!
Leave a Reply