diff --git a/meson.build b/meson.build index 64c627f..f087d3d 100644 --- a/meson.build +++ b/meson.build @@ -88,6 +88,7 @@ executable( 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 --git a/src/Application.vala b/src/Application.vala index 777d8ce..897436c 100644 --- a/src/Application.vala +++ b/src/Application.vala @@ -82,6 +82,16 @@ public class DesktopFolderApp : Gtk.Application { * @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 (); @@ -128,8 +138,11 @@ public class DesktopFolderApp : Gtk.Application { if (f_check_elementary.query_exists ()) { // it seems we can't control an error reading settings!! // loki -> GLib.Settings elementary_files_settings = new GLib.Settings ("org.pantheon.files.preferences"); - GLib.Settings elementary_files_settings = new GLib.Settings ("io.elementary.files.preferences"); - single_click = elementary_files_settings.get_boolean ("single-click"); + + // single-click option is not available in elementary-files 6.0.0. So, set it to false by default. + // GLib.Settings elementary_files_settings = new GLib.Settings ("io.elementary.files.preferences"); + // single_click = elementary_files_settings.get_boolean ("single-click"); + single_click = false; } } catch (Error error) { // we don't have any files settings, using default config