firefox-gnome-theme

by rafaelmardojai

rafaelmardojai / firefox-gnome-theme

A GNOME👣 theme for Firefox🔥

555 Stars 37 Forks Last release: 2 months ago (v80) The Unlicense 547 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Firefox GNOME theme
Firefox GNOME theme

GitHub Donate

A GNOME theme for Firefox

This theme follows lastest GNOME Adwaita style.

Screenshot of the theme

Description

This is a bunch of CSS code to make Firefox look closer to GNOME's native apps.

This theme is supposed to work with current supported Firefox releases:

  • Firefox 81
  • Firefox 78 ESR
  • Firefox 82 Beta
  • Firefox 83 Nightly

Installation

Installation script

  1. Clone this repo and enter folder:

    sh
    git clone https://github.com/rafaelmardojai/firefox-gnome-theme/ && cd firefox-gnome-theme
    
  2. Run installation script:

    sh
    ./scripts/install.sh # Standard
    ./scripts/install.sh -f ~/.var/app/org.mozilla.firefox/.mozilla/firefox # Flatpak
    

Script options

  • -f 
    optional
    • Set custom Firefox folder path, for example
      ~/.mozilla/icecat/
      .
    • Default:
      ~/.mozilla/firefox/
  • -p 
    optional
    • Set custom profile name, for example
      e0j6yb0p.default-nightly
    • Default: standard default profile

Manual installation

  1. Go to

    about:support
    in Firefox.
  2. Application Basics > Profile Directory > Open Directory.

  3. Open directory in a terminal.

  4. Create a

    chrome
    directory if it doesn't exist:
    mkdir -p chrome
    cd chrome
    
  5. Clone this repo to a subdirectory:

    git clone https://github.com/rafaelmardojai/firefox-gnome-theme.git
    
  6. Create single-line user CSS files if non-existent or empty (at least one line is needed for

    sed
    ):
    [[ -s userChrome.css ]] || echo >> userChrome.css
    
  7. Import this theme at the beginning of the CSS files (all

    @import
    s must come before any existing
    @namespace
    declarations):
    sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css
    
  8. Symlink preferences file:

    ln -s chrome/firefox-gnome-theme/configuration/user.js ../user.js
    
  9. Restart Firefox.

  10. Open Firefox customization panel and move the new tab button to headerbar.

  11. Be happy with your new gnomish Firefox.

Updating

Both manual and script installation methods should create a git clone in

your-profile-folder-path/chrome/firefox-gnome-theme
, so the easiet way to update the theme is to open this folder in terminal and perform a git pull.
git pull origin master

Note: Running installation script to update after cloning again the repo can work, but also can introduce duplication in CSS sheets.

Uninstalling

  1. Go to your profile folder. (Go to
    about:support
    in Firefox > Application Basics > Profile Directory > Open Directory)
  2. Remove
    chrome
    folder.

Scrollbars

To achieve Firefox with overlay scrollbars install firefox-gnome-scrollbars.

Enabling optional features

Optional features can be enabled by crating new

boolean
preferences in
about:config
.
  1. Go to the
    about:config
    page
  2. Type the key of the feature you want to enable
  3. Set it as a
    boolean
    and click on the add button
  4. Restart Firefox

Features

Hide single tab

gnomeTheme.hideSingleTab

Hide the tab bar when only one tab is open.

You should move the new tab button somewhere else for this to work, because by default it is on the tab bar too.

Normal width tabs

gnomeTheme.normalWidthTabs

Use normal width tabs as default Firefox.

Active tab contrast

gnomeTheme.activeTabContrast

Add more contrast to the active tab.

System icons

gnomeTheme.systemIcons

Use system theme icons instead of Adwaita icons included by theme.

Drag window from headerbar buttons [BUGGED]

gnomeTheme.dragWindowHeaderbarButtons

Allow draging the window from headerbar buttons.

Note: It can activate button action, with unpleasant behavior.

Symbolic tab icons

gnomeTheme.symbolicTabIcons

Make all tab icons look kinda like symbolic icons.

Known bugs

CSD have sharp corners

See upstream bug.

Wayland fix:

  1. Go to the
    about:config
    page
  2. Search for the
    layers.acceleration.force-enabled
    preference and set it to true.
  3. Now restart Firefox, and it should look good!

X11 fix:

  1. Go to the
    about:config
    page
  2. Type
    mozilla.widget.use-argb-visuals
  3. Set it as a
    boolean
    and click on the add button
  4. Now restart Firefox, and it should look good!

Icons color broken with system-icons.css

Icons 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
&
--gnome-window-icons-hack-filter
vars and play with css filters.

Development

If you wanna mess around the styles and change something, you might find these things useful.

To use the Inspector to debug the UI, open the developer tools (F12) on any page, go to options, check both of those:

  • Enable browser chrome and add-on debugging toolboxes
  • Enable remote debugging

Now you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser UI.

Also you can inspect any GTK3 application, for example type this into a terminal and it will run Epiphany with the GTK Inspector, so you can check the CSS styles of its elements too.

GTK_DEBUG=interactive epiphany

Feel free to use any parts of my code to develop your own themes, I don't force any specific license on your code.

Credits

Developed by Rafael Mardojai CM and contributors. Based on Sai Kurogetsu original work.

Donate

If you want to support development, consider donating via PayPal. Also consider donating upstream, Firefox & GNOME.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.