view gtk-3.24/README @ 98:9da64f7bb19c

Add support for GTK4 Includes `gtk-minimal.css`, which can be used to override Adwaita colours by running `ln -s ~/.themes/Adwaita-Dark-Green/gtk-4.4/gtk-minimal.css ~/.config/gtk-4.0/gtk.css`
author IBBoard <dev@ibboard.co.uk>
date Sat, 26 Mar 2022 20:03:44 +0000
parents d721ae7a505b
children
line wrap: on
line source

Summary
-------

* Do not edit the CSS directly, edit the source SCSS files
* To be able to use the latest/adequate version of SASS, install sassc
* The configure script will detect whether or not you have sassc installed;
  if you do, it will regenerate the CSS every time you modify the SCSS files
  and rebuild GTK+.

How to tweak the theme
----------------------

Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS. The
generated CSS is then transformed into a GResource file during GTK+ build and used at runtime in a
non-legible or editable form.

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 Adwaita 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, GTK+ will rebuild the CSS files.