751189253a
Switch to the new WorkspaceLayout layout manager to allocate the window clones of the overview properly using Clutters layouting mechanisms. Since we now no longer make use of the fullGeometry, we can remove the setFullGeometry() function from the Workspace class. Also we can stop setting the actualGeometry on the Workspaces and WorkspaceViews and instead just set the fixed position and size of the views to their full or actual geometry. This also has the benefit that we no longer have to set a custom clip, but can simply enable clip_to_allocation. The geometry needs to be set inside a BEFORE_REDRAW later because _updateWorkspacesActualGeometry() is called from a notify::allocation handler. This isn't doing any animations when showing/hiding the overview yet, we'll add that in the next commit. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1305 |
||
---|---|---|
.. | ||
gnome-shell-sass | ||
calendar-today.svg | ||
checkbox-focused.svg | ||
checkbox-off-focused.svg | ||
checkbox-off.svg | ||
checkbox.svg | ||
color-pick.svg | ||
dash-placeholder.svg | ||
eye-not-looking-symbolic.svg | ||
eye-open-negative-filled-symbolic.svg | ||
gnome-shell-high-contrast.scss | ||
gnome-shell.scss | ||
keyboard-caps-lock-filled-symbolic.svg | ||
keyboard-enter-symbolic.svg | ||
keyboard-hide-symbolic.svg | ||
keyboard-layout-filled-symbolic.svg | ||
keyboard-shift-filled-symbolic.svg | ||
meson.build | ||
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 | ||
toggle-off-hc.svg | ||
toggle-off.svg | ||
toggle-on-dark.svg | ||
toggle-on-hc.svg | ||
toggle-on.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.