Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

WhiteSur GTK Theme

A macOS BigSur-like theme for your GTK apps

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

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


For example: (click to open)
  • uninstall Gtk themes: ./ -r

  • uninstall GDM theme: sudo ./ -g -r

  • uninstall Firefox theme: ./ -f -r

  • uninstall Dash-to-dock theme: ./ -d -r

  • uninstall Flatpak Gtk themes: ./ -F -r

  • uninstall Snap Gtk themes: ./ -s -r

There's so many customizations you can do!

Usage: ./ [OPTIONS...]

Options (click to open)
  -d, --dest DIR
 Set destination directory. Default is '/home/vince/.themes'

  -n, --name NAME
 Set theme name. Default is 'WhiteSur'

  -o, --opacity [normal|solid]
 Set theme opacity variants. Repeatable. Default is all variants

  -c, --color [Light|Dark]
 Set theme color variants. Repeatable. Default is all variants

  -a, --alt [normal|alt|all]
 Set window control buttons variant. Repeatable. Default is 'normal'

  -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey|all]
 Set theme accent color. Repeatable. Default is BigSur-like theme

  -p, --panel-opacity [default|30|45|60|75]
 Set panel transparency. Default is 15%

  -P, --panel-size [default|smaller|bigger]
 Set Gnome shell panel height size. Default is 32px

  -s, --size [default|180|220|240|260|280]
 Set Nautilus sidebar minimum width. Default is 200px

  -i, --icon [standard|simple|gnome|ubuntu|tux|arch|manjaro|fedora|debian|void|opensuse|popos|mxlinux|zorin]
 Set 'Activities' icon. Default is 'standard'

  -b, --background [default|blank|IMAGE_PATH]
 Set gnome-shell background image. Default is BigSur-like wallpaper

  -m, --monterey
 Set to MacOS Monterey style.

  -N, --nautilus-style [stable|normal|mojave|glassy]
 Set Nautilus style. Default is BigSur-like style (stabled sidebar)

  -l, --libadwaita
 Install theme into gtk4.0 config for libadwaita. Default is dark version

  -HD, --highdefinition
 Set to High Definition size. Default is laptop size

  --normal, --normalshowapps
 Set gnome-shell show apps button style to normal. Default is bigsur

  --round, --roundedmaxwindow
 Set maximized window to rounded. Default is square

  --right, --rightplacement
 Set Nautilus titlebutton placement to right. Default is left

  --black, --blackfont
 Set panel font color to black. Default is white

  --darker, --darkercolor
 Install darker 'WhiteSur' dark themes.

  --nord, --nordcolor
 Install 'WhiteSur' Nord ColorScheme themes.

  --dialog, --interactive
 Run this installer interactively, with dialogs.

 Meant for developers: ignore any confirm prompt and params become more strict.

  -r, --remove, -u, --uninstall
 Remove all installed WhiteSur themes.

  -h, --help
 Show this help.

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)

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

Connect WhiteSur theme to Flatpak (Snap not support)

Parameter: --flatpak -F

Example: ./ -F

Fix for Flatpak gtk-4.0 app:

sudo flatpak override --filesystem=xdg-config/gtk-4.0

Change theme color and accent

Install theme color

Parameter: --color -c (repeatable)


./ -c Light          # install light theme color only
./ -c Dark -c Light  # install dark and light theme colors

Install theme accent

Parameter: --theme -t (repeatable)


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

Change Nautilus style

Parameter: --nautilus-style -N

Example: ./ -N mojave

Explore more customization features!

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

Let's tweak!

Usage: ./ [OPTIONS...]

Options (click to open)
  -g, --gdm [default|x2]
 Install 'WhiteSur' theme for GDM (scaling: 100%/200%, default is 100%). Requires to run this shell as root

  -o, --opacity [normal|solid]
 Set 'WhiteSur' GDM theme opacity variants. Default is 'normal'

  -c, --color [Light|Dark]
 Set 'WhiteSur' GDM and Dash to Dock theme color variants. Default is 'light'

  -t, --theme [default|blue|purple|pink|red|orange|yellow|green|grey]
 Set 'WhiteSur' GDM theme accent color. Default is BigSur-like theme

  -N, --no-darken
 Don't darken 'WhiteSur' GDM theme background image.

  -n, --no-blur
 Don't blur 'WhiteSur' GDM theme background image.

  -b, --background [default|blank|IMAGE_PATH]
 Set 'WhiteSur' GDM theme background image. Default is BigSur-like wallpaper

  -p, --panel-opacity [default|30|45|60|75]
 Set 'WhiteSur' GDM (GNOME Shell) theme panel transparency. Default is 15%

  -P, --panel-size [default|smaller|bigger]
 Set 'WhiteSur' Gnome shell panel height size. Default is 32px

  -i, --icon [standard|simple|gnome|ubuntu|tux|arch|manjaro|fedora|debian|void|opensuse|popos|mxlinux|zorin]
 Set 'WhiteSur' GDM (GNOME Shell) 'Activities' icon. Default is 'standard'

  --nord, --nordcolor
 Install 'WhiteSur' Nord ColorScheme themes.

  -f, --firefox [default|monterey|alt]
 Install 'WhiteSur|Monterey|Alt' theme for Firefox and connect it to the current Firefox profiles. Default is WhiteSur

  -e, --edit-firefox
 Edit 'WhiteSur' theme for Firefox settings and also connect the theme to the current Firefox profiles.

  -F, --flatpak
 Connect 'WhiteSur' theme to Flatpak.

  -d, --dash-to-dock
 Fixed Dash to Dock theme issue.

  -r, --remove, --revert
 Revert to the original themes, do the opposite things of install and connect.

 Meant for developers: ignore any confirm prompt and params become more strict.

  -h, --help
 Show this help.

There's more themes you can try!

Install and edit Firefox theme

Install Firefox theme

Parameter: --firefox -f

Example: ./ -f

Edit Firefox theme

Parameter: --edit-firefox -e


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

Install and customize GDM theme

Install GDM theme

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

Example: sudo ./ -g

Change the background

Parameter: --background -b


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

Don't darken the background

Parameter: --no-darken -N


sudo ./ -g -N                          # darken the default background
sudo ./ -g -N -b "wallpapers/snow.jpg" # darken the custom background

Don't blur the background

Parameter: --no-blur -n


sudo ./ -g -n                           # don't blur the default background
sudo ./ -g -n -b "wallpapers/rocks.jpg" # don't blur the custom background

Do more GDM customizations

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

Other recommended stuff

WhiteSur Icon Theme

WhiteSur Wallpapers

Technical details and getting involved

Please go read for more info