[dconf-editor: 1/5] Support dark mode
- From: Maximiliano <msandova src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dconf-editor: 1/5] Support dark mode
- Date: Wed, 27 Jul 2022 15:54:58 +0000 (UTC)
commit 753ed8cac3be17cf9dd041e21a63e040f92c3811
Author: Maximiliano Sandoval R <msandova protonmail com>
Date: Tue Jul 12 19:11:46 2022 +0200
Support dark mode
editor/dconf-editor.vala | 4 ++++
editor/meson.build | 1 +
editor/night-light-monitor.vala | 14 +++++++-------
3 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/editor/dconf-editor.vala b/editor/dconf-editor.vala
index 55442a16..fd0823bc 100644
--- a/editor/dconf-editor.vala
+++ b/editor/dconf-editor.vala
@@ -330,9 +330,13 @@ private class ConfigurationEditor : Gtk.Application, BaseApplication
{
base.startup ();
+ Hdy.init ();
+
Environment.set_application_name (PROGRAM_NAME);
Gtk.Window.set_default_icon_name ("ca.desrt.dconf-editor");
+ Hdy.StyleManager.get_default ().set_color_scheme (PREFER_LIGHT);
+
add_action_entries (action_entries, this);
set_accels_for_action ("bw.toggle-bookmark", { "<Primary>b",
"<Shift><Primary>b" });
diff --git a/editor/meson.build b/editor/meson.build
index 0eb3bb1a..219ead81 100644
--- a/editor/meson.build
+++ b/editor/meson.build
@@ -162,6 +162,7 @@ deps = [
dependency('glib-2.0', version: '>= 2.56.0'),
dependency('gmodule-2.0'),
dependency('gtk+-3.0', version: '>= 3.22.27'),
+ dependency('libhandy-1', version: '>= 1.6'),
valac.find_library('config', dirs: meson.current_source_dir()),
valac.find_library('posix')
]
diff --git a/editor/night-light-monitor.vala b/editor/night-light-monitor.vala
index 034d80f7..f82cc2b9 100644
--- a/editor/night-light-monitor.vala
+++ b/editor/night-light-monitor.vala
@@ -208,15 +208,15 @@ private class NightLightMonitor : Object
}
private static bool _set_dark_theme_real (bool night_mode)
{
- Gtk.Settings? gtk_settings = Gtk.Settings.get_default ();
- if (gtk_settings == null)
+ Hdy.StyleManager style_manager = Hdy.StyleManager.get_default ();
+
+ if (night_mode != style_manager.get_dark ())
{
- warning (warning_get_gtksettings);
- return false;
+ if (night_mode)
+ style_manager.set_color_scheme (FORCE_DARK);
+ else
+ style_manager.set_color_scheme (PREFER_LIGHT);
}
-
- if (night_mode != ((!) gtk_settings).gtk_application_prefer_dark_theme)
- ((!) gtk_settings).@set ("gtk-application-prefer-dark-theme", night_mode);
return true;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]