8

I upgraded to Fedora 21, which spotlights GNOME 3.14 (plus the relevant GTK+ material). Unfortunately it seems that this particular update mangles a lot of my older themes, written for now-aging versions of GNOME 3. Where previously they may have squeaked by, they now look a little out-of-place.

I don't presume to re-invent the wheel: I would be very happy to take a pre-existing CSS template (e.g. the default Adwaita 3.14 spec) and tweak it here and there to my liking; there will be no fancy flying. Imagine the hair I tore out when I peeked at /usr/share/themes/Adwaita/gtk-3.0/gtk.css:

/* Adwaita is the default theme of GTK+ 3, this file is not used */

That puts me in a pickle. I lack the Google-fu to dig the documentation up about where this might be (worse, I have a gut feeling this is something implicitly obvious to GNOME people that I have been missing out on), and for some reason the GNOME developer website resists my attempts at researching their theming specification.

In short, I'd like to find a virgin theme specification for GNOME 3.14, assuming one is extant. How may I do this, or how may I modify my approach?

12

There's only a single line in that particular .css file because the default theme (Adwaita) comes as a binary:

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.

Since the code has been included in gtk+, you can view the source files HERE. As per their readme:

_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.

The reference .css files are:

gtk-contained.css
gtk-contained-dark.css

Here is an older how-to, some stuff no longer applies (as I said, the source code is in gtk+ now, as gnome-themes-standard was deprecated) but it should get you on the right path:

How to hack GNOME Adwaita GTK theme

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.