1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
129a130,147
> adw_style_manager_theme_changed(GSettings *settings, const char *key, GdkDisplay *display)
> {
> char* theme = g_settings_get_string(settings, "gtk-theme");
>
> if(!theme) {
> theme = "Adwaita-empty";
> }
>
> gboolean is_dark_variant = NULL != strstr(theme, "-dark");
>
> g_object_set(gtk_settings_get_for_display(display),
> "gtk-theme-name", theme,
> "gtk-application-prefer-dark-theme", is_dark_variant, NULL);
> }
>
>
>
> static void
255,257c273,277
< g_object_set (gtk_settings_get_for_display (self->display),
< "gtk-theme-name", "Adwaita-empty",
< NULL);
---
> GSettingsSchemaSource *schema_source =
> g_settings_schema_source_get_default();
> GSettingsSchema *schema = g_settings_schema_source_lookup(
> schema_source, "org.gnome.desktop.interface", true);
> GSettings *interface_settings = g_settings_new_full(schema, NULL, NULL);
259,267c279,280
< self->provider = gtk_css_provider_new ();
< gtk_style_context_add_provider_for_display (self->display,
< GTK_STYLE_PROVIDER (self->provider),
< GTK_STYLE_PROVIDER_PRIORITY_THEME);
<
< self->colors_provider = gtk_css_provider_new ();
< gtk_style_context_add_provider_for_display (self->display,
< GTK_STYLE_PROVIDER (self->colors_provider),
< GTK_STYLE_PROVIDER_PRIORITY_THEME);
---
> adw_style_manager_theme_changed(interface_settings, "gtk-theme", self->display);
> g_signal_connect (interface_settings, "changed", G_CALLBACK (adw_style_manager_theme_changed), self->display);
715d727
<
|