c62e7a6a82
The previous implementation of the CSS generation logic considered sassc an optional dependency and made sure for that reason that the result CSS files ended up in the source directory, so that they could be checked in and kept in sync with the source sass files. As we are making sassc a required dependency, we can now stop doing that extra work and simply rely on the CSS files being automatically generated each time the sass sources change. By doing this, we can now effectively get rid of the CSS files checked in the repo as well as of the parse_sass.sh script, since the CSS files will now live on the build directory only. https://bugzilla.gnome.org/show_bug.cgi?id=792822 |
||
---|---|---|
.. | ||
gnome-shell-sass | ||
calendar-arrow-left.svg | ||
calendar-arrow-right.svg | ||
calendar-today.svg | ||
checkbox-focused.svg | ||
checkbox-off-focused.svg | ||
checkbox-off.svg | ||
checkbox.svg | ||
close-window-active.svg | ||
close-window-hover.svg | ||
close-window.svg | ||
close.svg | ||
corner-ripple-ltr.png | ||
corner-ripple-rtl.png | ||
dash-placeholder.svg | ||
filter-selected-ltr.svg | ||
filter-selected-rtl.svg | ||
gnome-shell-high-contrast.scss | ||
gnome-shell.scss | ||
HACKING | ||
logged-in-indicator.svg | ||
meson.build | ||
message-indicator-symbolic.svg | ||
no-events.svg | ||
no-notifications.svg | ||
noise-texture.png | ||
pad-osd.css | ||
page-indicator-active.svg | ||
page-indicator-checked.svg | ||
page-indicator-hover.svg | ||
page-indicator-inactive.svg | ||
process-working.svg | ||
README | ||
running-indicator.svg | ||
source-button-border.svg | ||
summary-counter.svg | ||
toggle-off-hc.svg | ||
toggle-off-intl.svg | ||
toggle-off-us.svg | ||
toggle-on-hc.svg | ||
toggle-on-intl.svg | ||
toggle-on-us.svg | ||
ws-switch-arrow-down.png | ||
ws-switch-arrow-up.png |
Summary ------- * Do not edit the CSS directly, edit the source SCSS files and the CSS files will be generated automatically when building with meson + ninja and left inside the build directory to be incorporated into the gresource XML (you'll need to have sassc installed). 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 from a handful of basics. It is an exact copy of the gtk+ counterpart. Light theme is used for the classic theme and dark is for GNOME3 shell default. _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 run ninja to generate the final CSS files.