-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy paththeming_patch.diff
More file actions
40 lines (40 loc) · 1.78 KB
/
theming_patch.diff
File metadata and controls
40 lines (40 loc) · 1.78 KB
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
230a231,246
> 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,267c271,278
< g_object_set (gtk_settings_get_for_display (self->display),
< "gtk-theme-name", "Adwaita-empty",
< NULL);
<
< 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);
---
> 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);
>
> 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);