Mercurial > minori
view src/sys/glib/dark_theme.cc @ 234:8ccf0302afb1
dep/animia: convert xlib code to xcb
I'm not *entirely* sure if this will work correctly for everything, but it works fine enough
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 16 Jan 2024 08:08:42 -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; } }