From 827f54f2c4fbddb1052f870d3040616a557387d7 Mon Sep 17 00:00:00 2001 From: whitequark Date: Sun, 19 Mar 2017 18:41:47 +0000 Subject: [PATCH] GTK: ensure the editor always uses contrasting colors. On some configurations, it seems that the default GTK theme has a transparent background, which makes black text on black (GL) background illegible. --- src/platform/gtkmain.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/platform/gtkmain.cpp b/src/platform/gtkmain.cpp index a1e5bca..7f94df1 100644 --- a/src/platform/gtkmain.cpp +++ b/src/platform/gtkmain.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -1410,6 +1411,18 @@ int main(int argc, char** argv) { Gtk::Main main(argc, argv); + // Add our application-specific styles, to override GTK defaults. + Glib::RefPtr style_provider = Gtk::CssProvider::create(); + style_provider->load_from_data(R"( + entry { + background: white; + color: black; + } + )"); + Gtk::StyleContext::add_provider_for_screen(Gdk::Screen::get_default(), + style_provider, + 600 /*Gtk::STYLE_PROVIDER_PRIORITY_APPLICATION*/); + #ifdef HAVE_SPACEWARE gdk_window_add_filter(NULL, GdkSpnavFilter, NULL); #endif