gnome-shell/data/theme
Florian Müllner c256ca443e style: Handle sections in submenus
If a menu item in a submenu is part of a section, it should have
rounded bottom corners if both the item and the section are the
last child of its respective parent.

To express that, add a new .popup-menu-section class and use that
to undo/redo the rounding for items inside a section.

It would be possible to do without a new class with a selector like

 > StBoxLayout > .popup-menu-item:last-child:hover,
 :last-child > .popup-menu-item:last-child:hover

but that's hardly better with its heavy reliance on implementation
details.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4940

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2126>
2022-01-27 22:54:14 +00:00
..
gnome-shell-sass style: Handle sections in submenus 2022-01-27 22:54:14 +00:00
calendar-today-light.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
calendar-today.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
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 stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
checkbox-off-focused-light.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
checkbox-off-focused.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
checkbox-off-light.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
checkbox-off.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
checkbox.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
color-pick.svg screenshot: Add preview to color picker 2020-05-22 16:10:43 +02:00
dash-placeholder.svg dash: Improve DND to dash and allow reordering 2010-11-29 16:35:54 +01:00
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 theme: Fix high-contrast switches 2021-10-14 14:12:10 +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 style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
keyboard-enter-symbolic.svg style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
keyboard-hide-symbolic.svg style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
keyboard-layout-filled-symbolic.svg style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
keyboard-shift-filled-symbolic.svg style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
meson.build screenshot-ui: Add the control panel 2022-01-27 22:25:42 +00:00
message-indicator-symbolic.svg dateMenu: Use icon for message indicator 2017-09-12 17:32:51 +02:00
no-events.svg calendar: Add MessageList and Section/Message base types 2015-02-20 17:38:04 +01:00
no-notifications.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
pad-osd.css ui: Add PadOsd 2016-11-04 16:08:10 +01:00
pointer-double-click-symbolic.svg theme: Add pointer accessibility resources 2019-06-06 09:13:29 +02:00
pointer-drag-symbolic.svg theme: Add pointer accessibility resources 2019-06-06 09:13:29 +02:00
pointer-primary-click-symbolic.svg theme: Add pointer accessibility resources 2019-06-06 09:13:29 +02:00
pointer-secondary-click-symbolic.svg theme: Add pointer accessibility resources 2019-06-06 09:13:29 +02:00
process-working.svg spinner: use a 60fps spinner 2015-08-05 13:44:32 +02:00
README.md docs: Use Markdown 2018-05-23 19:03:01 +02:00
running-indicator.svg theme: Make the running indicator look as it's supposed to 2011-06-27 12:53:38 -04:00
screen-privacy-disabled-symbolic.svg Add screen protect status icons 2021-10-06 17:29:25 +00:00
screen-privacy-symbolic.svg Add screen protect status icons 2021-10-06 17:29:25 +00:00
screenshot-ui-area-symbolic.svg screenshot-ui: Add new selector icons 2022-01-27 22:25:42 +00:00
screenshot-ui-display-symbolic.svg screenshot-ui: Add new selector icons 2022-01-27 22:25:42 +00:00
screenshot-ui-window-symbolic.svg screenshot-ui: Add new selector icons 2022-01-27 22:25:42 +00:00
select-mode-symbolic.svg screenshot-ui: Add cursor capturing option 2022-01-27 22:25:42 +00:00
toggle-off-hc.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
toggle-off-light.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
toggle-off.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
toggle-on-hc.svg style: Stylesheet updates for GNOME 42 2022-01-14 20:14:21 +00:00
toggle-on-light.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
toggle-on.svg stylesheet: Fixes and missed updates for the 42 refresh 2022-01-21 18:11:37 +00:00
window-close-24-symbolic.svg data: Update custom close icon 2021-02-05 01:01:09 +01:00
workspace-placeholder.svg theme: Rotate placeholder for horizontal workspace-thumbnails 2021-05-01 00:16:29 +03: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.