view gtk-3.0/README @ 3:9a738f9171a1

Add custom SCSS file with existing overrides and rebuild gtk.css
author IBBoard <dev@ibboard.co.uk>
date Sat, 09 Apr 2016 20:51:14 +0100
parents a48477723cfe
children ca246bc0af4a
line wrap: on
line source

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 sofwtare installed, as described below)
* To be able to use the lates/adequate version of sass, install ruby, gem, sass & bundle. 
  On Fedora F20, this is done with `sudo dnf install rubygems && gem install bundle && bundle install`
  from the same directory this README resides in.

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

Adwaita is a complex themes, 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, 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`.