diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c index 97577aa1..a2e64cd1 100644 --- a/src/fe-gtk/gtkutil.c +++ b/src/fe-gtk/gtkutil.c @@ -1235,6 +1235,7 @@ gtkutil_window_new (char *title, char *role, int width, int height, int flags) gtk_window_set_title (GTK_WINDOW (win), title); gtk_window_set_default_size (GTK_WINDOW (win), width, height); gtk_window_set_role (GTK_WINDOW (win), role); + fe_apply_theme_to_toplevel (win); if (flags & 1) gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_MOUSE); if ((flags & 2) && parent_window) diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index cad767bd..648076ad 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -3868,6 +3868,7 @@ mg_create_tabwindow (session *sess) void mg_apply_setup (void) { + GList *toplevels, *node; GSList *list = sess_list; session *sess; int done_main = FALSE; @@ -3887,6 +3888,11 @@ mg_apply_setup (void) done_main = TRUE; list = list->next; } + + toplevels = gtk_window_list_toplevels (); + for (node = toplevels; node; node = node->next) + fe_apply_theme_to_toplevel (GTK_WIDGET (node->data)); + g_list_free (toplevels); } static chan * diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c index 421b02b1..1084577d 100644 --- a/src/fe-gtk/servlistgui.c +++ b/src/fe-gtk/servlistgui.c @@ -1799,6 +1799,7 @@ servlist_open_edit (GtkWidget *parent, ircnet *net) gtk_window_set_modal (GTK_WINDOW (editwindow), TRUE); gtk_window_set_type_hint (GTK_WINDOW (editwindow), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_role (GTK_WINDOW (editwindow), "editserv"); + fe_apply_theme_to_toplevel (editwindow); vbox5 = gtkutil_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (editwindow), vbox5); @@ -2078,6 +2079,7 @@ servlist_open_networks (void) gtk_window_set_default_size (GTK_WINDOW (servlist), netlist_win_width, netlist_win_height); gtk_window_set_role (GTK_WINDOW (servlist), "servlist"); gtk_window_set_type_hint (GTK_WINDOW (servlist), GDK_WINDOW_TYPE_HINT_DIALOG); + fe_apply_theme_to_toplevel (servlist); if (current_sess) gtk_window_set_transient_for (GTK_WINDOW (servlist), GTK_WINDOW (current_sess->gui->window)); diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index 0282358d..26c5625c 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -2777,6 +2777,7 @@ setup_window_open (void) gtk_box_pack_start (GTK_BOX (hbbox), wid, FALSE, FALSE, 0); gtk_widget_show_all (win); + fe_apply_theme_to_toplevel (win); return win; }