comparison finch/libgnt/gntwm.c @ 29304:06144d315c08

gnt: Make sure the ordering of the windows is correct after a refresh.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Thu, 28 Jan 2010 17:24:13 +0000
parents 8bacc2a70576
children a8cc50c2279f
comparison
equal deleted inserted replaced
29303:8bacc2a70576 29304:06144d315c08
1111 1111
1112 static gboolean 1112 static gboolean
1113 refresh_screen(GntBindable *bindable, GList *null) 1113 refresh_screen(GntBindable *bindable, GList *null)
1114 { 1114 {
1115 GntWM *wm = GNT_WM(bindable); 1115 GntWM *wm = GNT_WM(bindable);
1116 GList *iter;
1116 1117
1117 endwin(); 1118 endwin();
1118 refresh(); 1119 refresh();
1119 1120
1120 g_hash_table_foreach(wm->nodes, (GHFunc)refresh_node, GINT_TO_POINTER(TRUE)); 1121 g_hash_table_foreach(wm->nodes, (GHFunc)refresh_node, GINT_TO_POINTER(TRUE));
1121 g_signal_emit(wm, signals[SIG_TERMINAL_REFRESH], 0); 1122 g_signal_emit(wm, signals[SIG_TERMINAL_REFRESH], 0);
1123
1124 for (iter = g_list_last(wm->cws->ordered); iter; iter = iter->prev) {
1125 GntWidget *w = iter->data;
1126 GntNode *node = g_hash_table_lookup(wm->nodes, w);
1127 top_panel(node->panel);
1128 }
1129
1122 gnt_ws_draw_taskbar(wm->cws, TRUE); 1130 gnt_ws_draw_taskbar(wm->cws, TRUE);
1123 update_screen(wm); 1131 update_screen(wm);
1124 curs_set(0); /* endwin resets the cursor to normal */ 1132 curs_set(0); /* endwin resets the cursor to normal */
1125 1133
1126 return TRUE; 1134 return TRUE;