File 001-dark-mode-support.patch of Package desktopfolder
diff -ruN desktopfolder-1.1.3.orig/meson.build desktopfolder-1.1.3/meson.build
--- desktopfolder-1.1.3.orig/meson.build 2020-09-02 15:32:39.000000000 +0300
+++ desktopfolder-1.1.3/meson.build 2021-10-09 00:18:18.722505065 +0300
@@ -88,6 +88,7 @@
dependency('glib-2.0'),
dependency('gobject-2.0'),
dependency('gtk+-3.0',version:'>=3.22'),
+ dependency('granite', version: '>= 6.0.0'),
dependency('cairo'),
dependency('json-glib-1.0'),
dependency('gdk-pixbuf-2.0'),
diff -ruN desktopfolder-1.1.3.orig/src/Application.vala desktopfolder-1.1.3/src/Application.vala
--- desktopfolder-1.1.3.orig/src/Application.vala 2021-10-09 00:18:39.319067731 +0300
+++ desktopfolder-1.1.3/src/Application.vala 2021-10-09 00:19:54.731827116 +0300
@@ -82,6 +82,16 @@
* @description activate life cycle
*/
protected override void activate () {
+ // elementary OS 6 dark mode support
+ var granite_settings = Granite.Settings.get_default ();
+ var gtk_settings = Gtk.Settings.get_default ();
+
+ gtk_settings.gtk_application_prefer_dark_theme = granite_settings.prefers_color_scheme == Granite.Settings.ColorScheme.DARK;
+
+ granite_settings.notify["prefers-color-scheme"].connect (() => {
+ gtk_settings.gtk_application_prefer_dark_theme = granite_settings.prefers_color_scheme == Granite.Settings.ColorScheme.DARK;
+ });
+
base.activate ();
debug ("activate event");
this.hold ();