gnome-shell/data/theme
Florian Müllner 1dda339395 animation: Use appropriate spinner asset in light variant
Ideally we would replace the sliced-image based animation with a
themed `process-working-symbolic` icon and rotate it, so the spinner
simply picks up the current foreground color.

Unfortunately the `repeat-count` property does not work for rotations,
so to fix the broken spinner in the light variant
in the meantime, include assets for both variants and swap them
out at runtime.

Not everything in the light variant is actually light (overview,
OSDs, ...), so use a simple heuristic on the text color to decide
which asset to use.

Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6783

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3080>
2023-12-27 10:10:35 +00:00
..
gnome-shell-sass style: Fix missing light theme color definitions 2023-12-19 12:37:54 +00:00
calendar-today-light.svg
calendar-today.svg
checkbox-focused.svg
checkbox-off-focused-light.svg
checkbox-off-focused.svg
checkbox-off-light.svg
checkbox-off.svg
checkbox.svg
dash-placeholder.svg
gnome-shell-dark.scss theme: Include both dark and light variant in resource 2023-05-25 17:10:53 +02:00
gnome-shell-high-contrast.scss style: Rewrote app grid tile drawing functions 2023-12-14 18:30:52 +00:00
gnome-shell-light.scss theme: Include both dark and light variant in resource 2023-05-25 17:10:53 +02:00
gnome-shell-start.svg
meson.build theme: Include both dark and light variant in resource 2023-05-25 17:10:53 +02:00
pad-osd.css
process-working-dark.svg animation: Use appropriate spinner asset in light variant 2023-12-27 10:10:35 +00:00
process-working-light.svg animation: Use appropriate spinner asset in light variant 2023-12-27 10:10:35 +00:00
README.md
running-indicator.svg
toggle-off-hc.svg
toggle-off-light.svg
toggle-off.svg
toggle-on-hc.svg
toggle-on-light.svg
toggle-on.svg
workspace-placeholder.svg

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:

File Description
_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 on its web page. Once you make your changes to the _common.scss file, you can run ninja to generate the final CSS files.