6a42d77261
Instead of every individual StThemeNode. There are essentially two kinds of theme nodes: Those we create for lookups, and those interned by the theme context and used by StWidgets. Listening to the signal on the former is pointless as they are short lived and not meant to be really used for drawing. So it is only essential to track stylesheet changes in those we intern for later use. This change does precisely that, it lets the StThemeContext track the stylesheet changes and let all known theme nodes reset their state for it. The internal array holding all connected handlers for this signal in glib was about the biggest single allocation made in gnome-shell, as interned theme nodes nodes are around the 4 to 5 digit numbers. This essentially makes it disappear. This however means that widgets that are explicitly set a theme through st_widget_set_theme() don't get their theme node implicitly updated. There's little reasons to use that API, so perhaps this is an acceptable tradeoff. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/779 |
||
---|---|---|
.gitlab-ci | ||
.settings | ||
data | ||
docs/reference | ||
js | ||
lint | ||
man | ||
meson | ||
po | ||
src | ||
subprojects | ||
test | ||
tests | ||
tools | ||
.eslintrc.json | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
cldr2json.py | ||
config.h.meson | ||
COPYING | ||
gnome-shell.doap | ||
HACKING.md | ||
meson_options.txt | ||
meson.build | ||
NEWS | ||
README.md | ||
README.mdwn |
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.