From edf59d3b33b3b46dbac1431057dccf702ce732f4 Mon Sep 17 00:00:00 2001
From: Daniel Carl <danielcarl@gmx.de>
Date: Sat, 29 Jun 2013 16:55:11 +0200
Subject: [PATCH] Fixed non highlighted completion item with gtk3 (#39).

---
 src/completion.c | 13 ++++---------
 src/main.c       |  8 ++++----
 src/main.h       |  2 ++
 3 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/completion.c b/src/completion.c
index 9722828..fa02459 100644
--- a/src/completion.c
+++ b/src/completion.c
@@ -159,15 +159,10 @@ static gboolean init_completion(GList *source)
     gtk_tree_selection_set_mode(selection, GTK_SELECTION_BROWSE);
     gtk_tree_selection_set_select_function(selection, tree_selection_func, NULL, NULL);
 
-    VB_WIDGET_OVERRIDE_COLOR(comp.tree, GTK_STATE_NORMAL, &vb.style.comp_fg[VB_COMP_NORMAL]);
-    VB_WIDGET_OVERRIDE_TEXT(comp.tree, GTK_STATE_NORMAL, &vb.style.comp_fg[VB_COMP_NORMAL]);
-    VB_WIDGET_OVERRIDE_BASE(comp.tree, GTK_STATE_NORMAL, &vb.style.comp_bg[VB_COMP_NORMAL]);
-    VB_WIDGET_OVERRIDE_BACKGROUND(comp.tree, GTK_STATE_NORMAL, &vb.style.comp_bg[VB_COMP_NORMAL]);
-
-    VB_WIDGET_OVERRIDE_COLOR(comp.tree, GTK_STATE_ACTIVE, &vb.style.comp_fg[VB_COMP_ACTIVE]);
-    VB_WIDGET_OVERRIDE_TEXT(comp.tree, GTK_STATE_ACTIVE, &vb.style.comp_fg[VB_COMP_ACTIVE]);
-    VB_WIDGET_OVERRIDE_BASE(comp.tree, GTK_STATE_ACTIVE, &vb.style.comp_bg[VB_COMP_ACTIVE]);
-    VB_WIDGET_OVERRIDE_BACKGROUND(comp.tree, GTK_STATE_ACTIVE, &vb.style.comp_bg[VB_COMP_ACTIVE]);
+    VB_WIDGET_OVERRIDE_TEXT(comp.tree, VB_GTK_STATE_NORMAL, &vb.style.comp_fg[VB_COMP_NORMAL]);
+    VB_WIDGET_OVERRIDE_BASE(comp.tree, VB_GTK_STATE_NORMAL, &vb.style.comp_bg[VB_COMP_NORMAL]);
+    VB_WIDGET_OVERRIDE_TEXT(comp.tree, VB_GTK_STATE_SELECTED, &vb.style.comp_fg[VB_COMP_ACTIVE]);
+    VB_WIDGET_OVERRIDE_BASE(comp.tree, VB_GTK_STATE_SELECTED, &vb.style.comp_bg[VB_COMP_ACTIVE]);
 
     gtk_tree_view_insert_column_with_attributes(
         GTK_TREE_VIEW(comp.tree), -1, "", renderer,
diff --git a/src/main.c b/src/main.c
index 6340e3c..db76863 100644
--- a/src/main.c
+++ b/src/main.c
@@ -247,10 +247,10 @@ gboolean vb_set_mode(Mode mode, gboolean clean)
 void vb_set_widget_font(GtkWidget *widget, const VbColor *fg, const VbColor *bg, PangoFontDescription *font)
 {
     VB_WIDGET_OVERRIDE_FONT(widget, font);
-    VB_WIDGET_OVERRIDE_TEXT(widget, GTK_STATE_NORMAL, fg);
-    VB_WIDGET_OVERRIDE_COLOR(widget, GTK_STATE_NORMAL, fg);
-    VB_WIDGET_OVERRIDE_BASE(widget, GTK_STATE_NORMAL, bg);
-    VB_WIDGET_OVERRIDE_BACKGROUND(widget, GTK_STATE_NORMAL, bg);
+    VB_WIDGET_OVERRIDE_TEXT(widget, VB_GTK_STATE_NORMAL, fg);
+    VB_WIDGET_OVERRIDE_COLOR(widget, VB_GTK_STATE_NORMAL, fg);
+    VB_WIDGET_OVERRIDE_BASE(widget, VB_GTK_STATE_NORMAL, bg);
+    VB_WIDGET_OVERRIDE_BACKGROUND(widget, VB_GTK_STATE_NORMAL, bg);
 }
 
 void vb_update_statusbar()
diff --git a/src/main.h b/src/main.h
index 0b0992b..9904a65 100644
--- a/src/main.h
+++ b/src/main.h
@@ -82,6 +82,7 @@
 
 #define VB_GTK_STATE_NORMAL             GTK_STATE_FLAG_NORMAL
 #define VB_GTK_STATE_ACTIVE             GTK_STATE_FLAG_ACTIVE
+#define VB_GTK_STATE_SELECTED           GTK_STATE_FLAG_SELECTED
 #define VB_WIDGET_SET_STATE(w, s)       gtk_widget_set_state_flags(w, s, true)
 
 #else
@@ -97,6 +98,7 @@
 
 #define VB_GTK_STATE_NORMAL             GTK_STATE_NORMAL
 #define VB_GTK_STATE_ACTIVE             GTK_STATE_ACTIVE
+#define VB_GTK_STATE_SELECTED           GTK_STATE_SELECTED
 #define VB_WIDGET_SET_STATE(w, s)       gtk_widget_set_state(w, s)
 #endif
 
-- 
2.20.1