Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/poghahm/firefox-legacy-user-profile-customizations
Scripts to configure Firefox profiles
https://github.com/poghahm/firefox-legacy-user-profile-customizations
Last synced: 4 months ago
JSON representation
Scripts to configure Firefox profiles
- Host: GitHub
- URL: https://github.com/poghahm/firefox-legacy-user-profile-customizations
- Owner: poghahm
- Created: 2020-01-06T04:22:53.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T04:53:32.000Z (about 2 years ago)
- Last Synced: 2024-08-01T13:26:34.446Z (7 months ago)
- Language: JavaScript
- Size: 392 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-security-awesome - firefox-legacy-user-profile-customizations
README
# Firefox Legacy User Profile Customizations
These scripts enable easy configuration of Firefox profile directories.
The main [`update`](bin/update) script writes these files:
* `$PROFILE_DIR/user.js`
* `$PROFILE_DIR/chrome/userChrome.css`
* `$PROFILE_DIR/chrome/userContent.css`To make changes to [`user.js`](user.js) and [`userChrome.css`](userChrome.css),
just edit the files.The [`compile`](bin/compile) script compiles `userContent.css`
from the contents of the [`src`](src) directory.The [`format`](bin/format) script formats the source files.
Everyone's preferences are different, so the best way to use this repository
is as a starter template that you customize to your needs.## Introduction
The following terminal transcript shows
* how to install prerequisites (`npm install`)
* how to mark a profile directory as managed (`./run bin/init`)
* how to update the configuration of managed profiles (`./run bin/update`)
* what the compiled `userContent.css` file looks like (`cat userContent.css`)*Restart Firefox to pick up the new configuration.*
```
pog@bootes:~/src
$ npm install
added 410 packages from 259 contributors and audited 1612 packages in 3.249s
found 0 vulnerabilitiespog@bootes:~/src
$ ./run bin/init
Usage:
./run bin/init PROFILE_DIRExamples:
./run bin/init /home/pog/.mozilla/firefox/6ey5rbxk.Email
./run bin/init /home/pog/.mozilla/firefox/ea8cttuh.Restaurants
./run bin/init /home/pog/.mozilla/firefox/si4c2ymx.Shop
./run bin/init /home/pog/.mozilla/firefox/ttcviopc.default1 pog@bootes:~/src
$ ./run bin/init /home/pog/.mozilla/firefox/6ey5rbxk.Email
Touching /home/pog/.mozilla/firefox/6ey5rbxk.Email/.Aing1poghahm2ji3NoevaiLuocie3hijpog@bootes:~/src
$ ./run bin/init /home/pog/.mozilla/firefox/ttcviopc.default
Touching /home/pog/.mozilla/firefox/ttcviopc.default/.Aing1poghahm2ji3NoevaiLuocie3hijpog@bootes:~/src
$ ./run bin/update
Writing /home/pog/.mozilla/firefox/6ey5rbxk.Email/user.js
Writing /home/pog/.mozilla/firefox/6ey5rbxk.Email/chrome/userChrome.css
Writing /home/pog/.mozilla/firefox/6ey5rbxk.Email/chrome/userContent.css
Writing /home/pog/.mozilla/firefox/ttcviopc.default/user.js
Writing /home/pog/.mozilla/firefox/ttcviopc.default/chrome/userChrome.css
Writing /home/pog/.mozilla/firefox/ttcviopc.default/chrome/userContent.csspog@bootes:~/src
$ cat userContent.css
/* MAGIC:Aing1poghahm2ji3NoevaiLuocie3hij */@-moz-document domain("aaa.example.com"){.header{animation-play-state:paused;-webkit-animation-play-state:paused}}
@-moz-document domain("bbb.example.com"){body,html{height:initial!important;overflow-y:initial!important}#wrapper,body{position:initial!important}}
@-moz-document domain("ccc.example.com"){#openFeedbackContainer{display:none!important}}
@-moz-document domain("ddd.example.com"){main+aside{display:none!important}}
@-moz-document domain("eee.example.com"){#toasts_mount_point,.c-toast{display:none!important}}
@-moz-document domain("fff.example.com"){.commentPopover{display:none!important}}
@-moz-document domain("ggg.example.com"){.a-expander-collapsed-height{max-height:initial!important;height:initial!important}.a-expander-partial-collapse-header{display:none!important}}
@-moz-document domain("hhh.example.com"){#spinnerContainer,.annotation,.ytp-ce-element,.ytp-chrome-top-buttons,ytd-popup-container{display:none!important}}
@-moz-document regexp("https?://subdomain\\..*"){#nps-survey-inline-dialog{display:none!important}}
@-moz-document url("about:privatebrowsing"){body{display:none!important}}
@-moz-document url("https://iii.example.com/doc/doc.html"){body{background-attachment:initial!important}}
@-moz-document url-prefix("about:reader"){.toolbar{display:none!important}}
@-moz-document url-prefix("https://jjj.example.com/manual/"){.collapse{display:initial!important}}
```## Linux
It is easy to create a site-specific browser for Gnome for a profile
to run as a separate application,
including with a custom icon in the Alt+Tab switcher.First create a desktop file:
```
$ cat ~/.local/share/applications/firefox-example.desktop
[Desktop Entry]
Name=Example
Comment=Example
Exec=firefox -P Example --no-remote --name "firefox-example"
Icon=example
Terminal=false
Type=Application
```The option `--name "firefox-example"`
causes Gnome to look for the `Icon` entry
in the `firefox-example.desktop` file.For Wayland, the option is `--name "firefox-example"`.
For X, the option is `--class "firefox-example"`.
Then put the custom icons in the right location:
```
$ fd example ~/.local/share/icons
/home/pog/.local/share/icons/hicolor/128x128/apps/example.png
/home/pog/.local/share/icons/hicolor/16x16/apps/example.png
/home/pog/.local/share/icons/hicolor/256x256/apps/example.png
/home/pog/.local/share/icons/hicolor/32x32/apps/example.png
/home/pog/.local/share/icons/hicolor/512x512/apps/example.png
```Log out and log back in to pick up the new icons, or run
```
touch ~/.local/share/icons/ && sudo gtk-update-icon-cache
```Here is an example of how to make the icons using ImageMagick:
```
for i in 128x128 16x16 256x256 32x32 512x512; do convert -resize $i original.png example-$i.png; done
for i in 128x128 16x16 256x256 32x32 512x512; do cp example-$i.png ~/.local/share/icons/hicolor/$i/apps/example.png; done
```The Apple App Store on the web is a good source of icons.
## macOS
Custom Cmd+Tab switcher icons appear not to be possible on the Mac.
This post describes how to create a site-specific browser
for a Firefox profile for the Mac:* https://spf13.com/post/managing-multiple-firefox-profiles-in-os-x/
It is possible to set a custom icon for use in the dock,
but once launched it shows up in the Cmd+Tab switcher
with the normal Firefox icon.