by adapta-project

adapta-project /adapta-gtk-theme

An adaptive Gtk+ theme based on Material Design Guidelines

3.4K Stars 243 Forks Last release: almost 2 years ago ( Other 4.2K Commits 152 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:

Logo Adapta-gtk-theme

An adaptive Gtk+ theme based on Material Design Guidelines.

27 Mar 2020

  • Development of the Adapta GTK theme has completely ended.
  • Turn to Archived state.

Before using Adapta


Adapta strongly depends on Material Design resources, especially its fonts.

  1. Roboto

    • Very famous as the default truetype font in Android (English ver.).
    • Multilingual support is not good.
    • Weight used in Adapta: 300, 400, 500, 700
  2. Noto Sans

    • Noto (NO TOfu) sans-serif truetype/opentype font covers a lot of languages.
    • Developed by Monotype and Adobe.
    • Weight used in Adapta: 400, (500), 700

| |Primary|Secondary|Fallback| |:-----:|:-----:|:-----:|:-----:| |Gnome-Shell >= 3.26|Roboto|NotoSans|Sans-serif| |Gnome-Shell =< 3.24|NotoSans||Sans-serif| |Cinnamon |Roboto||Sans-serif|


  • Roboto is very nice with Adapta, but in some locales, it causes Tofu.
  • NotoSans may work well in various locales, but NotoSans lacks 500 (Medium) weight. So elements defined with 500 will be drawn with 400 automatically.
  • NotoSans CJK supports 500 weight.
  • NotoSans is used as the 'password chars U+25CF' only in Gnome-Shell >= 3.26.

Adapta is designed with nominal 13px (or 14px) Roboto font. In Gnome, "window-scaling-factor = 1.0" means

-gtk-dpi = 96
, it also means:
  13 [px] x 72 [pt/inch] / 96 [px/inch] = 9.75 [pt]
  14 [px] x 72 [pt/inch] / 96 [px/inch] = 10.5 [pt]
That's the reason why
13.33px = 10pt
is used for rem/px conversion in Gtk+ 3.2x theming (In Gtk+ 3.18.x theming, em unit is directly used).


NotoSans CJK (ChineseJapaneseKorean) opentype fonts are actually 0.1em taller than Roboto fonts, so if 10pt Roboto was suitable on your LCDs, set 9pt for NotoSans CJK families.

Verify the fonts are rendered correctly via font-viewer tools like Gnome-Font-Viewer.

Variant Matrix

| | Adapta| Adapta-Nokto| Adapta-Eta| Adapta-Nokto-Eta| |:-----:|:-----:|:-----:|:-----:|:-----:| |Gtk+ 2.24.x ||||| |Gtk+ 3.20.x ||||| |Gtk+ 3.22.x ||||| |Gtk+ 3.24.x ||||| |Mutter ||||| |Metacity ||||| |Muffin ||||| |XFwm4 ||||| |Marco ||||| |Openbox-3 |||||


  • Nokto is a dark variant.
  • Eta is a tiny Gtk+ 2.x/3.2x Gtk+ widget variant for saving space.
  • I suggest you use the Eta variants if your LCD resolution is lower than FHD (1080p). Eta draws widgets around -20% to -30% spacing.
  • Metacity theming supports Eta variants (>= 3.2x).



Required Components

Adapta supports Gtk+ 3.24.x, 3.22.x and 3.20.x

 * Gtk+-3.0             >= 3.20.0
 * Gtk+-2.0             >= 2.24.30
 * gtk2-engines-pixbuf  >= 2.24.30
 * gtk2-engines-murrine >= 0.98.1

Supported Desktop Environments

 * GNOME-Shell     >= 3.20.0
 * GNOME-Flashback >= 3.20
 * Budgie-Desktop  >= 10.4
 * Cinnamon        >= 3.2.0
 * XFce4           >= 4.12.2
 * Mate            >= 1.14.0
 * LXDE            >= 0.99.1 (Gtk+ 2.x only)

Unsupported Gtk+ Based Desktop(s)

  • Pantheon
  • Unity7


  • Adapta does NOT support elementaryOS.

Installation from Package(s)

Package(s) can be found in the official main repositories of these distributions:

  • Arch (community)

  • Fedora

  • openSUSE (Tumbleweed)

  • Solus

Personal repository:

Installation from Git Source

  1. If previous versions were installed/existed, remove them first.
 sudo rm -rf /usr/share/themes/{Adapta,Adapta-Eta,Adapta-Nokto,Adapta-Nokto-Eta}
 rm -rf ~/.local/share/themes/{Adapta,Adapta-Eta,Adapta-Nokto,Adapta-Nokto-Eta}
 rm -rf ~/.themes/{Adapta,Adapta-Eta,Adapta-Nokto,Adapta-Nokto-Eta}
  1. Check build-requirements: Currently Adapta bundles neither pre-generated stylesheets nor PNG images. So users and/or contributors should generate proper CSSs, PNGs and gresources at build-time.
 * autoconf
 * automake
 * inkscape                                  >= 0.91
 * libgdk-pixbuf2.0-dev (gdk-pixbuf2-devel)  >= 2.32.2
 * libglib2.0-dev (glib2-devel)              >= 2.48.0
 * libxml2-utils (libxml2)
 * pkg-config (pkgconfig)
 * sassc                                     >= 3.3

  • parallel (if --enable-parallel)


  • In OpenSUSE, add an extra dependency:

    gdk-pixbuf-devel        >= 2.32.2
  • Adapta employs SassC wrapper of

    to generate CSS stylesheets.
  • Adapta uses

    to generate installable PNG files.
  • Adapta uses

    to compile the gresource files for Gtk+ and Gnome-Shell.
  • glib-2.0 >= 2.53
    , Gnome-Shell 3.26 theming is used if
  1. Build and install system-wide:
 ./ --prefix=/usr
 sudo make install


  • Default prefix is
  • All 4 variants are installed by default.
  • make
    generates proper CSSs and PNGs to be installed. It will take about 5min to 15min to build. For example, Ubuntu's build-server takes 10min.
  • sudo make install
    installs multiple versioned theme and Gtk+ automatically selects the properly versioned one when running.
  1. To speed up by using concurrency-build, pass this specific option to
 --enable-parallel       enable parallel-build support (type: bool)


  • This feature requires GNU
    , so please add
    to build-requirements. Parallel can execute multiple scripts and binaries to be suitable for multi-threading. It could especially shorten the rendering-time via
  • -jN
    option to be passed to GNU
    is surely usable, but Adapta currently employs
  • This feature should not be applied when packaging on remote/shared build-servers.
  1. To disable some DE supports, pass these specific options to
 --disable-gnome         disable gnome-shell support (type: bool)
 --disable-cinnamon      disable cinnamon support (type: bool)
 --disable-flashback     disable flashback support (type: bool)
 --disable-xfce          disable xfce support (type: bool)
 --disable-mate          disable mate support (type: bool)
 --disable-openbox       disable openbox support (type: bool)


  • The installer installs Budgie-Desktop support even if all of options above were applied.
  • Cinnamon/Mate support hooks
    directory even if GNOME-Flashback support was disabled.
  1. To enable extra Gtk+ release support, pass these options:
 --enable-gtk_next      enable Gtk+ 4.0 support (type: bool)
  1. To change the default 4 Key-Colors, pass these options:
 --with-selection_color        Primary color for 'selected-items' (Default: #00BCD4 = Cyan500, type: string)
 --with-accent_color           Secondary color for notifications and OSDs (Default: #4DB6AC = Teal300, type: string)
 --with-suggestion_color       Secondary color for 'suggested' buttons (Default: #009688 = Teal500, type: string)
 --with-destruction_color      Tertiary color for 'destructive' buttons (Default: #FF5252 = RedA200, type: string)


  • Color-codes are defined as
    + 6-digit
    s (Standard RGB definitions in HTML codes). Uppercases are strongly recommended in Adapta code-base.
  • The Material Design Color Palette can be found here.
  • Example: If you would like to use 'Teal500' as selection_color, use this:

    ./ --with-selection_color=#009688

    This switchese the theme to almost Teal key colors.

  • Basically

    should use
    colors, and
    should use
  • While doing

    , Adapta changes those 4 colors in all stylesheets and images, and
    make clean
    cleans up all generated files from source directories.
  • This feature unfortunately is not supported in

    Telegram 1.0

GtkSourceView/Gedit Color Scheme Support

A theme file

is installed by default into
directory. See details in


  • The color-scheme can be used in Gnome-Builder, Gnome-Sushi, Meld and Gedit if installed to
  • Currently only dark-variant is supported.

Visual Studio Code (VS Code) Theme Support

  1. Linux-themes (Author: SolarLiner): Visual Studio Marketplace

  2. Vscode-theme-adapted (Author: About-Code): Visual Studio Marketplace

Extra Browser Support

To try our color samples for FirefoxColor test pilot, check these URLs:

  1. Adapta

  2. Adapta-Nokto

To try legacy Chrome(ium) specific theming (

< 59.0.30xx
), pass this option:
 --enable-chrome-legacy     enable legacy Chrome(ium) support (type: bool)

The compressed

files will be installed into


  • Chrome(ium) 59.0.30xx or newer, theming is pulled from Gtk+ 3.x directly. So

    Settings > Appearance > Themes
    should be
  • Vivaldi can make custom themes via settings like these:

    Background: #FAFBFC (#263238)
    Foreground: #263238 (#CFD8DC)
    Highlight:  #00BCD4
    Accent:     #222D32
    Accent Color from Active Page: [ ]
    Apply Accent Color to Window:  [*]
    Transparent Tabs:              [*]
    Corner Rounding:               2px

Extra Dock Support

To try "Plank" theming, pass this option:

 --enable-plank         enable Plank support (type: bool)

Then select

plank --preferences


  • Both Adapta and Adapta-Nokto shares the same theming.
  • Don't expect too much. Plank is NOT a themeable widget for me!

Extra Compositor Support

Compton is the famous stand-alone compositor that works well with the Openbox window-manager. The installer installs recommended configuration file

directory if Openbox support is enabled.

Next, copy that file into

and restart compton to read the settings. That compositor still has some limitations in its features for Adapta, however.

Extra Telegram Support

To try "Telegram 1.0" theming, pass this option:

 --enable-telegram      enable Telegram 1.0 support (type: bool)

The installer installs compressed

files into
directories if Telegram support is enabled. Then open the file via Telegram > Main Menu > Settings > Chat background > Choose from file.


  • The
    is for light-variant, and
    is for dark-variant.
  • Bundled noise-texture images are for tiled mode.
  • Telegram support is a W.I.P currently.

Extra Tweetdeck Support

To try "Colordeck for Tweetdeck" extension theming, pass this option:

 --enable-tweetdeck      enable Tweetdeck-colordeck support (type: bool)

The installer installs

files into
directories if Tweetdeck support is enabled. Then open the file via Colordeck -> import > "Colors" -> Choose File.


  • Chrome Web Store
  • Firefox Add-ons
  • Light and dark variants are supported.
  • Currently those files support "Colors" only, so enabling "Colors" checkbox is enough.

Other Projects

This is a list of community projects, related to Adapta: - Adapta KDE - Port of this theme to KDE Plasma 5. - Discord-Adapta-Nokto - Adapta-oriented theme for Discord

Work in Progress


Public License



SVG files are licensed under CC BY-SA 4.0. And an icon-theme in Cinnamon thumbnails: Paper Icons by Sam Hewitt is licensed under CC-SA-4.0.


Special Thanks to

Nana-4, the developer of Materia (formerly Flat-Plat).

And all supporters, thank you.

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.