Skip to content

About

firefox customizations, improved find bar

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Firefox Extras

This is my personal collection of Firefox customizations, easily installed via a Powershell script.

Quick Install

iwr https://raw.githubusercontent.com/AlexanderReaper7/firefox-extras/main/scripts/deploy.ps1 | iex

Findbar customization

Moves the findbar to the top center of the screen and restyles it.

findbar preview

Based on and inspired by: https://github.com/ravindUwU/firefox-refined-findbar

See src/findbar.scss for all customization options.


JS Loader

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.

Toolbar Clock

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.

toolbar clock preview

Auto-hide Toolbar

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_behavior defaults. 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 of chrome/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/cosmic at 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.

⚠️ Loader install requires elevation on some platforms

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.js
  • defaults/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 | iex

Or clone the repo and run locally:

pwsh scripts/deploy.ps1           # latest release
pwsh scripts/deploy.ps1 -Local   # from local build

Always review remote scripts before running.
Supported platforms: Windows, macOS, Linux (requires PowerShell Core on non-Windows)

Option B: Manual Installation

  1. Go to Releases and download firefox-chrome.zip.
  2. Open your Firefox profile (about:profiles → your profile → Open Folder).
  3. Extract chrome/ from the zip into your profile directory (merge if asked).
  4. Ensure about:config → toolkit.legacyUserProfileCustomizations.stylesheets = true.
  5. Restart Firefox.

Customize (easy)


Repo layout

  • chrome/userChrome.css — imports the compiled findbar.css at 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 styles
  • src/findbar.scss — entry file configuring options
  • vendor/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 assets
    • pages.yml: publishes docs/ to GitHub Pages

Note: chrome/findbar.css is generated and excluded from source. It is included only in Releases.


FAQ

  • Can I reload userChrome.css without restarting Firefox?
    • No; restart is required. Use the Browser Toolbox for temporary iteration, then restart.

License

MIT (see LICENSE). Please retain attribution to the original project linked above.

About

firefox customizations, improved find bar

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages