unfocus before unlinking the client from the transient tree
Dana Jansens danakj@orodu.net
1 files changed,
9 insertions(+),
9 deletions(-)
jump to
M
openbox/client.c
→
openbox/client.c
@@ -401,6 +401,15 @@ /* once the client is out of the list, update the struts to remove it's
influence */ screen_update_areas(); + if (focus_client == self) { + XEvent e; + + /* focus the last focused window on the desktop, and ignore enter + events from the unmap so it doesnt mess with the focus */ + while (XCheckTypedEvent(ob_display, EnterNotify, &e)); + client_unfocus(self); + } + /* tell our parent(s) that we're gone */ if (self->transient_for == OB_TRAN_GROUP) { /* transient of group */ GSList *it;@@ -427,15 +436,6 @@ GDestroyNotify func = (GDestroyNotify) it->data;
func(self); } - if (focus_client == self) { - XEvent e; - - /* focus the last focused window on the desktop, and ignore enter - events from the unmap so it doesnt mess with the focus */ - while (XCheckTypedEvent(ob_display, EnterNotify, &e)); - client_unfocus(self); - } - /* remove from its group */ if (self->group) { group_remove(self->group, self);