summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Steiner <jimmac@gmail.com>2014-09-29 14:07:10 +0200
committerJakub Steiner <jimmac@gmail.com>2014-09-29 14:07:10 +0200
commit30149dabcf21693c2a29c5c3d669b4a006062e1e (patch)
treeae7a7378e0b93657e0f7f9cce7a74d1c9f1158ac
parent088206b26738a928e75924ed750e75dc6816275a (diff)
downloadgtk+-30149dabcf21693c2a29c5c3d669b4a006062e1e.tar.gz
Adwaita: provide simple guidelines for theming
- Some simple instructions for future SASS/ruby lovers
-rw-r--r--gtk/resources/theme/Adwaita/README36
1 files changed, 36 insertions, 0 deletions
diff --git a/gtk/resources/theme/Adwaita/README b/gtk/resources/theme/Adwaita/README
new file mode 100644
index 0000000000..413cff1c3e
--- /dev/null
+++ b/gtk/resources/theme/Adwaita/README
@@ -0,0 +1,36 @@
+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 most of 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`.