frames/window-tracker: Initialize color scheme properly

Previous commit added support for setting the GTK4 theme setting
according to the color scheme setting. That's cool. What it didn't
add, though, was initializing the GTK4 theme setting to the proper
value. That means if the desktop starts at dark style, you'd still
get a light titlebar.

Fix that by updating the GTK4 theme setting on init as well.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2740>
This commit is contained in:
Georges Basile Stavracas Neto 2022-12-05 13:58:58 -03:00
parent b3d4dbdbf1
commit f7f88c1557

View File

@ -89,9 +89,7 @@ meta_window_tracker_get_property (GObject *object,
}
static void
on_color_scheme_changed_cb (GSettings *interface_settings,
GParamSpec *pspec,
MetaWindowTracker *window_tracker)
update_color_scheme (MetaWindowTracker *window_tracker)
{
GDesktopColorScheme color_scheme;
gboolean is_dark;
@ -105,6 +103,14 @@ on_color_scheme_changed_cb (GSettings *interface_settings,
NULL);
}
static void
on_color_scheme_changed_cb (GSettings *interface_settings,
GParamSpec *pspec,
MetaWindowTracker *window_tracker)
{
update_color_scheme (window_tracker);
}
static void
set_up_frame (MetaWindowTracker *window_tracker,
Window xwindow)
@ -409,6 +415,7 @@ meta_window_tracker_init (MetaWindowTracker *window_tracker)
"changed::color-scheme",
G_CALLBACK (on_color_scheme_changed_cb),
window_tracker);
update_color_scheme (window_tracker);
window_tracker->frames =
g_hash_table_new_full (NULL, NULL, NULL,