Skip to content

🦊 Firefox user.js – based on arkenfox/user.js with additional UI fixes.

Notifications You must be signed in to change notification settings

denis-g/firefox-user.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Firefox user.js

Last tested Firefox Updated Date
Firefox Preview


πŸ”Ή user.js

The Firefox user.js file stores user settings. This a convenient way to save your browser customizations and apply them on different machines. All settings are based on arkenfox/user.js by default and override settings for sites to normal work.

user-overrides.js

  • Disabled Firefox Accounts & Sync, built-in extensions
  • Basically settings for security and usable in daily use
  • Allow cross-logins, basic cookie policy
  • Enabled saving session, keep logins and site data
  • Disabled unused Web APIs and preset for permissions
  • UI/UX settings
  • Locale settings
  • New Tab page, tabs, findbar, bookmarks configuration

πŸ”Ή chrome

Firefox supports advanced customization of its UI with user-defined CSS. A userChrome.css file affects the browser's UI, and userContent.css file affects the browser's content, which is all Firefox-specific pages (about:).

chrome/userChrome.css

  • Added icon for sound-playing tab (animated)
  • Hide "All Tabs" button
  • Hide search engines from the search/url bar
  • Iconized main menu
  • Reduce space for tabs
  • Show tab close button on hover

chrome/userContent.css

  • Theme-based styles for Newtab page
  • Multi-column for Addons page

πŸ”Ή Apply Configuration

Better choice - apply script with an empty profile. The script generates a new user.js configuration file with custom settings and overrides the user.js file and chrome directory (if they were) into Firefox profile. The file is loaded each time Firefox starts.

You can also change the values or add new ones on configuration files into the user.js-overrides directory or added your configuration js-file. Merging files in alphabetical order by default.

πŸ›‘ Backup your profile and close Firefox before running the script!

macOS, Linux

1. Clone repo:

git clone [email protected]:denis-g/firefox-settings.git
cd firefox-settings

2. Set your Firefox profile path on FIREFOX_PROFILE variable inside config.ini file.

Example config:

Go to about:profiles page and copy Root Directory path.

# macOS
# FIREFOX_PROFILE="/Users/denis-g/Library/Application Support/Firefox/Profiles/XXXXXXXX.profile_name"

# Linux
# FIREFOX_PROFILE="/home/denis-g/.mozilla/firefox/XXXXXXXX.profile_name"

FIREFOX_PROFILE="/Users/denis-g/Library/Application Support/Firefox/Profiles/dfk39fj39.default-nightly"

3. ...and run main script:

sh setup.sh

Windows

1. Use Git as above, download zip-archive, or execute commands on PowerShell:

# download this repo
Invoke-WebRequest "https://github.com/denis-g/firefox-user.js/archive/refs/heads/master.zip" -OutFile "$HOME\Downloads\firefox-settings.zip"
Expand-Archive "$HOME\Downloads\firefox-settings.zip" -DestinationPath "$HOME\Downloads\" -Force
# open directory
explorer "$HOME\Downloads\firefox-settings-master"

This will upload repo into your Downloads\firefox-settings-master directory.

2. Set your Firefox profile path on FIREFOX_PROFILE variable inside config.ini file.

Example config:

Go to about:profiles page and copy Root Directory path.

# Windows
# FIREFOX_PROFILE="C:\Users\denis-g\AppData\Roaming\Mozilla\Firefox\Profiles\XXXXXXXX.profile_name"

FIREFOX_PROFILE="C:\Users\denis-g\AppData\Roaming\Mozilla\Firefox\Profiles\dfk39fj39.default-nightly"

3. ...and run main script setup.bat.


πŸ”Ή Update

  • Close Firefox
  • Execute setup.sh or setup.bat script, like as above
  • Run Firefox
  • On about:config page execute the cleanup script

πŸ”Ή Potential Problems

  • By default push and web notifications is disabled - site can't send desktop notifications for Firefox.

πŸ”Ή Must-have Addons


πŸ”Ή References