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.

 HACKING.md

View raw Download
text/plain • 2.55 kiB
ASCII text

Summary

  • Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run ./parse-sass.sh when you have the required software installed, as described below)

  • To be able to use the latest/adequate version of sass, install ruby, gem, sass & bundle. On Fedora 25, this is done with sudo dnf install rubygems && gem install bundle && bundle install from the same directory this HACKING.md resides in.

How to tweak the theme

Flat-Plat is a complex theme, so to keep it maintainable it's written and processed in SASS.

It is very likely your change will happen in the _common.scss file. That's where all the widget selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the right place for a drive by stylesheet fix:

  • _colors.scss

global color definitions. We keep the number of defined colors to a necessary minimum, most colors are derived form a handful of basics. It covers both the light variant and the dark variant.

  • _colors-public.scss

SCSS colors exported through gtk to allow for 3rd party apps color mixing.

  • _drawing.scss

drawing helper mixings/functions to allow easier definition of widget drawing under specific context. This is why Flat-Plat isn't 15000 LOC.

  • _common.scss

actual definitions of style for each widget. This is where you are likely to add/remove your changes.

You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the _common.scss file, you can either run the ./parse-sass.sh script or keep SASS watching for changes as you edit. This is done by running bundle exec sass --watch --sourcemap=none . If sass is out of date, or is missing, you can install it with bundle install.

Useful Links

Upstream theme sources:

Tips:

                
                    
1
Summary
2
-------
3
4
- Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run
5
`./parse-sass.sh` when you have the required software installed, as described below)
6
7
- To be able to use the latest/adequate version of sass, install ruby, gem, sass & bundle.
8
On Fedora 25, this is done with `sudo dnf install rubygems && gem install bundle && bundle install`
9
from the same directory this `HACKING.md` resides in.
10
11
How to tweak the theme
12
----------------------
13
14
Flat-Plat is a complex theme, so to keep it maintainable it's written and processed in SASS.
15
16
It is very likely your change will happen in the `_common.scss` file. That's where all the widget
17
selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the
18
right place for a drive by stylesheet fix:
19
20
- `_colors.scss`
21
22
global color definitions. We keep the number of defined colors to a necessary minimum,
23
most colors are derived form a handful of basics. It covers both the light variant and
24
the dark variant.
25
26
- `_colors-public.scss`
27
28
SCSS colors exported through gtk to allow for 3rd party apps color mixing.
29
30
- `_drawing.scss`
31
32
drawing helper mixings/functions to allow easier definition of widget drawing under
33
specific context. This is why Flat-Plat isn't 15000 LOC.
34
35
- `_common.scss`
36
37
actual definitions of style for each widget. This is where you are likely to add/remove your changes.
38
39
You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the
40
`_common.scss` file, you can either run the `./parse-sass.sh` script or keep SASS watching for changes as you
41
edit. This is done by running `bundle exec sass --watch --sourcemap=none .` If sass is out of date, or is
42
missing, you can install it with `bundle install`.
43
44
Useful Links
45
------------
46
47
Upstream theme sources:
48
- [GTK+ 3 or 4](https://github.com/GNOME/gtk/tree/master/gtk/theme/Adwaita)
49
- [3.22.x](https://github.com/GNOME/gtk/tree/gtk-3-22/gtk/theme/Adwaita)
50
- [3.20.x](https://github.com/GNOME/gtk/tree/gtk-3-20/gtk/theme/Adwaita)
51
- [3.18.x](https://github.com/GNOME/gtk/tree/gtk-3-18/gtk/theme/Adwaita)
52
- [GTK+ 2](https://github.com/GNOME/gnome-themes-standard/tree/master/themes/Adwaita/gtk-2.0)
53
- [GNOME Shell](https://github.com/GNOME/gnome-shell/tree/master/data/theme)
54
- [Sass sources](https://github.com/GNOME/gnome-shell-sass)
55
56
Tips:
57
- [Unity/Theming](https://wiki.ubuntu.com/Unity/Theming)
58
- [Material Design Guidelines](https://www.material.io/guidelines/)
59
- [Personal CSS Guideline](https://github.com/nana-4/Flat-Plat/wiki/My-GTK3-CSS-Order)
60