{"id":51099009,"url":"https://github.com/balakumardev/onyxfox","last_synced_at":"2026-06-24T09:02:13.481Z","repository":{"id":364498454,"uuid":"1268153180","full_name":"balakumardev/onyxfox","owner":"balakumardev","description":"AMOLED auto-hiding vertical tabs for Firefox + Sidebery. A VerticalFox successor for Firefox 151 / Sidebery v5.","archived":false,"fork":false,"pushed_at":"2026-06-13T07:52:34.000Z","size":3422,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T09:25:23.729Z","etag":null,"topics":["amoled","dark-theme","firefox","firefox-css","firefox-theme","sidebery","userchrome","vertical-tabs"],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/balakumardev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-13T07:43:32.000Z","updated_at":"2026-06-13T07:52:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/balakumardev/onyxfox","commit_stats":null,"previous_names":["balakumardev/onyxfox"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/balakumardev/onyxfox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balakumardev%2Fonyxfox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balakumardev%2Fonyxfox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balakumardev%2Fonyxfox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balakumardev%2Fonyxfox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/balakumardev","download_url":"https://codeload.github.com/balakumardev/onyxfox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balakumardev%2Fonyxfox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34724743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amoled","dark-theme","firefox","firefox-css","firefox-theme","sidebery","userchrome","vertical-tabs"],"created_at":"2026-06-24T09:02:09.279Z","updated_at":"2026-06-24T09:02:13.475Z","avatar_url":"https://github.com/balakumardev.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OnyxFox\n\nAMOLED-black, auto-hiding **vertical tabs** for Firefox, built on [Sidebery](https://addons.mozilla.org/firefox/addon/sidebery/). The tab strip collapses to a thin column of favicons and slides out on hover, the native horizontal tab bar is hidden, and the whole panel is pure `#000000`.\n\nA spiritual successor to [VerticalFox](https://github.com/christorange/VerticalFox), rebuilt for **Firefox 151 and Sidebery v5** (the original broke on newer Firefox).\n\n\u003e Tested on macOS + Firefox 151 + Sidebery 5.5.2. The Windows and Linux installers are included but community-tested.\n\n## Demo\n\n![OnyxFox: auto-hiding AMOLED vertical tabs in action](assets/onyxfox-demo.gif)\n\n*Move the mouse to the left edge and the favicon rail slides out to full tab titles; move away and it collapses back to icons. Pure `#000000` throughout, native tab bar hidden.*\n\n## What you get\n\n- Auto-hiding favicon rail (44px) that expands on hover (260px) and overlays the page (no content reflow).\n- Native horizontal tab bar hidden.\n- Pure-black AMOLED theme across the whole Sidebery panel: tabs, active and hover states, context menus, scrollbars.\n- Titles hidden when collapsed, shown when expanded: a clean icon rail, not clipped text.\n- A single `user.js` file makes the about:config changes for you (no manual toggling).\n\n## Requirements\n\n- Firefox Desktop (see [Compatibility](#compatibility) for version notes).\n- The [Sidebery](https://addons.mozilla.org/firefox/addon/sidebery/) add-on.\n\n## Install\n\n### 1. Get the files\n\n```sh\ngit clone https://github.com/balakumardev/onyxfox\ncd onyxfox\n```\n\n(Or download the ZIP from GitHub and unzip it, then open a terminal in that folder.)\n\n### 2. Run the installer (does user.js + userChrome.css for you)\n\n**Quit Firefox completely first.**\n\nmacOS / Linux:\n\n```sh\n./install.sh\n```\n\nWindows (PowerShell):\n\n```powershell\npowershell -ExecutionPolicy Bypass -File .\\install.ps1\n```\n\nThe installer finds your default profile, backs up any existing `user.js` and `userChrome.css` to `*.onyxfox.bak`, then installs OnyxFox. Add `--dry-run` (`-DryRun` on Windows) to preview without changing anything. Prefer to do it by hand? See [Manual install](#manual-install).\n\n### 3. Apply the Sidebery CSS (the one step that cannot be scripted)\n\nSidebery keeps its styling inside the add-on, so this part is always manual. Two ways:\n\n**Option A, import (one click):**\n\n1. Sidebery -\u003e Settings -\u003e scroll to **Help** -\u003e **Import addon data**.\n2. Choose `sidebery/onyxfox.sidebery.json`.\n3. Only **Styles** will be selectable. Leave it checked and confirm.\n\nThis is non-destructive: it sets only the sidebar CSS and leaves your panels, containers, and other settings untouched (it even preserves any custom CSS you already had).\n\n**Option B, paste:**\n\n1. Sidebery -\u003e Settings -\u003e **Styles editor**.\n2. Make sure the top toggle is on **Sidebar**, then paste the contents of `src/sidebery-amoled.css`.\n\n### 4. Two Sidebery settings (once)\n\nThese cannot be safely bundled into the import (a Sidebery settings-import replaces all your settings), so set them by hand:\n\n- Settings -\u003e **Appearance** -\u003e **Color scheme** -\u003e **Dark**  (required, or the colors revert).\n- Settings -\u003e **Navigation bar** -\u003e enable **Show navigation bar in one line**.\n\n### 5. Restart Firefox fully\n\nMove your mouse off the sidebar and it collapses to a favicon rail; hover and it slides out with titles.\n\n## Uninstall\n\n```sh\n./uninstall.sh                                              # macOS / Linux\npowershell -ExecutionPolicy Bypass -File .\\uninstall.ps1    # Windows\n```\n\nThis restores your backed-up files (or removes OnyxFox's). To remove the Sidebery CSS, clear it in Sidebery -\u003e Settings -\u003e Styles editor.\n\n## Manual install\n\nIf you would rather not run a script:\n\n1. Copy `src/user.js` into your Firefox **profile root** (the folder containing `prefs.js`). Find it via `about:profiles`.\n2. Create a `chrome` folder in the profile root and copy `src/userChrome.css` into it.\n3. Do steps 3, 4, 5 above.\n\n## How it works\n\nThree layers:\n\n1. **`user.js`** (profile root) sets two prefs on startup: `toolkit.legacyUserProfileCustomizations.stylesheets = true` (lets Firefox load custom chrome CSS) and `sidebar.revamp = false` (use the classic sidebar the layout depends on).\n2. **`userChrome.css`** (profile `chrome/`) hides the native tab bar and turns the sidebar into the 44px-to-260px auto-hide overlay.\n3. **Sidebery CSS** (inside the add-on) paints everything AMOLED black and, via a width media query, hides tab titles when the rail is narrow, giving clean centered favicons.\n\n## Customizing\n\nThe collapsed and expanded widths live in `src/userChrome.css`:\n\n```css\n--uc-sidebar-width: 44px;         /* collapsed favicon rail */\n--uc-sidebar-hover-width: 260px;  /* expanded on hover */\n```\n\nIf you widen the rail past about 110px, also lower the `@media (max-width: 120px)` breakpoint in `src/sidebery-amoled.css`, then re-import or re-paste. Colors are the `--s-*` variables at the top of `src/sidebery-amoled.css`; change `#000000` to taste.\n\n## Compatibility\n\n\u003e **Important:** OnyxFox relies on `sidebar.revamp = false` (Firefox's classic sidebar). **Mozilla plans to remove that preference in Q3 2026** (around Firefox 152 to 154). When that lands, the second `user.js` pref stops having any effect, the new sidebar's launcher strip returns, and the auto-hide layout will need a revamp-mode rewrite.\n\u003e\n\u003e Last known-good: **Firefox 151, Sidebery 5.5.2.** A revamp-mode port will be tracked in Issues when that update arrives.\n\nSidebery also renames internal CSS classes between versions occasionally. If titles stop hiding after a Sidebery update, the selectors in `src/sidebery-amoled.css` need a refresh.\n\n## Troubleshooting\n\n- **Nothing changed after install:** fully quit and reopen Firefox. `user.js` only applies on startup.\n- **Colors are not black or they revert:** set Sidebery Color scheme to **Dark** (step 4). In \"firefox\" mode Sidebery overwrites the colors from your active theme.\n- **Titles still show in the collapsed rail:** confirm the Sidebery CSS is applied (step 3) and the rail is actually narrow (44px). If your rail is wider, raise the breakpoint.\n- **Installer cannot find my profile:** pass it explicitly with `./install.sh --profile \"/path/to/profile\"` (`-ProfilePath \"...\"` on Windows). Profile paths are listed in `about:profiles`.\n- **Custom chrome not loading at all:** check that `toolkit.legacyUserProfileCustomizations.stylesheets` is `true` in about:config.\n\n## Credits\n\nInspired by and a successor to [VerticalFox](https://github.com/christorange/VerticalFox) by christorange (MIT). Built on [Sidebery](https://github.com/mbnuqw/sidebery) by mbnuqw.\n\n## License\n\nMIT, see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalakumardev%2Fonyxfox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalakumardev%2Fonyxfox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalakumardev%2Fonyxfox/lists"}