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);
firefox/user.js.txt · Last modified: 2019/01/31 11:46 by zagi
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready