Install a theme to a Firefox or its derivatives browser profile automatically
Go to file
Moririn dac1af701d Apply transparency to find and bookmarks bar 2023-09-18 16:46:57 +01:00
chrome Apply transparency to find and bookmarks bar 2023-09-18 16:46:57 +01:00
LICENSE Initial commit 2023-08-21 13:40:49 +00:00
README.md Initial commit 2023-08-21 14:57:56 +01:00
foxtheme.sh Make THEMEDIR a variable 2023-09-12 17:58:32 +01:00
user.js Initial commit 2023-08-21 14:57:56 +01:00

README.md

Firefox theme installer

Automated installation of userChrome theming for Firefox and its derivatives' interface via a shell script. Included theme originally modified from Filip Sutkowy's blurclean-firefox-theme (GitHub).

Description

This script will create or modify the following files and directories:

  • <browser profile directory>/chrome/ and subsidiary CSS files will be created if they do not exist, or overwritten if -o is passed, in order to provide the necessary styles
  • <browser profile directory>/user.js will be created if it does not exist, or appended to in the case of an existing user.js, in order to modify the necessary about:config settings for the theme
  • <browser profile directory>/user-overrides.js will be created if it does not exist, or appended to in the case of an existing user-overrides.js, with the same modifications as the regular user.js file in order to ensure current or a potential future compatibility with the arkenfox user.js (GitHub) or similar

Note: user.js files are read "top-to-bottom" by the browser, thus giving priority to the final alteration of a given preference that appears within the file. As such, the appending of the necessary preferences for this theme may overwrite users' existing settings for those preferences.

Options

Usage: ./foxtheme.sh [OPTIONS] [PROFILE | -a PROFILESDIR]
-a		Apply theme to all (current) browser profiles
-j		Just create or modify user.js and not user-overrides.js
-o		Remove and replace an existing theme if found
-h		Display this help message

Custom themes

This script is ultimately just a glorified wrapper for:

cp -r chrome/ <browser profile directory>/
cat user.js >> <browser profile directory>/user.js
cat user.js >> <browser profile directory>/user-overrides.js

As such, replacing the user.js or contents of the chrome directory with custom preferences and themes should offer the same functionality.