userlist highlight: focusable treeview + palette CSS gets real :selected theme colors

This commit is contained in:
2026-02-27 09:19:44 -07:00
committed by Mike Buchholz
parent 90b7d7c5a1
commit 50d99e1314
2 changed files with 7 additions and 0 deletions

View File

@@ -531,6 +531,12 @@ gtkutil_apply_palette (GtkWidget *widget, const GdkRGBA *bg, const GdkRGBA *fg,
} }
gtkutil_append_font_css (css, font_desc); gtkutil_append_font_css (css, font_desc);
g_string_append (css, " }"); g_string_append (css, " }");
g_string_append_printf (css, ".%s *:selected {", class_name);
if (bg)
g_string_append (css, " background-color: @theme_selected_bg_color;");
if (fg)
g_string_append (css, " color: @theme_selected_fg_color;");
g_string_append (css, " }");
gtk_css_provider_load_from_data (provider, css->str, -1, NULL); gtk_css_provider_load_from_data (provider, css->str, -1, NULL);
if (new_provider) if (new_provider)

View File

@@ -682,6 +682,7 @@ userlist_create (GtkWidget *box)
treeview = gtk_tree_view_new (); treeview = gtk_tree_view_new ();
gtk_widget_set_name (treeview, "zoitechat-userlist"); gtk_widget_set_name (treeview, "zoitechat-userlist");
gtk_widget_set_can_focus (treeview, TRUE);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection gtk_tree_selection_set_mode (gtk_tree_view_get_selection
(GTK_TREE_VIEW (treeview)), (GTK_TREE_VIEW (treeview)),