unfocus before unlinking the client from the transient tree
This commit is contained in:
parent
598bf575c8
commit
8aee387193
1 changed files with 9 additions and 9 deletions
|
@ -401,6 +401,15 @@ void client_unmanage(ObClient *self)
|
||||||
influence */
|
influence */
|
||||||
screen_update_areas();
|
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 */
|
/* tell our parent(s) that we're gone */
|
||||||
if (self->transient_for == OB_TRAN_GROUP) { /* transient of group */
|
if (self->transient_for == OB_TRAN_GROUP) { /* transient of group */
|
||||||
GSList *it;
|
GSList *it;
|
||||||
|
@ -427,15 +436,6 @@ void client_unmanage(ObClient *self)
|
||||||
func(self);
|
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 */
|
/* remove from its group */
|
||||||
if (self->group) {
|
if (self->group) {
|
||||||
group_remove(self->group, self);
|
group_remove(self->group, self);
|
||||||
|
|
Loading…
Reference in a new issue