Customize firefox user.js
location of user.js
file is located in your Firefox profile folder:
- In Windows XP, the profile folder is
\Documents and Settings\<username>\Application Data\Mozilla\Firefox\Profiles\<profile ID>.default
- In Windows Vista, this folder is
\Users\<username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile ID>.default
Note that Application Data and AppData are hidden folders by default, so they may not show up unless you force Explorer to show hidden objects. (Open the Control Panel, double-click Folder Options, select the View tab, select “Show hidden files and folders” and click OK.)
- In Mac OS X, the profile folder is
<username>/Library/Application Support/Firefox/Profiles/<profile ID>.default/
- and in Linux it's
~/.mozilla/firefox/<profile ID>.default/
userChrome.css
userChrome.css
/******************************************************** tabs with rounded corners https://www.reddit.com/r/firefox/comments/72y8fa/how_to_modify_tab_style_in_firefox_57/ *********************************************************/ .tab-background { border-radius: 3px 3px 0px 0px !important; border-image: none !important; } .tab-line { display: none; } /******************************************************** multiple rows of tabs https://www.reddit.com/r/firefox/comments/6wiu9k/is_there_a_webextension_for_multiple_rows_of_tabs/ *********************************************************/ #TabsToolbar .tabbrowser-arrowscrollbox, #TabsToolbar .arrowscrollbox-scrollbox, #TabsToolbar .scrollbox-innerbox { display: block !important; } .scrollbutton-up, .arrowscrollbox-overflow-start-indicator, .scrollbutton-down, .arrowscrollbox-overflow-end-indicator { display: none !important; } .tabbrowser-tab { min-height: var(--tab-min-height) !important; vertical-align: bottom !important; }
user.js
these setting will speed up (optimize) Firefox:
user.js
# # http://kb.mozillazine.org/About:config_entries#Network # #Pipeline support was completely removed in Firefox 54. #user_pref("network.http.pipelining", true); # allow-experiments #user_pref("network.allow-experiments", true); user_pref("network.predictor.enabled",true); # default is 10 user_pref("network.http.request.max-start-delay", 10); # default is 96 user_pref("network.http.max-connections", 256); user_pref("network.http.max-connections-per-server", 32); # It is, however, considered poor etiquette to make too many connections to a server and may lead to you being banned from that # server. Anything above 10 is excessive. user_pref("network.http.max-persistent-connections-per-proxy", 4); # Default is 8 user_pref("network.http.max-persistent-connections-per-server", 8); user_pref("network.http.keep-alive", true); # keep-alive timeout. default is 300 user_pref("network.http.keep-alive.timeout", 90); # Enable prefetching - might break your privacy user_pref("network.prefetch-next", true); # Enable DNS prefetch user_pref("network.dns.disablePrefetch", false); # user_pref("network.ftp.idleConnectionTimeout", 60); # Just to make sure, disable windows shell: protocol user_pref("network.protocol-handler.external.shell", false); # # DNS cache - set to default if you use local dns or /etc/hosts # default 20 user_pref("network.dnsCacheEntries", 512); # default 60 user_pref("network.dnsCacheExpiration", 7200); # # Remove painting delay when loading pages. Default is 250 # http://kb.mozillazine.org/Nglayout.initialpaint.delay # anything below 100 is not recommended. user_pref("nglayout.initialpaint.delay", 125); # user_pref("ui.submenuDelay", 10); # user_pref("content.notify.backoffcount", 5); user_pref("content.notify.ontimer", true); user_pref("content.interrupt.parsing", true); user_pref("content.max.tokenizing.time", 2250000); user_pref("content.notify.interval", 750000); user_pref("content.maxtextrun", 8191); user_pref("content.switch.threshold", 750000); # use GPU for rendering (with proper drivers!) #user_pref("layers.acceleration.force-enabled", true); # tell the browser to use native OpenGL for WebGL 3D hardware accelerated graphics #user_pref("webgl.prefer-native-gl", true); # always anti-alias WebGL conten #user_pref("webgl.msaa-force", true); # user_pref("accessibility.force_disabled", 1); user_pref("accessibility.typeaheadfind.flashBar", 0); # Cache # Disable offline cache user_pref("browser.cache.offline.enable", false); # Display a notification bar when websites offer data for offline use user_pref("browser.offline-apps.notify", true); # user_pref("browser.cache.disk.enable", true); # default 256Mb user_pref("browser.cache.disk.capacity", 256000); user_pref("browser.cache.disk.metadata_memory_limit", 51200); # manual settings user_pref("browser.cache.disk.smart_size.enabled", false); # If you have enougn RAM use - RAM DISK #user_pref("browser.cache.disk.parent_directory", "R:\\"); # user_pref("browser.cache.memory.enable", true); # Specify the amount of memory cache: # recommended max 200Mb # -1 = determine dynamically (default), 0 = none, n = memory capacity in kilobytes user_pref("browser.cache.memory.capacity", 65535); # Cache SSL pages # user_pref("browser.cache.disk_cache_ssl", true); # How many sites to remember for back/forward function # 8 is max user_pref("browser.sessionhistory.max_total_viewers", 8); # how many days of browser url history to keep user_pref("browser.history_expire_days", 45); user_pref("browser.history_expire_days.mirror", 45); # user_pref("image.mem.min_discard_timeout_ms", 20000); # # Move Firefox out of working memory to swap memory on minimize. Windows ONLY! #user_pref("config.trim_on_minimize", true); # # Allow certain sites to acces local files ##user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); ##user_pref("capability.policy.localfilelinks.sites", "pardus.at"); ##user_pref("capability.policy.policynames", "localfilelinks"); # # Location address functions user_pref("layout.word_select.eat_space_to_next_word", false); user_pref("layout.word_select.stop_at_punctuation", false); user_pref("browser.urlbar.clickSelectsAll", false); # do show URI in front of address user_pref("browser.urlbar.trimURLs", false); user_pref("browser.chrome.site_icons", false); user_pref("browser.chrome.favicons", false); # TABS user_pref("browser.search.openintab", true); # open bookmarks in new tab user_pref("browser.tabs.loadBookmarksInTabs", true); user_pref("browser.tabs.closeButtons", 0); user_pref("browser.tabs.loadFolderAndReplace", false); user_pref("browser.tabs.tabMinWidth", 80); user_pref("browser.tabs.warnOnClose", false); user_pref("browser.tabs.warnOnOpen", false); # do not close Firefox with last tab user_pref("browser.tabs.closeWindowWithLastTab", false); # open new tab next to active one user_pref("browser.tabs.insertRelatedAfterCurrent", true); # to get clean/blank new tab with no "clutter" user_pref("browser.newtabpage.activity-stream.enabled", false); # Open new windows in tab user_pref("browser.link.open_newwindow", 3); # Open links from external programs in new tabs in an existing window user_pref("browser.link.open_external", 3); # Do not set the DDE-related subkeys in the registry. OBSOLETE # Instead, use browser-supplied UI to set tab behavior (which, in turn, usually sets browser.link.open_external). #user_pref("advanced.system.supportDDEExec", false); # disable target="_blank" (open in same window) OBSOLETE #user_pref("browser.block.target_new_window", true); #http://kb.mozillazine.org/Network.http.sendRefererHeader #user_pref("network.http.sendRefererHeader", 1); # make all frames resizeable user_pref("layout.frames.force_resizability", true); ## PLUGINS ##user_pref("plugins.click_to_play", true); # disable addon countdown user_pref("security.dialog_enable_delay", 1); # scan for additional plugins on local computer # can be disabled for security user_pref("plugin.scan.plid.all", true); # Show full path for plugin file on about:plugins page # the full path was removed for security purposes, please keep that in mind # Note: showing full paths can be a security risk. only use when debugging. user_pref("plugin.expose_full_path", false); user_pref("extensions.disabledObsolete", true); # Make Firefox 4.0beta work with "incompatible" plugins # (for release version of Firefox use "extensions.checkCompatibility.4.0") #user_pref("extensions.checkCompatibility.4.0b", false); # Make Firefox work with incompatible plugins #user_pref("extensions.checkcompatibility", false); ## SECURITY ## http://kb.mozillazine.org/About:config_entries#Security. user_pref("security.ask_for_password", 0); # disable warning about insecure elements on page user_pref("security.insecure_field_warning.contextual.enabled", false); ## Ask for password every "password_lifetime" minutes #user_pref("security.ask_for_password", 2); #user_pref("security.password_lifetime", 60); user_pref("privacy.donottrackheader.enabled", true); # geolocation user_pref("geo.enabled", true); # battery API user_pref("dom.battery.enabled", false); # vibrate enabled user_pref("dom.vibrator.enabled", false); ## SSL #Use OCSP to validate only certificates that specify an OCSP service URL user_pref("security.OCSP.enabled", 1); user_pref("security.default_personal_cert", "Ask Every Time"); #Disable SSL2 and weak SSL3/TLS encryptions user_pref("security.enable_ssl2", false); # user_pref("security.enable_ssl2", false); # user_pref("security.ssl3.rsa_fips_des_sha", false); # user_pref("security.ssl3.rsa_des_sha", false); # user_pref("security.ssl3.rsa_1024_rc4_56_sha", false); # user_pref("security.ssl3.rsa_1024_des_cbc_sha", false); # user_pref("security.ssl3.rsa_rc4_40_md5", false); # user_pref("security.ssl3.rsa_rc2_40_md5", false); # user_pref("security.ssl3.ecdhe_ecdsa_null_sha", false); # user_pref("security.ssl3.ecdhe_rsa_null_sha", false); # user_pref("security.ssl3.ecdh_ecdsa_null_sha", false); # user_pref("security.ssl3.ecdh_rsa_null_sha", false); # user_pref("security.ssl3.dhe_rsa_des_sha", false); # user_pref("security.ssl3.dhe_dss_des_sha", false); user_pref("security.tls.version.max", 4); user_pref("security.tls.version.min", 1); user_pref("security.ssl3.rsa_fips_des_ede3_sha", false); user_pref("security.warn_viewing_mixed.show_once", true); ## JAVASCRIPT # Enable javascript advanced button user_pref("pref.advanced.javascript.disable_button.advanced", false); # disable javascript annoyances user_pref("browser.jsannoyances.disabled", true); user_pref("dom.event.contextmenu.enabled", false); user_pref("dom.disable_window_move_resize", true); user_pref("dom.event.contextmenu.enabled", false); user_pref("dom.disable_window_status_change", true); user_pref("dom.disable_window_open_feature.status", true); user_pref("dom.disable_window_open_feature.location", true); user_pref("dom.disable_window_open_feature.resizable", true); user_pref("dom.disable_window_open_feature.minimizable", true); user_pref("dom.vibrator.enabled", false); # user_pref("browser.display.show_image_placeholders", true); user_pref("browser.display.force_inline_alttext", true); # Block popup windows not created as a result of a mouse click #user_pref("dom.disable_open_during_load", true); #user_pref("dom.disable_open_click_delay", 1000); #user_pref("privacy.popups.disable_from_plugins", 2); # incremental garbage collection user_pref("javascript.options.mem.gc_incremental_slice_ms", 20); user_pref("javascript.options.mem.gc_incremental", true); user_pref("javascript.options.showInConsole", false); # Shows an error page instead of an error popup dialog #if you load multiple pages at the same the dialog box actually holds up the browser # using this will allow the other pages/elements to load for the rest of the pages user_pref("browser.xul.error_pages.enabled", true); # Reveal more tab/window options: user_pref("browser.tabs.showSingleWindowModePrefs", true); # disable WebRTC user_pref("media.peerconnection.enabled", false); # Status of ths smooth scrolling option (scrolling on a web page moves page content pixelwise rather than line-by-line) user_pref("general.smoothScroll", false); user_pref("toolkit.scrollbox.smoothScroll", false); // Allows for faster mouse scrolling user_pref("mousewheel.withnokey.numlines", 5); #Determines whether to allow external protocol handlers to catch links with these protocols user_pref("network.protocol-handler.external.shell", false); # For readability on screen, font size should not be too small user_pref("font.minimum-size.x-western", 11); user_pref("font.minimum-size.x-central-euro", 11); user_pref("font.minimum-size.x-unicode", 11); user_pref("font.minimum-size.x-user-def", 11); # allow site to set fonts #user_pref("browser.display.use_document_fonts", 1); # ##user_pref("gfx.font_rendering.directwrite.enabled", true); ##user_pref("gfx.font_rendering.cleartype.always_use_for_content", true); user_pref("intl.charsetmenu.browser.cache.size", 6); user_pref("intl.charsetmenu.browser.cache", "ISO-8859-1, ISO-8859-2, UTF-8,us-ascii, windows-1251, windows-1250"); #user_pref("intl.accept_languages"), "sl,en,en-us"; # Disable inline spellchecking for text entry controls in HTML user_pref("layout.spellcheckDefault", 0); # Changes to preferences should (if possible) become active immediately user_pref("browser.preferences.instantApply", true); # The application should automatically check for updated versions of itself, but should prompt before downloading user_pref("update_notifications.enabled", true); user_pref("app.update.enabled", true); user_pref("app.update.auto", true); user_pref("app.update.mode", 2); # user_pref("browser.download.manager.flashCount", -1); user_pref("browser.download.useToolkitUI", true); # user_pref("browser.sessionstore.resume_session_once", true); user_pref("browser.sessionstore.resume_session", true); user_pref("browser.sessionstore.restore_on_demand", false); # default 10 user_pref("browser.sessionstore.max_tabs_undo", 24); # defult 10 user_pref("browser.sessionstore.max_windows_undo", 12); user_pref("browser.sessionstore.enabled", true); # Resume the previous browser session user_pref("browser.startup.page", 3); # no blinking text user_pref("browser.blink_allowed", false); # Enable Internet keywords and disable domain guessing user_pref("browser.fixup.alternate.enabled", false); # use default search engine if URL not found user_pref("keyword.enabled", true); # disable Safe Browsing (and google cookie tracking) user_pref("browser.safebrowsing.enabled", false); # If set to false a third-party provider will not be consulted to determine whether a site is phishy. user_pref("browser.safebrowsing.remoteLookups", false); user_pref("browser.safebrowsing.debug", false); user_pref("browser.safebrowsing.malware.enabled", false); user_pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false); user_pref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", false); # do not warn when using about:conf user_pref("general.warnOnAboutConfig", false); # do not display alert about legal rights user_pref("browser.rights.3.shown", true); # This setting allows the browser to collect and send ANONYMOUS usage information back to Mozilla. user_pref("dom.enable_performance", true); # enable firefox healthreport #user_pref("datareporting.healthreport.uploadEnabled", true); #user_pref("print.postscript.paper_size", "a4"); # we have working IPv6! #user_pref("network.http.fast-fallback-to-IPv4", false); # user_pref("browser.display.force_inline_alttext", true); user_pref("browser.cache.compression_level", 0); user_pref("browser.tabs.animate", false); user_pref("browser.panorama.animate_zoom", false); user_pref("browser.fullscreen.animate", false); user_pref("browser.download.animateNotifications", false); user_pref("alerts.disableSlidingEffect", false); #network.tcp.sendbuffer default 131072 #user_pref("network.tcp.sendbuffer", 261072); # do not "ping sites" user_pref("browser.send_pings", false); # user_pref("general.useragent.extra.tnt", "http://tnt.aufbix.org/"); # #user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:15.2; +http://tnt.aufbix.org) Gecko/2012 Firefox/15.1.1 PaleMoon/15.1.1-x64"); #
If you are low on RAM use these settings:
user.js
user_pref("browser.sessionstore.max_tabs_undo", 0); user_pref("browser.sessionstore.max_windows_undo", 0); user_pref("browser.sessionhistory.max_total_viewers", 0);