gnome-shell/data/theme
Sebastian Keller 18cd24e6f4 appDisplay: Fix app folder icon subicon spacing
The code previously was using CSS to define row/column spacing and
padding which was combined with a subicon size computed in code relative
to the requested icon size.

In smaller icon sizes it was possible for the CSS spacing+padding + the
size of the two subicons to exceed the requested icon size. This then
would lead to the label being pushed down for app folders compared to
other icons.

Another more severe issue caused by this would happen if the first item
in an icon grid was an app folder. Then the calculation for the maximum
allowed icon size could be off, leading to all icons in the grid
becoming smaller than actually necessary.

This commit changes this to use homogeneous row and column layouts to
evenly distribute the remaining spacing instead of using a fixed CSS
value.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3069

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1581>
2021-01-21 21:05:30 +00:00
..
gnome-shell-sass appDisplay: Fix app folder icon subicon spacing 2021-01-21 21:05:30 +00:00
calendar-today.svg calendar: make day with events more prominent 2015-04-15 13:05:01 +02:00
checkbox-focused.svg theme: update some svg assets to adwaita 3.14 counterparts 2015-02-20 15:14:40 +01:00
checkbox-off-focused.svg theme: update some svg assets to adwaita 3.14 counterparts 2015-02-20 15:14:40 +01:00
checkbox-off.svg theme: update some svg assets to adwaita 3.14 counterparts 2015-02-20 15:14:40 +01:00
checkbox.svg theme: update some svg assets to adwaita 3.14 counterparts 2015-02-20 15:14:40 +01: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 panel: Make the panel fully transparent while in the overview 2021-01-13 23:06:48 +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 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 icons: update to current metaphors 2018-07-24 11:05:55 +02: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
toggle-off-dark.svg theme: sync toggle-off-dark with gtk 2020-02-25 13:47:01 +01:00
toggle-off-hc.svg HighContrast: provide more contrasty switches 2015-04-15 19:35:51 +02:00
toggle-off.svg Theme: update to sync with gtk Adwaita 2019-06-21 10:44:08 +02:00
toggle-on-dark.svg Theme: update to sync with gtk Adwaita 2019-06-21 10:44:08 +02:00
toggle-on-hc.svg HighContrast: provide more contrasty switches 2015-04-15 19:35:51 +02:00
toggle-on.svg Theme: update to sync with gtk Adwaita 2019-06-21 10:44:08 +02: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.