gnome-shell/data/theme
Jonas Dreßler 3eb40df06b panel: Don't change text color when entering the overview or lockscreen
With the introduction of the transparent panel in the overview, we
started making the panel text/icon color slightly brighter in the
overview and on the lockscreen to ensure best contrast. Now
unfortunately, setting the text color incurred a relayout of the
underlying ClutterText actor (fixed with
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1750), and
setting the icon color causes the icon texture to get regenerated
(fixed with
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/932).
Regenerating the icon texture will replace the icon actor, which also
causes a relayout.

This relayout of the panel has been measured to add at least 1
millisecond (the numbers fluctuated a lot) to about 5 ms it takes to
layout the first frame when showing the overview.

Since https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/932 is
unlikely to land this cycle, this commit proposes a different solution:
Simply don't use a different color for text in the overview. To avoid
issues with contrast in the overview, make the default color slightly
brighter and change it from #ccc to #ddd.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1733>
2021-03-09 13:15:09 +00:00
..
gnome-shell-sass panel: Don't change text color when entering the overview or lockscreen 2021-03-09 13:15:09 +00:00
calendar-today.svg
carousel-arrow-back-24-symbolic.svg appDisplay: Add carousel arrows to app grid 2021-03-02 22:02:56 +00:00
carousel-arrow-next-24-symbolic.svg appDisplay: Add carousel arrows to app grid 2021-03-02 22:02:56 +00:00
checkbox-focused.svg
checkbox-off-focused.svg
checkbox-off.svg
checkbox.svg
color-pick.svg screenshot: Add preview to color picker 2020-05-22 16:10:43 +02:00
dash-placeholder.svg
eye-not-looking-symbolic.svg StPasswordEntry: Add the peek-password-icon for show/hide passwords 2019-12-17 23:08:43 +01:00
eye-open-negative-filled-symbolic.svg StPasswordEntry: Add the peek-password-icon for show/hide passwords 2019-12-17 23:08:43 +01:00
gnome-shell-high-contrast.scss HC: Set legible app icons for window thumbnails 2021-02-13 08:34:43 +00:00
gnome-shell-start.svg welcomeDialog: Add “welcome” dialog 2021-02-05 13:41:26 +00:00
gnome-shell.scss theme: use a widgets.scss file for widget import 2020-01-09 16:43:26 +01:00
keyboard-caps-lock-filled-symbolic.svg data: Add OSK assets as symbolic icons 2020-02-20 11:34:07 +00:00
keyboard-enter-symbolic.svg data: Add OSK assets as symbolic icons 2020-02-20 11:34:07 +00:00
keyboard-hide-symbolic.svg data: Add OSK assets as symbolic icons 2020-02-20 11:34:07 +00:00
keyboard-layout-filled-symbolic.svg data: Add OSK assets as symbolic icons 2020-02-20 11:34:07 +00:00
keyboard-shift-filled-symbolic.svg data: Add OSK assets as symbolic icons 2020-02-20 11:34:07 +00:00
meson.build theme: Pre-generate stylesheets as well 2020-12-29 00:40:47 +01:00
message-indicator-symbolic.svg
no-events.svg
no-notifications.svg
pad-osd.css
pointer-double-click-symbolic.svg
pointer-drag-symbolic.svg
pointer-primary-click-symbolic.svg
pointer-secondary-click-symbolic.svg
process-working.svg
README.md
running-indicator.svg
toggle-off-dark.svg theme: sync toggle-off-dark with gtk 2020-02-25 13:47:01 +01:00
toggle-off-hc.svg
toggle-off.svg
toggle-on-dark.svg
toggle-on-hc.svg
toggle-on.svg
window-close-24-symbolic.svg data: Update custom close icon 2021-02-05 01:01:09 +01:00

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.