[gnome-builder] css: Respect GTK_THEME env var if set



commit 0fa91e324dfaa7003fd8beb54d940d543bda22f5
Author: Patrick Griffis <tingping tingping se>
Date:   Fri Jan 15 15:52:16 2016 -0500

    css: Respect GTK_THEME env var if set
    
    See also: https://bugzilla.gnome.org/show_bug.cgi?id=748985

 libide/ide-css-provider.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)
---
diff --git a/libide/ide-css-provider.c b/libide/ide-css-provider.c
index 04ec114..add98be 100644
--- a/libide/ide-css-provider.c
+++ b/libide/ide-css-provider.c
@@ -60,10 +60,26 @@ ide_css_provider_update (IdeCssProvider *self)
   g_assert (IDE_IS_CSS_PROVIDER (self));
   g_assert (GTK_IS_SETTINGS (self->settings));
 
-  g_object_get (self->settings,
-                "gtk-theme-name", &theme_name,
-                "gtk-application-prefer-dark-theme", &prefer_dark_theme,
-                NULL);
+  if ((theme_name = g_strdup(g_getenv ("GTK_THEME"))))
+    {
+      char *p;
+
+      /* Theme variants are specified with the syntax
+       * "<theme>:<variant>" e.g. "Adwaita:dark" */
+      if ((p = strrchr (theme_name, ':')))
+        {
+          *p = '\0';
+          p++;
+          prefer_dark_theme = g_strcmp0 (p, "dark") == 0;
+        }
+    }
+  else
+    {
+      g_object_get (self->settings,
+                    "gtk-theme-name", &theme_name,
+                    "gtk-application-prefer-dark-theme", &prefer_dark_theme,
+                    NULL);
+    }
 
   resource_path = g_strdup_printf ("%s/theme/%s%s.css",
                                    self->base_path,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]