fallback focus while unmanaging the window

This commit is contained in:
Dana Jansens 2003-04-08 01:02:28 +00:00
parent 8a30fa25a0
commit fc32577766

View file

@ -182,6 +182,7 @@ void client_manage(Window window)
XFree(wmhint); XFree(wmhint);
} }
*/ */
g_message("Managing window: %lx", window);
/* choose the events we want to receive on the CLIENT window */ /* choose the events we want to receive on the CLIENT window */
attrib_set.event_mask = CLIENT_EVENTMASK; attrib_set.event_mask = CLIENT_EVENTMASK;
@ -245,7 +246,7 @@ void client_manage(Window window)
/* make sure the window is visible */ /* make sure the window is visible */
client_move_onscreen(self); client_move_onscreen(self);
/* g_message("Managed window 0x%lx", window);*/ g_message("Managed window 0x%lx", window);
} }
void client_unmanage_all() void client_unmanage_all()
@ -260,7 +261,7 @@ void client_unmanage(Client *self)
int j; int j;
GSList *it; GSList *it;
/* g_message("Unmanaging window: %lx", self->window);*/ g_message("Unmanaging window: %lx", self->window);
dispatch_client(Event_Client_Destroy, self, 0, 0); dispatch_client(Event_Client_Destroy, self, 0, 0);
g_assert(self != NULL); g_assert(self != NULL);
@ -311,6 +312,8 @@ void client_unmanage(Client *self)
} }
} }
focus_fallback(FALSE);
/* remove from its group */ /* remove from its group */
if (self->group) { if (self->group) {
group_remove(self->group, self); group_remove(self->group, self);
@ -340,6 +343,8 @@ void client_unmanage(Client *self)
XMapWindow(ob_display, self->window); XMapWindow(ob_display, self->window);
} }
g_message("Unmanaged window 0x%lx", self->window);
/* free all data allocated in the client struct */ /* free all data allocated in the client struct */
g_slist_free(self->transients); g_slist_free(self->transients);
for (j = 0; j < self->nicons; ++j) for (j = 0; j < self->nicons; ++j)