This makes the tool to avoids use of hard coded colors for options rows by using theme provided theme provided colors to fix issue of rows being not readable when system theme is set to a dark theme. Signed-off-by: Ebrahim Byagowi <ebrahim@xxxxxxx> --- scripts/kconfig/gconf.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c index 5527482c3..b96570c28 100644 --- a/scripts/kconfig/gconf.c +++ b/scripts/kconfig/gconf.c @@ -49,6 +49,8 @@ GtkWidget *back_btn = NULL; GtkWidget *save_btn = NULL; GtkWidget *save_menu_item = NULL; +GtkStyle *style; + GtkTextTag *tag1, *tag2; GdkColor color; @@ -109,7 +111,7 @@ static const char *dbg_sym_flags(int val) #endif static void replace_button_icon(GladeXML *xml, GdkDrawable *window, - GtkStyle *style, gchar *btn_name, gchar **xpm) + gchar *btn_name, gchar **xpm) { GdkPixmap *pixmap; GdkBitmap *mask; @@ -132,7 +134,6 @@ static void init_main_window(const gchar *glade_file) GladeXML *xml; GtkWidget *widget; GtkTextBuffer *txtbuf; - GtkStyle *style; xml = glade_xml_new(glade_file, "window1", NULL); if (!xml) @@ -168,11 +169,11 @@ static void init_main_window(const gchar *glade_file) style = gtk_widget_get_style(main_wnd); widget = glade_xml_get_widget(xml, "toolbar1"); - replace_button_icon(xml, main_wnd->window, style, + replace_button_icon(xml, main_wnd->window, "button4", (gchar **) xpm_single_view); - replace_button_icon(xml, main_wnd->window, style, + replace_button_icon(xml, main_wnd->window, "button5", (gchar **) xpm_split_view); - replace_button_icon(xml, main_wnd->window, style, + replace_button_icon(xml, main_wnd->window, "button6", (gchar **) xpm_tree_view); txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w)); @@ -1052,13 +1053,15 @@ static gchar **fill_row(struct menu *menu) g_strdup_printf("%s %s", menu_get_prompt(menu), sym && !sym_has_value(sym) ? "(NEW)" : ""); + GdkColor *color; if (opt_mode == OPT_ALL && !menu_is_visible(menu)) - row[COL_COLOR] = g_strdup("DarkGray"); + color = &style->text[GTK_STATE_INSENSITIVE]; else if (opt_mode == OPT_PROMPT && menu_has_prompt(menu) && !menu_is_visible(menu)) - row[COL_COLOR] = g_strdup("DarkGray"); + color = &style->text[GTK_STATE_INSENSITIVE]; else - row[COL_COLOR] = g_strdup("Black"); + color = &style->text[GTK_STATE_NORMAL]; + row[COL_COLOR] = gdk_color_to_string(color); ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN; switch (ptype) { -- 2.29.2