У меня есть следующий код, который отлично работает, чтобы установить цвета фона и переднего плана для GtkTextview:
static void
setColor(GtkWidget * widget) {
auto style_context = gtk_widget_get_style_context (widget);
gtk_style_context_add_class(style_context, GTK_STYLE_CLASS_VIEW );
auto css_provider = gtk_css_provider_new();
GError *error=NULL;
auto data = g_strdup_printf("\
* {\
background-color: black;\
color: white;\
}\
*:selected {\
background-color: blue;\
color: yellow;\
}\
");
gtk_css_provider_load_from_data (css_provider, data, -1, &error);
g_free(data);
if (error){
ERROR("gtk_css_provider_load_from_data: %s\n", error->message);
g_error_free(error);
return;
}
gtk_style_context_add_provider (style_context,
GTK_STYLE_PROVIDER(css_provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
}
В результате, как обычный, так и выбранный цвет текста имеют черный фон и белый передний план.
Почему выделенный текст не отображается желтым / синим цветом?
Любой указатель на файл примера будет очень полезен.