WhiteSur-gtk-theme Documentation

MacOS like theme for all gtk based desktops

9,057 stars CSS CSS 1 file Β· ~3,296 tokens #gnome#gtk#gtk-theme#gtk3#gtk4#macos
RAW Doc

File: README.md

WhiteSur GTK Theme

If you like my project, you can buy me a coffee, many thanks ❀️ !

PayPal WeChat AliPay

Installation is easy!

Required dependencies (click to open)

"Install from source" deps

  • sassc
  • libglib2.0-dev-bin ubuntu 20.04
  • libglib2.0-dev ubuntu 18.04 debian 10.03 linux mint 19
  • libxml2-utils ubuntu 18.04 debian 10.03 linux mint 19
  • glib2-devel Fedora Redhat

Misc deps

  • imagemagick (optional for GDM theme tweak)
  • dialog (optional for installation in dialog mode)
  • optipng (optional for asset rendering)
  • inkscape (optional for asset rendering)

Don't worry, WhiteSur installer already provides all of those dependencies.

Recommended GNOME Shell extensions (click to open)

Quick install

Installing from source

  1. Run git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git --depth=1

  2. Run ./install.sh to install the default WhiteSur GTK theme pack.

Uninstall

  • uninstall Gtk themes: ./install.sh -r
  • uninstall GDM theme: sudo ./tweaks.sh -g -r
  • uninstall Firefox theme: ./tweaks.sh -f -r
  • uninstall Flatpak Gtk themes: ./tweaks.sh -F -r

There's so many customizations you can do!

Usage: ./install.sh [OPTIONS...]

Options (click to open)

text
/* Detailed source-code truncated for AI context efficiency. */

Fix for libadwaita (not perfect)

Details (click to open)

Since the release of Gnome 43.0, more and more built-in apps use libadwaita now, and libadwaita does not support custom themes, which means we cannot change the appearance of app using libadwaita through gnome-tweaks or dconf-editor. For users who love custom themes, it’s really sucks!

Anyway if anybody who still want to custom themes we can only do this way:

that is to use the theme file to overwrite the gtk-4.0 configuration file. The result is that only Fixed making all gtk4 apps use one theme and cannot be switched (even can not switch to dark mode) If you want to change a theme, you can only re-overwrite the gtk-4.0 configuration file with a new theme, I know this method is not perfect, But at the moment it is only possible to continue using themes for libadwaita's apps ...

Run this command to install WhiteSur into gtk-4.0 configuration folder ($HOME/.config/gtk-4.0)

bash
./install.sh -l                # Default is the normal dark theme
./install.sh -l -c light       # install light theme for libadwaita

- Install theme accent

Parameter: --theme -t (repeatable)

Example:

bash
./install.sh -t red            # install red theme accent only
./install.sh -t red -t green   # install red and green theme accents
./install.sh -t all            # install all available theme accents

Parameter: --nautilus -N

Example: ./install.sh -N mojave

You can run ./install.sh -h to explore more customization features we have
like changing panel opacity, theme opacity (normal and solid variant), window
control button variant, etc.

Usage: ./tweaks.sh [OPTIONS...]

Options (click to open)

text
/* Detailed source-code truncated for AI context efficiency. */

There's more themes you can try!

- [Install Firefox theme](src/other/firefox)

Parameter: --firefox -f

Example: ./tweaks.sh -f

- Edit Firefox theme

Parameter: --edit-firefox -e

Example:

bash
./tweaks.sh -e           # edit the installed Firefox theme
./tweaks.sh -f -r        # remove installed Firefox theme
./tweaks.sh -f monterey  # install Monterey Firefox theme

- Install GDM theme

Parameter: --gdm -g (requires to be run as root)

Example: sudo ./tweaks.sh -g

- Change the background

Parameter: --background -b

Example:

bash
sudo ./tweaks.sh -g -b "my picture.jpg" # use the custom background
sudo ./tweaks.sh -g -b default          # use the default background
sudo ./tweaks.sh -g -b blank            # make it blank

- Don't darken the background

Parameter: --nodarken -nd

Example:

bash
sudo ./tweaks.sh -g -nd                          # darken the default background
sudo ./tweaks.sh -g -nd -b "wallpapers/snow.jpg" # darken the custom background

- Don't blur the background

Parameter: --noblur -nb

Example:

bash
sudo ./tweaks.sh -g -nb                           # don't blur the default background
sudo ./tweaks.sh -g -nb -b "wallpapers/rocks.jpg" # don't blur the custom background

- Do more GDM customizations

You can do the similar customization features in ./install.sh
like changing theme color (dark and light variant) and accent, GNOME Shell
'Activities' icon, etc. related to GDM. Run ./tweaks.sh -h to explore!

1. Run command to fix it

sh
sudo flatpak override --filesystem=xdg-config/gtk-3.0 && sudo flatpak override --filesystem=xdg-config/gtk-4.0

If you use flatpak apps, you can run this to fix theme issue

2. Connect WhiteSur theme to Flatpak (gtk 3.0) (Snap not support)

Parameter: --flatpak -F

Example: ./tweaks.sh -F

Technical details and getting involved

Please go read CONTRIBUTING.md for more info


File: other/zen/README.md

Description

