--- a/gntwm.c Thu Nov 22 19:08:07 2007 +0000
+++ b/gntwm.c Fri Nov 23 04:04:33 2007 +0000
@@ -81,6 +81,7 @@
static int widestringwidth(wchar_t *wide);
+static void ensure_normal_mode(GntWM *wm); static gboolean write_already(gpointer data);
static int write_timeout;
static time_t last_active_time;
@@ -392,6 +393,10 @@
if (!wm->cws->ordered || !wm->cws->ordered->next)
+ if (wm->mode != GNT_KP_MODE_NORMAL) { + ensure_normal_mode(wm); w = wm->cws->ordered->data;
pos = g_list_index(wm->cws->list, w);
@@ -503,6 +508,7 @@
gnt_widget_destroy(wm->cws->ordered->data);
+ ensure_normal_mode(wm); @@ -522,6 +528,7 @@
+ ensure_normal_mode(wm); win = wm->_list.window = gnt_box_new(FALSE, FALSE);
gnt_box_set_toplevel(GNT_BOX(win), TRUE);
gnt_box_set_pad(GNT_BOX(win), 0);
@@ -972,6 +979,16 @@
+ensure_normal_mode(GntWM *wm) + if (wm->mode != GNT_KP_MODE_NORMAL) { + window_reverse(wm->cws->ordered->data, FALSE, wm); + wm->mode = GNT_KP_MODE_NORMAL; start_move(GntBindable *bindable, GList *null)
@@ -1453,6 +1470,7 @@
gnt_widget_destroy(wm->_list.window);
+ ensure_normal_mode(wm); gnt_ws_hide(wm->cws, wm->nodes);
gnt_ws_show(wm->cws, wm->nodes);