gnome-shell/src
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
..
calendar-server calendar-server: Uses wrong timezone for event times 2019-11-05 12:27:06 +01:00
extensions-tool gnome-extensions: Translate help command 2019-09-11 17:09:30 +00:00
hotplug-sniffer src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
st st: Track stylesheet changes on the StThemeContext 2019-11-05 12:36:28 +00:00
tray Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
data-to-c.pl build: Fix the path of perl for data-to-c.pl 2015-05-22 19:03:44 +08:00
gnome-shell-extension-prefs.c build: Don't modify typelib search path in tools 2018-08-14 17:28:03 +00:00
gnome-shell-extension-tool.in shell-extension-tool: Fix typo 2019-08-27 12:16:27 +03:00
gnome-shell-perf-tool.in perf-tool: Fix default value for --extra-filter 2018-04-29 16:15:16 +00:00
gnome-shell-plugin.c locatePointer: Add implementation in gnome-shell 2019-06-05 08:15:10 +00:00
gnome-shell-portal-helper.c build: Don't modify typelib search path in tools 2018-08-14 17:28:03 +00:00
gtkactionmuxer.c build: Fix build with clang -Werror 2016-02-26 02:06:55 +08:00
gtkactionmuxer.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobservable.c Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobservable.h Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobserver.c Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobserver.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
main.c main, util: Notify systemd once we are fully initialised 2019-10-04 15:40:05 +00:00
meson.build shell-extension-tool: Turn into a small wrapper 2019-08-21 18:28:02 +02:00
org.gtk.Application.xml Generate GDBus proxy object for org.gtk.Application 2014-11-27 10:59:55 +00:00
run-js-test.c tests: Don't initialize Clutter 2019-08-27 15:30:51 +03:00
shell-action-modes.h Drop MESSAGE_TRAY action mode 2015-02-26 01:41:18 +01:00
shell-app-private.h shell: Use MetaStartupNotification 2018-11-23 13:58:35 +01:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c shell/app-system: Monitor for icon theme changes 2019-08-08 15:22:44 +00:00
shell-app-system.h shell-app-system: Cache GAppInfos around 2019-01-26 22:55:31 +01:00
shell-app-usage.c src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
shell-app-usage.h app-usage: Remove crufty old "context"s idea 2018-11-17 12:08:33 +00:00
shell-app.c shell-app: Never allow opening new windows while an app is starting 2019-09-18 17:14:16 +00:00
shell-app.h app: Remove :menu property 2019-02-06 18:29:15 +01:00
shell-embedded-window-private.h shell-embedded-window: Remove hacks for old and fixed Clutter bug 2012-07-13 17:28:50 -04:00
shell-embedded-window.c shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-embedded-window.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-global-private.h locatePointer: Add implementation in gnome-shell 2019-06-05 08:15:10 +00:00
shell-global.c shell-global: Ignore modal operations if we have no compositor 2019-10-08 17:51:52 +02:00
shell-global.h shell: Drop XDND initialization code 2019-07-03 16:37:15 +02:00
shell-glsl-effect.c shell: Actually make GLSLEffect an effect 2019-07-29 17:51:14 +02:00
shell-glsl-effect.h shell: Actually make GLSLEffect an effect 2019-07-29 17:51:14 +02:00
shell-gtk-embed.c shell: Stop using anchor point 2019-06-05 17:59:51 +00:00
shell-gtk-embed.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-invert-lightness-effect.c shell, st: Adjust to CoglPipeline API changes 2019-04-18 16:33:06 -03:00
shell-invert-lightness-effect.h shell: Define COGL_ENABLE_EXPERIMENTAL_API and related defines globally 2014-08-07 14:49:54 -04:00
shell-keyring-prompt.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-keyring-prompt.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.c shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-network-agent.c network: port to libnm 2018-01-12 11:48:49 +01:00
shell-network-agent.h network: port to libnm 2018-01-12 11:48:49 +01:00
shell-perf-helper.c shell: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
shell-perf-log.c shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-perf-log.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-polkit-authentication-agent.c src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
shell-polkit-authentication-agent.h polkit: Port to G_DECLARE_FINAL_CLASS 2018-11-06 13:05:15 -02:00
shell-recorder-src.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-recorder-src.h Add emacs modelines to all .c and .h files that were missing them 2009-10-27 11:27:45 -04:00
shell-recorder.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-recorder.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-screenshot.c shell-screenshots: Do not pass a clip for window screenshots 2019-10-14 17:56:01 +02:00
shell-screenshot.h screenshot: Add pick_color() method 2018-07-30 16:55:10 +00:00
shell-secure-text-buffer.c shell: Don't use g_memmove() 2019-07-19 17:43:56 +00:00
shell-secure-text-buffer.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-stack.c st: Add StDirectionType enum 2019-01-30 22:50:01 +01:00
shell-stack.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-icon.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-tray-icon.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-manager.c shell-tray-manager: Silence gdk_window_set_background_pattern warning 2019-03-04 19:57:47 +00:00
shell-tray-manager.h Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
shell-util.c st: Remove color from ClutterActor pick virtual function 2019-10-16 12:01:41 +00:00
shell-util.h main, util: Notify systemd once we are fully initialised 2019-10-04 15:40:05 +00:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c shell: Ignore non-toplevels for ShellWindowTracker::tracked-windows-changed 2019-08-21 16:53:36 +00:00
shell-window-tracker.h shell: Hide/drop unused public API 2018-11-23 13:58:35 +01:00
shell-wm-private.h ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.c ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00