Source for the personal Firefox theme used by VOiDFOX. It keeps Firefox chrome pitch black (#000000) and uses icy blue (#1793d1) for text, icons, progress, and focus accents.
The AMO-hosted 1.2 theme was created with Mozilla's web theme builder and only declares ten color properties. Firefox Nightly 155 exposed an important omission: the theme has frame: #000000 but no frame_inactive, so an unfocused browser window can inherit a non-black tab-strip background. This project makes the inactive frame and other current Firefox surfaces explicit.
The Gecko add-on ID remains {bb99798d-c9d5-4426-97ed-7a730b62bd15}. A signed 1.3.0 upload to the existing AMO listing will therefore update the currently installed theme instead of creating a separate add-on.
cd ~/Projects/icy-void-oled
npm install
npm run check
npm run lint
npm run packagenpm run package writes an unsigned AMO submission ZIP under web-ext-artifacts/. A normal persistent Firefox installation still requires Mozilla signing.
For a temporary test in the current profile:
- Open
about:debugging#/runtime/this-firefox. - Choose Load Temporary Add-on.
- Select
~/Projects/icy-void-oled/src/manifest.json. - Open About Nightly or focus another window. The tab-strip background behind it should remain true black.
The temporary add-on lasts until Firefox restarts. To test in a disposable profile instead, point web-ext at the locally built browser:
npm run dev -- \
--firefox="$HOME/voidfox-build/firefox/obj-x86_64-pc-linux-gnu/dist/bin/firefox"- Run
npm run lint && npm run package. - Upload the generated ZIP as a new version of the existing
iCY//VOiD (OLED)AMO theme. - Let AMO sign the package, then update Firefox to the signed version.
- Keep the VOiDFOX build policy pointed at the existing
icy-void-oledAMO slug; it will pick up the signed update without a build-script change.
Publishing is intentionally separate from local development because it changes the public AMO listing.