This is my personal collection of Firefox customizations, easily installed via a Powershell script.
iwr https://raw.githubusercontent.com/AlexanderReaper7/firefox-extras/main/scripts/deploy.ps1 | iexMoves the findbar to the top center of the screen and restyles it.
Based on and inspired by: https://github.com/ravindUwU/firefox-refined-findbar
See src/findbar.scss for all customization options.
This project vendors the
MrOtherGuy/fx-autoconfig JS
loader directly into the repository (under vendor/fx-autoconfig/) so that
zero external dependencies are fetched at deploy time (supply-chain safety).
The pinned version is fully auditable and can be updated or replaced — see
vendor/fx-autoconfig/VENDOR.md for details.
A clock.uc.js user script (chrome/JS/clock.uc.js) is included that displays
the current date and time in the Firefox toolbar as a proper toolbar widget. you can find it under the "customize toolbar..." menu by right clicking the toolbar.
It is deployed automatically by the deploy scripts alongside the loader.
The autohide-toolbar.uc.js user script (chrome/JS/autohide-toolbar.uc.js) hides the whole browser chrome (tabs, navigation bar, bookmarks bar). The chrome slides back in when the mouse reaches the top edge of the window, the way Firefox fullscreen does it, but the window stays a normal window, so an auto-hiding taskbar or panel (Windows, COSMIC) can still open.
- The chrome moves the way the COSMIC panel's autohide does: it slides out until a 4px handle is left, over 100ms on a smootherstep curve, starting 500ms after the pointer leaves, twice as fast and half the wait of the panel's
autohide_behaviordefaults. It slides in over 150ms on the same curve, against the panel's 200ms, and starts the moment the pointer arrives, without the panel's 200ms wait. The pointer reveals it anywhere in the top 16px of the window, the handle and an invisible strip below it, so a window whose top edge is not the screen's still catches a pointer moving up. The strip turns off while the chrome is shown. The numbers are variables at the top ofchrome/autohide-toolbar.css. - On COSMIC the toolbox takes the panel's background: the theme's background colour at the panel's opacity, opaque while the window is maximized unless the panel keeps its style on maximize. The script reads
~/.config/cosmicat startup and again whenever the window gets focus, so a change made in COSMIC Settings shows without a restart. Without those files the toolbox keeps Firefox's opaque background. - Keyboard focus inside the chrome, such as the address bar after Ctrl+L, keeps it revealed.
- A menu or panel opened from the revealed chrome keeps it revealed until every open menu has closed. A menu opened from the page while the chrome is hidden does not reveal it.
- Customize mode and fullscreen use Firefox's normal layout.
Toggle it with the toolbar button, which can be moved from the "Customize toolbar..." menu, or with Shift+F11. The state persists across restarts in the userchrome.autohide-toolbar.enabled preference.
The loader requires two files to be placed in the Firefox installation
directory (e.g. C:\Program Files\Mozilla Firefox\ on Windows,
/usr/lib/firefox/ on Linux):
config.jsdefaults/pref/config-prefs.js
The deploy scripts attempt this automatically, but may require you to run as
Administrator (Windows) or with sudo (Linux/macOS). If automatic
installation fails, copy the files manually from vendor/fx-autoconfig/program/
to your Firefox installation directory.
Option A: PowerShell Automated Deployment (Recommended)
Run from PowerShell (downloads latest release and installs automatically):
iwr https://raw.githubusercontent.com/AlexanderReaper7/firefox-extras/main/scripts/deploy.ps1 | iexOr clone the repo and run locally:
pwsh scripts/deploy.ps1 # latest release
pwsh scripts/deploy.ps1 -Local # from local buildAlways review remote scripts before running.
Supported platforms: Windows, macOS, Linux (requires PowerShell Core on
non-Windows)
Option B: Manual Installation
- Go to Releases and download
firefox-chrome.zip. - Open your Firefox profile (
about:profiles→ your profile → Open Folder). - Extract
chrome/from the zip into your profile directory (merge if asked). - Ensure
about:config→toolkit.legacyUserProfileCustomizations.stylesheets = true. - Restart Firefox.
- Helper page (GitHub Pages): https://AlexanderReaper7.github.io/firefox-extras/
- Click “Copy SCSS”
- Open the Sass Playground: https://sass-lang.com/playground/
- Paste into the SCSS pane, tweak options, copy generated CSS into
chrome/findbar.css.
chrome/userChrome.css— imports the compiledfindbar.cssat runtime; also contains toolbar clock styles.chrome/JS/clock.uc.js— toolbar clock user script (requires the JS loader).src/refined-findbar.scss— the mixin and stylessrc/findbar.scss— entry file configuring optionsvendor/fx-autoconfig/— vendored MrOtherGuy/fx-autoconfig JS loader (pinned commit; see VENDOR.md)docs/— helper page for Sass Playground (published via GitHub Pages)- GitHub Actions:
release.yml: builds compiled CSS on tag push, uploads release assetspages.yml: publishesdocs/to GitHub Pages
Note: chrome/findbar.css is generated and excluded from source. It is included
only in Releases.
- Can I reload userChrome.css without restarting Firefox?
- No; restart is required. Use the Browser Toolbox for temporary iteration, then restart.
MIT (see LICENSE). Please retain attribution to the original project linked above.