This is a bunch of CSS code to make Firefox look closer to MacOSX Safari theme.
Based on https://github.com/rafaelmardojai/firefox-gnome-theme

Installation

Run: ./tweaks.sh -f

if you want to use Monterey style then:

Run: ./tweaks.sh -f monterey

Tips about monterey options (Fix the urlbar attached tabs issue)

  1. Remove all space separators on left of urlbar
  2. Make sure how many buttons on side of urlbar, a: left side buttons number(3-5), b: right side buttons number(3-5).
  3. then run: ./tweaks.sh -f monterey a+b for example: ./tweaks.sh -f monterey 5+5

or you can edit the config file

  1. run: ./tweaks.sh -f monterey -e
text
/*--------------Configure your Monterey theme--------------
 * ONLY for Monterey theme
 * Enable one of these options and disable the other ones.
 */

/* How many buttons on left headerbar */
@import "Monterey/left_header_button_3.css"; /**/
/*@import "Monterey/left_header_button_4.css"; /**/
/*@import "Monterey/left_header_button_5.css"; /**/

/* How many buttons on right headerbar */
@import "Monterey/right_header_button_3.css"; /**/
/*@import "Monterey/right_header_button_4.css"; /**/
/*@import "Monterey/right_header_button_5.css"; /**/
  1. Choose the right buttons number config then remove /* to enable it and add /* to disable the default one

Adaptive version support now!

https://github.com/user-attachments/assets/9b99297f-e6b3-4aa0-812a-331cddb517ce

Run: ./tweaks.sh -f adaptive to install it

You need install adaptive-tab-bar-colour plugin first. https://addons.mozilla.org/firefox/addon/adaptive-tab-bar-colour/

Manual installation

  1. Go to about:support in Firefox.
  2. Application Basics > Profile Directory > Open Directory.
  3. Copy chrome folder Firefox config folder.
  4. If you are using Firefox 69+:
    1. Go to about:config in Firefox.
    2. Search for toolkit.legacyUserProfileCustomizations.stylesheets and set it to true.
  5. Restart Firefox.
  6. Open Firefox customization panel and:
    1. Use Title bar option to toggle CSD if is not set by default.
    2. Move the new tab button to headerbar.
    3. Select light or dark variants on theme switcher.
  7. Be happy with your new gnomish Firefox.

Enabling optional features

Open userChrome.css with a text editor and follow instructions to enable extra features. Keep in mind this file might change in future versions and your configuration will be lost. You can copy the @imports you want to enable to a new file named customChrome directly in your chrome directory if you want it to survive updates. Remember all @imports must be at the top of the file, before other statements.

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!

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.


File: other/firefox/README.md

Description

This is a bunch of CSS code to make Firefox look closer to MacOSX Safari theme.
Based on https://github.com/rafaelmardojai/firefox-gnome-theme

Installation

Run: ./tweaks.sh -f

if you want to use Monterey style then:

Run: ./tweaks.sh -f monterey

Tips about monterey options (Fix the urlbar attached tabs issue)

  1. Remove all space separators on left of urlbar
  2. Make sure how many buttons on side of urlbar, a: left side buttons number(3-5), b: right side buttons number(3-5).
  3. then run: ./tweaks.sh -f monterey a+b for example: ./tweaks.sh -f monterey 5+5

or you can edit the config file

  1. run: ./tweaks.sh -f monterey -e
text
/*--------------Configure your Monterey theme--------------
 * ONLY for Monterey theme
 * Enable one of these options and disable the other ones.
 */

/* How many buttons on left headerbar */
@import "Monterey/left_header_button_3.css"; /**/
/*@import "Monterey/left_header_button_4.css"; /**/
/*@import "Monterey/left_header_button_5.css"; /**/

/* How many buttons on right headerbar */
@import "Monterey/right_header_button_3.css"; /**/
/*@import "Monterey/right_header_button_4.css"; /**/
/*@import "Monterey/right_header_button_5.css"; /**/
  1. Choose the right buttons number config then remove /* to enable it and add /* to disable the default one

Adaptive version support now!

https://github.com/user-attachments/assets/9b99297f-e6b3-4aa0-812a-331cddb517ce

Run: ./tweaks.sh -f adaptive to install it

You need install adaptive-tab-bar-colour plugin first. https://addons.mozilla.org/firefox/addon/adaptive-tab-bar-colour/

Manual installation

  1. Go to about:support in Firefox.
  2. Application Basics > Profile Directory > Open Directory.
  3. Copy chrome folder Firefox config folder.
  4. If you are using Firefox 69+:
    1. Go to about:config in Firefox.
    2. Search for toolkit.legacyUserProfileCustomizations.stylesheets and set it to true.
  5. Restart Firefox.
  6. Open Firefox customization panel and:
    1. Use Title bar option to toggle CSD if is not set by default.
    2. Move the new tab button to headerbar.
    3. Select light or dark variants on theme switcher.
  7. Be happy with your new gnomish Firefox.

Enabling optional features

Open userChrome.css with a text editor and follow instructions to enable extra features. Keep in mind this file might change in future versions and your configuration will be lost. You can copy the @imports you want to enable to a new file named customChrome directly in your chrome directory if you want it to survive updates. Remember all @imports must be at the top of the file, before other statements.

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!

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.