Index: screen.c =================================================================== --- screen.c (Revision 718) +++ screen.c (Arbeitskopie) @@ -165,7 +165,8 @@ static void kiba_window_state_changed_cb(KibaWindow *window, gint states_changed, gpointer data) { KibaScreen *screen = KIBA_SCREEN_DEFAULT; - if (window->state & (1 << KIBA_WINDOW_CLOSED)) { + if (window->state & (1 << KIBA_WINDOW_CLOSED) + || !(window->state & (1 << KIBA_WINDOW_MAPPED))) { g_signal_emit (screen, screen_signals[SIG_WINDOW_CLOSED], 0, window); @@ -226,7 +227,10 @@ if (kiba_screen_get_window (screen, gdk_window) != NULL) continue; - + + if (gdk_window_get_state(gdk_window) & (1 << GDK_WINDOW_STATE_WITHDRAWN)) + continue; + window = kiba_window_new (gdk_window); g_signal_connect_after(G_OBJECT(window), "state-changed",