A fork of the Materia GTK theme.

Important information: Google announced that, from September 2026, Android devices will require ALL apps to be signed by Google, effectively leading to an iOS situation. Value your right to a computer that does what you want; do not tolerate this monopolistic practice! Contact me if you don't understand why it is bad. Click to learn more.

 README.md

View raw Download
text/plain • 7.4 kiB
exported SGML document, Unicode text, UTF-8 text

Materia

Materia is a Material Design theme for GNOME/GTK based desktop environments.

It supports GTK 2, GTK 3, GNOME Shell, Budgie, Cinnamon, MATE, Unity, Xfce, LightDM, GDM, Chrome theme, etc.

Previews

widget-factory widget-factory-dark

Features

Supports ripple animations for GTK 3:

Button

3 color variants and 2 size variants are available:

Materia | standard | compact :-: | :-: | :-: standard | ![Materia][1] | ![Materia-compact][2] dark | ![Materia-dark][3] | ![Materia-dark-compact][4] light | ![Materia-light][5] | ![Materia-light-compact][6]

[1]: ../images/Materia.png?raw=true [2]: ../images/Materia-compact.png?raw=true [3]: ../images/Materia-dark.png?raw=true [4]: ../images/Materia-dark-compact.png?raw=true [5]: ../images/Materia-light.png?raw=true [6]: ../images/Materia-light-compact.png?raw=true

Supported Desktop Environments

  • Budgie >=10.4

  • Cinnamon >=3.x

  • GNOME Shell >=3.26

  • MATE >=1.14

  • Unity >=7.4

  • Xfce >=4.13

Unsupported

  • Downstream customized GNOME sessions

    e.g. "Ubuntu" session, "Pop" session. To properly use Materia on GNOME Shell, please install gnome-session and then switch to "GNOME" or "GNOME on Xorg" session from your display manager.

  • elementary apps

    Because they are based on their own stylesheet that conflicts with GTK standards.

Requirements

  • GTK >=3.20

  • gnome-themes-extra (or gnome-themes-standard)

  • Murrine engine — The package name depends on the distro.

    • gtk-engine-murrine on Arch Linux

    • gtk-murrine-engine on Fedora

    • gtk2-engine-murrine on openSUSE

    • gtk2-engines-murrine on Debian, Ubuntu, etc.

  • sassc — build-time dependency

Package Installation

Distro Packages

NOTE: Some of these distro packages could be outdated and incompatible with your desktop environment. You can check the latest version here.

Distro | Package Name | Annotation - | - | --- Arch Linux | materia-gtk-theme | Link Debian 10 or later | materia-gtk-theme | Link Fedora | materia-gtk-theme | Available from @LaurentTreguier's Copr Solus | materia-gtk-theme | Link Ubuntu 18.04 or later | materia-gtk-theme | Link

WARNING: Ubuntu disco (19.04) & eoan (19.10) packages are very outdated and incompatible with GNOME 3.32 or later! If you're using GNOME on Ubuntu 19.04 or 19.10, I highly recommend manual installation below.

Flatpak

All 6 variants are available via Flathub:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gtk.Gtk3theme.Materia{,-dark,-light}{,-compact}

Manual Installation

  1. Clone the repository and move into the project directory in the terminal:

git clone --depth 1 https://github.com/nana-4/materia-theme
cd materia-theme
  1. Build and install it using Meson:

meson "build"
sudo ninja -C "build" install

Alternatively, you can use ./install.sh script instead:

sudo ./install.sh

Build Options for Meson

Option | Default Value | Description - | - | --- prefix | /usr | Installation prefix colors | default,light,dark | Choose color variant(s) sizes | default,compact | Choose size variant(s) gnome_shell_version | n/a (auto) | Manually set gnome-shell version

Example of usage:

meson "build" -Dprefix="$HOME/.local" -Dcolors=default,dark -Dsizes=compact

Build Options for ./install.sh

-d, --dest DIR          Specify destination directory (Default: /usr/share/themes)
-n, --name NAME         Specify theme name (Default: Materia)
-c, --color VARIANT...  Specify color variant(s) [standard|dark|light] (Default: All variants)
-s, --size VARIANT      Specify size variant [standard|compact] (Default: All variants)
-g, --gdm               Install and apply GDM theme (for advanced users)
                       See also: src/gnome-shell/README.md
-h, --help              Show help

Run ./install.sh --help for more information.

Manual Uninstallation

Delete the installed directories:

sudo rm -rf /usr/share/themes/Materia{,-dark,-light}{,-compact}

Recommendations

Font

  • To properly display the theme, use a font family including Medium weight (e.g. Roboto or M+).

  • Set the font size to 9.75 (= 13px at 96dpi) or 10.5 (= 14px at 96dpi).

Chrome Theme

