Skip to content

Commit 12a606e

Browse files
danirabbitstsdc
authored andcommitted
Appearance: don't set dark pref, dry loading provider
1 parent 14624ec commit 12a606e

File tree

1 file changed

+13
-21
lines changed

1 file changed

+13
-21
lines changed

src/Services/Appearance.vala

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,26 @@
44
*/
55

66
public class Monitor.Appearance : Object {
7-
public static void set_prefered_style () {
8-
var granite_settings = Granite.Settings.get_default ();
9-
var gtk_settings = Gtk.Settings.get_default ();
7+
private static Gtk.CssProvider provider;
108

11-
bool is_dark = granite_settings.prefers_color_scheme == Granite.Settings.ColorScheme.DARK;
12-
gtk_settings.gtk_application_prefer_dark_theme = is_dark;
9+
public static void set_prefered_style () {
10+
provider = new Gtk.CssProvider ();
11+
Gtk.StyleContext.add_provider_for_display (Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
1312

13+
var granite_settings = Granite.Settings.get_default ();
14+
update_style_provider (granite_settings.prefers_color_scheme);
1415

15-
var provider = new Gtk.CssProvider ();
16+
// We listen to changes in Granite.Settings and update our app if the user changes their preference
17+
granite_settings.notify["prefers-color-scheme"].connect (() => {
18+
update_style_provider (granite_settings.prefers_color_scheme);
19+
});
20+
}
1621

17-
if (is_dark) {
22+
private static void update_style_provider (Granite.Settings.ColorScheme color_scheme) {
23+
if (color_scheme == DARK) {
1824
provider.load_from_resource ("/io/elementary/monitor/monitor-dark.css");
1925
} else {
2026
provider.load_from_resource ("/io/elementary/monitor/monitor-light.css");
2127
}
22-
23-
Gtk.StyleContext.add_provider_for_display (Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
24-
25-
// We listen to changes in Granite.Settings and update our app if the user changes their preference
26-
granite_settings.notify["prefers-color-scheme"].connect (() => {
27-
is_dark = granite_settings.prefers_color_scheme == Granite.Settings.ColorScheme.DARK;
28-
gtk_settings.gtk_application_prefer_dark_theme = is_dark;
29-
30-
if (is_dark) {
31-
provider.load_from_resource ("/io/elementary/monitor/monitor-dark.css");
32-
} else {
33-
provider.load_from_resource ("/io/elementary/monitor/monitor-light.css");
34-
}
35-
});
3628
}
3729
}

0 commit comments

Comments
 (0)