From c3337b05b62f5349abba936e09f198e7b9ff18ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 21 Nov 2021 20:33:41 +0100 Subject: [PATCH] main: Use dark theme when run in a Phosh session Downstreams either don't restyle making us divert from the designs or use squeekboard-restyled adding extra complexity. Closes: #242 --- src/server-main.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/server-main.c b/src/server-main.c index 758639bd..aba350e5 100644 --- a/src/server-main.c +++ b/src/server-main.c @@ -245,6 +245,32 @@ session_register(void) { g_signal_connect (_client_proxy, "g-signal", G_CALLBACK (client_proxy_signal), NULL); } + +static void +phosh_theme_init (void) +{ + GtkSettings *gtk_settings; + const char *desktop; + gboolean phosh_session; + g_auto (GStrv) components = NULL; + + desktop = g_getenv ("XDG_CURRENT_DESKTOP"); + if (!desktop) { + return; + } + + components = g_strsplit (desktop, ":", -1); + phosh_session = g_strv_contains ((const char * const *)components, "Phosh"); + + if (!phosh_session) { + return; + } + + gtk_settings = gtk_settings_get_default (); + g_object_set (G_OBJECT (gtk_settings), "gtk-application-prefer-dark-theme", TRUE, NULL); +} + + int main (int argc, char **argv) { @@ -270,6 +296,8 @@ main (int argc, char **argv) eek_init (); + phosh_theme_init (); + // Set up Wayland gdk_set_allowed_backends ("wayland"); GdkDisplay *gdk_display = gdk_display_get_default ();