{"id":13399855,"url":"https://github.com/rafaelmardojai/firefox-gnome-theme","last_synced_at":"2025-05-13T20:23:10.654Z","repository":{"id":37601689,"uuid":"189863872","full_name":"rafaelmardojai/firefox-gnome-theme","owner":"rafaelmardojai","description":"A GNOME👣 theme for Firefox🔥","archived":false,"fork":false,"pushed_at":"2025-04-14T16:01:36.000Z","size":9531,"stargazers_count":3667,"open_issues_count":30,"forks_count":166,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-28T11:59:54.085Z","etag":null,"topics":["css","firefox","gnome","gtk","theme","userchrome"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafaelmardojai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"rafaelmardojai","patreon":"rafaelmardojai","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"rafaelmardojai","issuehunt":null,"otechie":null,"custom":["https://rafaelmardojai.com/donate/"]}},"created_at":"2019-06-02T15:33:41.000Z","updated_at":"2025-04-27T11:35:41.000Z","dependencies_parsed_at":"2023-02-15T11:46:58.931Z","dependency_job_id":"9fbcbc5b-84fa-4040-a508-1627f1fb90ff","html_url":"https://github.com/rafaelmardojai/firefox-gnome-theme","commit_stats":{"total_commits":1157,"total_committers":89,"mean_commits":13.0,"dds":0.2247191011235955,"last_synced_commit":"097c98cb4a7568f6f83a43e37950c08b575dd126"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmardojai%2Ffirefox-gnome-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmardojai%2Ffirefox-gnome-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmardojai%2Ffirefox-gnome-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelmardojai%2Ffirefox-gnome-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafaelmardojai","download_url":"https://codeload.github.com/rafaelmardojai/firefox-gnome-theme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["css","firefox","gnome","gtk","theme","userchrome"],"created_at":"2024-07-30T19:00:44.103Z","updated_at":"2025-04-28T12:00:02.457Z","avatar_url":"https://github.com/rafaelmardojai.png","language":"CSS","funding_links":["https://github.com/sponsors/rafaelmardojai","https://patreon.com/rafaelmardojai","https://liberapay.com/rafaelmardojai","https://rafaelmardojai.com/donate/","https://paypal.me/RafaelMardojaiCM","https://liberapay.com/rafaelmardojai/donate"],"categories":["CSS","HarmonyOS","Themes","Look and Feel"],"sub_categories":["Windows Manager","Themes for non-GTK apps"],"readme":"\u003cimg src=\"icon.svg\" alt=\"Firefox GNOME theme\" width=\"128\" align=\"left\"/\u003e\n\n# Firefox GNOME theme\n\n[![GitHub](https://img.shields.io/github/license/rafaelmardojai/firefox-gnome-theme.svg)](https://github.com/rafaelmardojai/firefox-gnome-theme/blob/master/LICENSE)\n[![Donate](https://img.shields.io/badge/PayPal-Donate-gray.svg?style=flat\u0026logo=paypal\u0026colorA=0071bb\u0026logoColor=fff)](https://paypal.me/RafaelMardojaiCM)\n[![Liberapay](https://img.shields.io/liberapay/receives/rafaelmardojai.svg?logo=liberapay)](https://liberapay.com/rafaelmardojai/donate)\n\n\u003cbr\u003e\n\n**A GNOME theme for Firefox**\n\nThis theme follows latest GNOME Adwaita style.\n\n\u003e [!WARNING]\n\u003e ### Disclaimer:\n\u003e Be aware that this theme might do things that are not supported by upstream Firefox. If you face an issue while using this theme, report it here first or test if it is reproducible in vanilla Firefox.\n\u003e\n\u003e If you are a software distribution maintainer, please do not ship these changes by default to your users unless you make it extremely clear that they are using a modified version of the Firefox UI.\n\n![Screenshot of the theme](screenshot.png)\n\n## Description\n\nThis is a bunch of CSS code to make Firefox look closer to GNOME's native apps.\n\n### Getting in Touch\n\nMatrix room: [#firefox-gnome-theme:matrix.org](https://matrix.to/#/#firefox-gnome-theme:matrix.org)\n\n### Firefox versions support\n\nThe `master` branch of this repo supports the current Firefox stable release `137`.\n\nTheme versions compatible with older Firefox releases are preserved as git tags.\n\nWe also have the `beta` and `nightly` branches for fixes only applicable to the current Firefox beta and nightly versions.\n\n# Installation\n\nThe most friendly way to get this theme is using the **Add Water** app.\n\n\u003ca href='https://flathub.org/apps/dev.qwery.AddWater'\u003e\n    \u003cimg width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/\u003e\n\u003c/a\u003e\n\n## One command install with curl\n\nTo install this theme, you can run this command, which uses *curl* to download a script that will also download the latest released version of the theme (not the master version) and run the **auto-install** script for you.\n\n\u003e [!WARNING]\n\u003e Always be careful when running scripts from the Internet.\n\n```sh\ncurl -s -o- https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh | bash\n```\n\n## Installation scripts\n\nIf you want to use other version of the theme than the stable one you can manually download the theme and run its install scripts.\n\nFirst you need to grab a fresh copy of the theme repository by cloning it with git.\n\n1. Clone this repo and enter folder:\n\n\t```sh\n\tgit clone https://github.com/rafaelmardojai/firefox-gnome-theme.git\n\tcd firefox-gnome-theme\n\t```\n2. Checkout a git branch or tag if needed, otherwise use `master` and ignore this step.\n\t```sh\n\tgit checkout beta # Set beta branch\n\tgit checkout v78.1 # Set v78.1 tag\n\t```\n\nThis theme provides two installation scripts in addition to the curled one.\n\n### Auto install script\n\nThis script will look for Firefox profiles from various known locations (`~/.mozilla/firefox/`, Flatpak, Snap, etc) and install the theme in each one.\n\nYou can execute it by running:\n\n```sh\n./scripts/auto-install.sh\n```\n\n### Manual install script\n\nThis script will only install the theme into the profiles found in the default Firefox folder `~/.mozilla/firefox/`. The script accepts various flags to change its behavior.\n\nHere are some examples of how to use it:\n\n```sh\n./scripts/install.sh # Standard\n./scripts/install.sh -p pc8577yz.default-release # Only install in a profile named pc8577yz.default-release\n./scripts/install.sh -f ~/.var/app/org.mozilla.firefox/.mozilla/firefox # Flatpak\n./scripts/install.sh -f ~/snap/firefox/common/.mozilla/firefox #Snap\n```\n\n#### Script options\n- `-f \u003cfirefox_folder_path\u003e` *optional*\n\t- Set custom Firefox folder path, for example `~/.mozilla/icecat/`.\n\t- Default: `~/.mozilla/firefox/`\n\n- `-p \u003cprofile_name\u003e` *optional*\n\t- Set custom profile name, for example `e0j6yb0p.default-nightly`.\n\t- Default: All the profiles found in the firefox folder\n\n### Advanced notes\n\u003cdetails\u003e\n    \u003csummary\u003eExpand\u003c/summary\u003e\n\nIf you want to checkout the theme version tag matching you Firefox version you can run:\n\n```sh\ngit checkout v$(firefox --version | cut -d ' ' -f 3 | cut -d '.' -f 1) # Using Firefox version\n```\n\u003c/details\u003e\n\n## Package managers\n\n### Arch Linux\n\n1. Install the [AUR package](https://aur.archlinux.org/packages/firefox-gnome-theme) `firefox-gnome-theme` \n2. Follow the instructions at `cat /usr/share/doc/firefox-gnome-theme/INSTALL.md`\n\n## Manual installation\n\u003cdetails\u003e\n    \u003csummary\u003eExpand\u003c/summary\u003e\n\n1. Go to `about:support` in Firefox.\n\n2. Application Basics \u003e Profile Directory \u003e Open Directory.\n\n3. Open directory in a terminal.\n\n4. Create a `chrome` directory if it doesn't exist:\n\n    ```sh\n    mkdir -p chrome\n    cd chrome\n    ```\n\n5. Clone this repo to a subdirectory:\n\n    ```sh\n    git clone https://github.com/rafaelmardojai/firefox-gnome-theme.git\n    ```\n\n6. Create single-line user CSS files if non-existent or empty (at least one line is needed for `sed`):\n\n    ```sh\n    [[ -s userChrome.css ]] || echo \u003e\u003e userChrome.css\n    [[ -s userContent.css ]] || echo \u003e\u003e userContent.css\n    ```\n\n7. Import this theme at the beginning of the CSS files (all `@import`s must come before any existing `@namespace` declarations):\n\n    ```sh\n    sed -i '1s/^/@import \"firefox-gnome-theme\\/userChrome.css\";\\n/' userChrome.css\n    sed -i '1s/^/@import \"firefox-gnome-theme\\/userContent.css\";\\n/' userContent.css\n    ```\n\n8. Symlink preferences file:\n\n    ```sh\n    cd .. # Go back to the profile directory\n    ln -fs chrome/firefox-gnome-theme/configuration/user.js user.js\n    ```\n\n9. Restart Firefox.\n\n10. Open Firefox customization panel and move the new tab button to headerbar.\n\n11. Be happy with your new gnomish Firefox.\n\u003c/details\u003e\n\n## Required Firefox preferences\nWe provide a **user.js** configuration file in `configuration/user.js` that enables some preferences required by this theme to work.\n\nYou should already have this file installed if you followed one of the installation methods, but in any case be sure this preferences are enabled under `about:config`:\n\n- `toolkit.legacyUserProfileCustomizations.stylesheets`\n\n\tThis preference is required to load the custom CSS in Firefox, otherwise the theme wouldn't work.\n\n- `svg.context-properties.content.enabled`\n\n\tThis preference is required to recolor the icons, otherwise you will get black icons everywhere.\n\n\u003e For other non essential preferences checkout `configuration/user.js`.\n\n## Updating\n\nYou can follow the installation script steps again to update the theme.\n\n## Uninstalling\n1. Go to your profile folder. (Go to `about:support` in Firefox \u003e Application Basics \u003e Profile Directory \u003e Open Directory)\n2. Remove `chrome` folder.\n3. Remove the unwanted preferences from your `user.js` inside your profile folder. The install script append the needed prefs in that file, you can check what preferences does it append by checking `configuration/user.js` in this repo.\n\n## Enabling optional features\nOptional features can be enabled by creating new `boolean` preferences in `about:config`.\n\n1. Go to the `about:config` page\n2. Type the key of the feature you want to enable\n3. Set it as a `boolean` and click on the add button\n4. Restart Firefox\n\n### Features\n\n- **Hide single tab** `gnomeTheme.hideSingleTab`\n\n\tHide the tab bar when only one tab is open.\n\n\t\u003e **Note:** You should move the new tab button out of the tabbar or it will be hidden when there is only one tab. You can rearrange the toolbars doing a right-click on any toolbar and selecting \"Customize Toolbar…\".\n\n- **Normal width tabs** `gnomeTheme.normalWidthTabs`\n\n\tUse normal width tabs as default Firefox.\n\n- **Swap tab close button position** `gnomeTheme.swapTabClose`\n\n\tBy default the tab close buttons follows the position of the window controls, this preference reverts that behavior.\n\n- **Bookmarks toolbar under tabs** `gnomeTheme.bookmarksToolbarUnderTabs`\n\n\tMove Bookmarks toolbar under tabs.\n\n- **Active tab contrast** `gnomeTheme.activeTabContrast`\n\n\tAdd more contrast to the active tab.\n\n- **Close only selected tabs** `gnomeTheme.closeOnlySelectedTabs`\n\n\tShow the close button on the selected tab only.\n\n- **System icons** `gnomeTheme.systemIcons`\n\n\tUse system theme icons instead of Adwaita icons included by theme.\n\n\t\u003e **Note:** This feature has a [known color bug](#icons-color-broken-with-system-icons).\n\n\n- **No themed Icons** `gnomeTheme.noThemedIcons`\n\n\tUse default Firefox icons instead of the included icons.\n\n\n- **Symbolic tab icons** `gnomeTheme.symbolicTabIcons`\n\n\tMake all tab icons look kinda like symbolic icons.\n\n- **Hide WebRTC indicator** `gnomeTheme.hideWebrtcIndicator`\n\n\tHide redundant WebRTC indicator since GNOME provides their own privacy icons in the top right.\n\n- **Hide unified extensions button** `gnomeTheme.hideUnifiedExtensions`\n\n\tHide unified extensions button from the navbar, you can also use `extensions.unifiedExtensions.enabled` instead, which is only going to work till Firefox 111.\n\n- **Drag window from headerbar buttons** `gnomeTheme.dragWindowHeaderbarButtons`\n\n\tAllow dragging the window from headerbar buttons.\n\n\t\u003e **Note:** This feature is BUGGED. It can activate the button with unpleasant behavior.\n\n- **Tabs as headerbar** `gnomeTheme.tabsAsHeaderbar`\n\n\tPlace the tabs on the top of the window, and use the tabs bar to hold the window controls, like Firefox's standard tab bar.\n\t\n\t\u003e **Note:** Enabling with `gnomeTheme.hideSingleTab` will replace the single tab with a title bar.\n\n- **OLED black theme** `gnomeTheme.oledBlack`\n\n\tChange the dark theme into the black variant.\n\t\n- **Show \"List All Tabs\" button on overflow** `gnomeTheme.allTabsButtonOnOverflow`\n\n\tShow the `List All Tabs` button when the tabs bar is overflowing (when you have too many tabs that the width of the tabs no longer shrinks when new tabs are added).\n\n- **Show \"List All Tabs\" button** `gnomeTheme.allTabsButton`\n\n\tShow the `List All Tabs` button all the time, like stock Firefox.\n    \n- **Align tab title and icon to left** `gnomeTheme.tabAlignLeft`\n\n\tAlign the tab title and favicon to left of tab in place of center.\n\t\n- **Bookmarks bar in fullscreen** `gnomeTheme.bookmarksOnFullscreen`\n\n\t Show the bookmarks bar while in fullscreen.\n\n### Extensions support\n\nWe also have optional features to enable support for some Firefox extensions.\n\n\u003e [!WARNING]\n\u003e Note that extension support is maintained by the community, so requests to support new extensions are not allowed, and the included extensions may be broken until someone shows up to fix them.\n\n- **Tab center reborn support** `gnomeTheme.extensions.tabCenterReborn`\n\n\tEnable the vertical tab trough the extension : [Tab Center Reborn](https://addons.mozilla.org/en-US/firefox/addon/tabcenter-reborn/).\n\n\t\u003e **Note:** You also need to copy the contents of the file `configuration/extensions/tab-center-reborn.css` into the settings page of Tabcenter-reborn..\\\n\t\u003e **Note2:** You can also maintain the vertical tab always open with `gnomeTheme.extensions.tabCenterReborn.alwaysOpen`\n \t\u003e **Note2:** You can disable animation by disabling animation into the extension and adding the flags `gnomeTheme.extensions.tabCenterReborn.animationDisabled`\n\t\n## Known bugs\n\n### CSD have sharp corners\nSee upstream [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1408360).\n\n#### Wayland fix:\n1. Go to the `about:config` page\n2. Search for the `layers.acceleration.force-enabled` preference and set it to true.\n3. Now restart Firefox, and it should look good!\n\n#### X11 fix:\n1. Go to the `about:config` page\n2. Type `mozilla.widget.use-argb-visuals`\n3. Set it as a `boolean` and click on the add button\n4. Now restart Firefox, and it should look good!\n\n### Icons color broken with System icons\nIcons might appear black where they should be white on some systems. I have no idea why, but you can adjust them directly in the `system-icons.css` file, look for `--gnome-icons-hack-filter` \u0026 `--gnome-window-icons-hack-filter` vars and play with css filters.\n\n## Development\n\nIf you wanna mess around the styles and change something, you might find these\nthings useful.\n\nTo use the Inspector to debug the UI, open the developer tools (F12) on any\npage, go to options, check both of those:\n\n- Enable browser chrome and add-on debugging toolboxes\n- Enable remote debugging\n\nNow you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser\nUI.\n\nAlso you can inspect any GTK3 application, for example type this into a terminal\nand it will run Epiphany with the GTK Inspector, so you can check the CSS styles\nof its elements too.\n\n```sh\nGTK_DEBUG=interactive epiphany\n```\n\nFeel free to use any parts of my code to develop your own themes, I don't force\nany specific license on your code.\n\n## Credits\nDeveloped by **[Rafael Mardojai CM](https://github.com/rafaelmardojai)** and [contributors](https://github.com/rafaelmardojai/firefox-gnome-theme/graphs/contributors). Based on **[Luna Kurame](https://github.com/lunakurame/firefox-gnome-theme)**'s original work.\n\n## Donate\nIf you want to support development, consider donating via [PayPal](https://paypal.me/RafaelMardojaiCM). Also consider donating upstream, [Firefox](https://donate.mozilla.org/) \u0026 [GNOME](https://www.gnome.org/support-gnome/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelmardojai%2Ffirefox-gnome-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelmardojai%2Ffirefox-gnome-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelmardojai%2Ffirefox-gnome-theme/lists"}