gnome-shell/src/st
Carlos Garnacho 6a42d77261 st: Track stylesheet changes on the StThemeContext
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
2019-11-05 12:36:28 +00:00
..
meson.build build: Exclude private headers from GIR 2019-09-10 17:51:02 +00:00
st-adjustment.c st: Add transition API to StAdjustment 2019-08-07 18:40:44 +02:00
st-adjustment.h st: Add transition API to StAdjustment 2019-08-07 18:40:44 +02:00
st-bin.c st: Remove StBin's align properties 2019-11-04 21:27:56 +01:00
st-bin.h st: Remove StBin's align properties 2019-11-04 21:27:56 +01:00
st-border-image.c st: always use GFile internally 2014-10-14 18:53:39 -07:00
st-border-image.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-box-layout-child.c st: Deprecate StBoxLayout child properties 2019-11-01 19:42:02 +00:00
st-box-layout-child.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-box-layout.c st: Use clutter_actor_pick() in pick 2019-10-21 13:53:56 +00:00
st-box-layout.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-button.c st/bin: Use child's align properties 2019-11-04 21:23:32 +01:00
st-button.h st/button: Add the clicked button to virtual function signature 2019-10-16 15:26:13 +00:00
st-clipboard.c st-clipboard: Add trailing 0 to pasted text 2019-09-09 19:04:31 +00:00
st-clipboard.h st: Reimplement StClipboard on top of MetaSelection 2019-05-02 15:58:51 +00:00
st-drawing-area.c st-drawing-area: Draw content taking care of the resource_scale 2019-03-01 17:12:52 +00:00
st-drawing-area.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-entry.c st: Use g_object_notify_by_pspec() 2019-07-31 17:35:03 +00:00
st-entry.h st: Make StEntry rely entirely on ClutterInputMethod/Focus 2018-02-05 17:46:57 +01:00
st-focus-manager.c st: Add StDirectionType enum 2019-01-30 22:50:01 +01:00
st-focus-manager.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-generic-accessible.c st: Remove wrong indentation 2015-10-05 12:04:55 +01:00
st-generic-accessible.h a11y: add a generic accessible 2013-08-28 16:05:54 +02:00
st-icon-colors.c st: Add st_icon_colors_equal() 2019-07-07 21:01:33 +00:00
st-icon-colors.h st: Add st_icon_colors_equal() 2019-07-07 21:01:33 +00:00
st-icon.c st: Replace ClutterSize by graphene_size_t 2019-10-16 10:49:04 +00:00
st-icon.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-image-content.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
st-image-content.h st-image-content: Wrap ClutterImage with explicit preferred size 2019-03-01 17:12:52 +00:00
st-label.c st: Use g_object_notify_by_pspec() 2019-07-31 17:35:03 +00:00
st-label.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-private.c Drop CoglError for GError 2019-06-20 16:30:40 +02:00
st-private.h st: Cleanup ST_PARAM_* and add WRITABLE version 2019-07-30 13:58:44 +00:00
st-scroll-bar.c st: Use StAdjustment's new transition API 2019-08-07 18:40:47 +02:00
st-scroll-bar.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-scroll-view-fade.c Replace ClutterVertex by graphene_point3d_t 2019-10-16 10:49:04 +00:00
st-scroll-view-fade.glsl St: Fix fade effect 2013-09-18 20:01:49 +02:00
st-scroll-view-fade.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-scroll-view.c st/scroll-view: Remove scrollbars references on dispose 2019-10-30 01:08:27 +01:00
st-scroll-view.h st: Add StPolicyType enum 2019-01-30 22:50:01 +01:00
st-scrollable.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
st-scrollable.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-settings.c st: Move slow-down-factor into settings 2019-08-01 21:13:28 +00:00
st-settings.h st: Add missing include 2019-04-08 18:17:46 +02:00
st-shadow.c st-shadow: Add a CoglFramebuffer argument 2019-01-28 12:35:54 -02:00
st-shadow.h st-shadow: Remove unnecessary ';' 2019-03-04 22:29:33 +00:00
st-texture-cache.c shell/app-system: Monitor for icon theme changes 2019-08-08 15:22:44 +00:00
st-texture-cache.h shell/app-system: Monitor for icon theme changes 2019-08-08 15:22:44 +00:00
st-theme-context.c st: Track stylesheet changes on the StThemeContext 2019-11-05 12:36:28 +00:00
st-theme-context.h st: Use G_DECLARE_*_TYPE 2015-10-15 22:02:35 +02:00
st-theme-node-drawing.c st: Fix box-shadow drawing with prerendered_texture 2019-09-18 16:09:36 +00:00
st-theme-node-private.h st: Track stylesheet changes on the StThemeContext 2019-11-05 12:36:28 +00:00
st-theme-node-transition.c Drop CoglError for GError 2019-06-20 16:30:40 +02:00
st-theme-node-transition.h st-theme-node: Paint elements in resource-scale scaled surfaces 2019-03-01 17:12:52 +00:00
st-theme-node.c st: Track stylesheet changes on the StThemeContext 2019-11-05 12:36:28 +00:00
st-theme-node.h st-theme-node: Paint elements in resource-scale scaled surfaces 2019-03-01 17:12:52 +00:00
st-theme-private.h St: avoid blocking IO to resolve relative urls 2012-12-15 03:40:13 +01:00
st-theme.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
st-theme.h st: Drop StWidget theme overriding API 2019-11-05 12:36:28 +00:00
st-types.h st: Remove StIconType 2012-08-29 16:41:09 -03:00
st-widget-accessible.h StWidgetAccessible: accessibility support for StWidget 2011-01-20 12:56:46 +01:00
st-widget.c st: Drop StWidget theme overriding API 2019-11-05 12:36:28 +00:00
st-widget.h st: Drop StWidget theme overriding API 2019-11-05 12:36:28 +00:00
st.h.in build: Support the meson build system 2017-07-20 00:20:54 +02:00
test-theme.c st: Adjust theme test 2019-08-27 15:30:51 +03:00
test-theme.css test-theme: Stop using ClutterCairoTexture 2019-02-26 03:04:00 +01:00