To use the Chrome theme;

  1. Open the chrome folder on /usr/share/themes/Materia<-variant>.

  2. Drag and drop the .crx files into the Chrome/Chromium Extensions page (chrome://extensions).

GDM Theme

You can change the GDM (lock/login screen) theme by replacing the default GNOME Shell theme. See gnome-shell/README.md for details.

Customization

Materia can be customized with GUI application, oomox theme designer.

Materia also allows you to change the color scheme relatively easily in other ways. See HACKING.md for details.

Contributing

If you find bugs or have suggestions, please report it to the issue tracker. Any contribution would be much appreciated.

Todo list can be found at TODO.md.

Related Projects

License

Materia is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.

Credits

  • Materia is based on Adwaita by GNOME.

  • Design and specifications are based on Google's Material Design.

  • The included symbolic icons are based on Material Design icons by Google.

  • Chrome/Chromium scrollbars extension was forked from Adwaita-chrome-scrollbar by GNOME Integration Team.

  • Yauhen Kirylau (@actionless) who is oomox author polished scripts and supported Materia with oomox.

  • @n3oxmind who helped improve the installation script.

  • @smurphos who made and provided the Cinnamon theme for Materia.

  • Meson code/implementation in Materia was heavily influenced by @monday15's lounge-gtk-theme.

Also thank you to all contributors and upstream developers.

                
                    
1
<img src="../images/materia-logo.svg" alt="materia-logo" align="right" />
2
3
# Materia
4
5
Materia is a [Material Design](https://material.io) theme for GNOME/GTK based desktop environments.
6
7
It supports GTK 2, GTK 3, GNOME Shell, Budgie, Cinnamon, MATE, Unity, Xfce, LightDM, GDM, Chrome theme, etc.
8
9
## Previews
10
11
![widget-factory](../images/widget-factory.png?raw=true)
12
![widget-factory-dark](../images/widget-factory-dark.png?raw=true)
13
14
## Features
15
16
Supports **ripple animations** for GTK 3:
17
18
![Button](../images/Button.gif?raw=true)
19
20
**3 color variants** and **2 size variants** are available:
21
22
**Materia** | **standard** | **compact**
23
:-: | :-: | :-:
24
**standard** | ![Materia][1] | ![Materia-compact][2]
25
**dark** | ![Materia-dark][3] | ![Materia-dark-compact][4]
26
**light** | ![Materia-light][5] | ![Materia-light-compact][6]
27
28
[1]: ../images/Materia.png?raw=true
29
[2]: ../images/Materia-compact.png?raw=true
30
[3]: ../images/Materia-dark.png?raw=true
31
[4]: ../images/Materia-dark-compact.png?raw=true
32
[5]: ../images/Materia-light.png?raw=true
33
[6]: ../images/Materia-light-compact.png?raw=true
34
35
## Supported Desktop Environments
36
37
- Budgie `>=10.4`
38
- Cinnamon `>=3.x`
39
- GNOME Shell `>=3.26`
40
- MATE `>=1.14`
41
- Unity `>=7.4`
42
- Xfce `>=4.13`
43
44
## Unsupported
45
46
- Downstream customized GNOME sessions
47
> e.g. "Ubuntu" session, "Pop" session. To properly use Materia on GNOME Shell, please install `gnome-session` and then switch to "GNOME" or "GNOME on Xorg" session from your display manager.
48
- elementary apps
49
> Because they are based on [their own stylesheet](https://github.com/elementary/stylesheet) that conflicts with GTK standards.
50
51
## Requirements
52
53
- GTK `>=3.20`
54
- `gnome-themes-extra` (or `gnome-themes-standard`)
55
- Murrine engine — The package name depends on the distro.
56
- `gtk-engine-murrine` on Arch Linux
57
- `gtk-murrine-engine` on Fedora
58
- `gtk2-engine-murrine` on openSUSE
59
- `gtk2-engines-murrine` on Debian, Ubuntu, etc.
60
- `sassc` — build-time dependency
61
62
## Package Installation
63
64
### Distro Packages
65
66
> NOTE: Some of these distro packages could be outdated and incompatible with your desktop environment. You can check the latest version [here](https://github.com/nana-4/materia-theme/releases).
67
68
<!-- For contributors, please add your package alphabetically. -->
69
70
Distro | Package Name | Annotation
71
--- | --- | ---
72
Arch Linux | `materia-gtk-theme` | [Link](https://www.archlinux.org/packages/community/any/materia-gtk-theme/)
73
Debian 10 or later | `materia-gtk-theme` | [Link](https://packages.debian.org/materia-gtk-theme)
74
Fedora | `materia-gtk-theme` | Available from [@LaurentTreguier's Copr](https://copr.fedorainfracloud.org/coprs/tcg/themes)
75
Solus | `materia-gtk-theme` | [Link](https://dev.getsol.us/source/materia-gtk-theme/)
76
Ubuntu 18.04 or later | `materia-gtk-theme` | [Link](https://packages.ubuntu.com/materia-gtk-theme)
77
78
**WARNING:** Ubuntu **disco (19.04)** & **eoan (19.10)** packages are very outdated and incompatible with GNOME 3.32 or later! If you're using GNOME on Ubuntu 19.04 or 19.10, I highly recommend [manual installation](#manual-installation) below.
79
80
### Flatpak
81
82
All 6 variants are available via Flathub:
83
84
```
85
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
86
flatpak install flathub org.gtk.Gtk3theme.Materia{,-dark,-light}{,-compact}
87
```
88
89
## Manual Installation
90
91
1. Clone the repository and move into the project directory in the terminal:
92
93
```sh
94
git clone --depth 1 https://github.com/nana-4/materia-theme
95
cd materia-theme
96
```
97
98
2. Build and install it using Meson:
99
100
```sh
101
meson "build"
102
sudo ninja -C "build" install
103
```
104
105
Alternatively, you can use `./install.sh` script instead:
106
107
```sh
108
sudo ./install.sh
109
```
110
111
#### Build Options for Meson
112
113
Option | Default Value | Description
114
--- | --- | ---
115
`prefix` | `/usr` | Installation prefix
116
`colors` | `default,light,dark` | Choose color variant(s)
117
`sizes` | `default,compact` | Choose size variant(s)
118
`gnome_shell_version` | n/a (auto) | Manually set gnome-shell version
119
120
Example of usage:
121
122
```sh
123
meson "build" -Dprefix="$HOME/.local" -Dcolors=default,dark -Dsizes=compact
124
```
125
126
#### Build Options for `./install.sh`
127
128
```
129
-d, --dest DIR Specify destination directory (Default: /usr/share/themes)
130
-n, --name NAME Specify theme name (Default: Materia)
131
-c, --color VARIANT... Specify color variant(s) [standard|dark|light] (Default: All variants)
132
-s, --size VARIANT Specify size variant [standard|compact] (Default: All variants)
133
-g, --gdm Install and apply GDM theme (for advanced users)
134
See also: src/gnome-shell/README.md
135
-h, --help Show help
136
```
137
138
Run `./install.sh --help` for more information.
139
140
## Manual Uninstallation
141
142
Delete the installed directories:
143
144
```sh
145
sudo rm -rf /usr/share/themes/Materia{,-dark,-light}{,-compact}
146
```
147
148
## Recommendations
149
150
### Font
151
152
- To properly display the theme, use a font family including **Medium** weight (e.g. [Roboto](https://github.com/google/roboto) or [M+](https://mplus-fonts.osdn.jp)).
153
- Set the font size to `9.75` (= 13px at 96dpi) or `10.5` (= 14px at 96dpi).
154
155
### Chrome Theme
156
157
To use the Chrome theme;
158
159
1. Open the `chrome` folder on `/usr/share/themes/Materia<-variant>`.
160
2. Drag and drop the `.crx` files into the Chrome/Chromium Extensions page (`chrome://extensions`).
161
162
### GDM Theme
163
164
You can change the GDM (lock/login screen) theme by replacing the default GNOME Shell theme.
165
See [`gnome-shell/README.md`](src/gnome-shell/README.md) for details.
166
167
## Customization
168
169
Materia can be customized with GUI application, [**oomox theme designer**](https://github.com/themix-project/oomox).
170
171
Materia also allows you to change the color scheme relatively easily in other ways. See [`HACKING.md`](HACKING.md#how-to-change-the-color-scheme) for details.
172
173
## Contributing
174
175
If you find bugs or have suggestions, please report it to the [issue tracker](https://github.com/nana-4/materia-theme/issues). Any contribution would be much appreciated.
176
177
Todo list can be found at [`TODO.md`](TODO.md).
178
179
## Related Projects
180
181
- [**Materia KDE**](https://github.com/PapirusDevelopmentTeam/materia-kde) by @PapirusDevelopmentTeam
182
- [**Materia VSCode Theme**](https://marketplace.visualstudio.com/items?itemName=m-thorsen.vscode-materia) by @m-thorsen
183
- [**Materia Kolorizer**](https://github.com/DarthWound/materia-kolorizer) by @DarthWound
184
- [**oomox theme designer**](https://github.com/themix-project/oomox) by @themix-project
185
186
## License
187
188
Materia is distributed under the terms of the GNU General Public License, version 2 or later. See the [`COPYING`](COPYING) file for details.
189
190
## Credits
191
192
- Materia is based on [Adwaita](HACKING.md#upstream-theme-sources) by GNOME.
193
- Design and specifications are based on Google's [Material Design](https://material.io).
194
- The included symbolic icons are based on [Material Design icons](https://github.com/google/material-design-icons) by Google.
195
- Chrome/Chromium scrollbars extension was forked from [Adwaita-chrome-scrollbar](https://github.com/gnome-integration-team/chrome-gnome-scrollbar) by GNOME Integration Team.
196
- Yauhen Kirylau (@actionless) who is oomox author polished scripts and supported Materia with [oomox](https://github.com/themix-project/oomox).
197
- @n3oxmind who helped improve the installation script.
198
- @smurphos who made and provided the Cinnamon theme for Materia.
199
- Meson code/implementation in Materia was heavily influenced by @monday15's [lounge-gtk-theme](https://github.com/monday15/lounge-gtk-theme).
200
201
Also thank you to all contributors and upstream developers.
202