Mercurial > minori
view src/sys/glib/dark_theme.cc @ 235:593108b3d555
dep/animia: x11: finalize xcb conversion
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Tue, 16 Jan 2024 15:22:29 -0500 |
parents | ff0061e75f0f |
children | 4d461ef7d424 |
line wrap: on
line source
#include <gio/gio.h> #include <cstring> #include <iostream> namespace glib { bool IsInDarkTheme() { GSettings* settings = g_settings_new("org.gnome.desktop.interface"); if (!settings) return false; GVariant* val = g_settings_get_value(settings, "color-scheme"); if (!val) return false; const gchar* str; g_variant_get(val, "&s", &str); /* should not be freed */ if (!str) /* how */ return false; bool success = !std::strcmp(str, "prefer-dark"); /* unref these */ g_variant_unref(val); g_object_unref(settings); return success; } }