that was a really bad idea, i didnt mean it, i swear
This commit is contained in:
parent
bc1148f0b3
commit
af7278b6e5
1 changed files with 15 additions and 15 deletions
|
@ -401,15 +401,11 @@ void client_unmanage(ObClient *self)
|
||||||
influence */
|
influence */
|
||||||
screen_update_areas();
|
screen_update_areas();
|
||||||
|
|
||||||
if (focus_client == self) {
|
for (it = client_destructors; it; it = g_slist_next(it)) {
|
||||||
XEvent e;
|
GDestroyNotify func = (GDestroyNotify) it->data;
|
||||||
|
func(self);
|
||||||
/* 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;
|
||||||
|
@ -419,8 +415,8 @@ void client_unmanage(ObClient *self)
|
||||||
((ObClient*)it->data)->transients =
|
((ObClient*)it->data)->transients =
|
||||||
g_slist_remove(((ObClient*)it->data)->transients, self);
|
g_slist_remove(((ObClient*)it->data)->transients, self);
|
||||||
} else if (self->transient_for) { /* transient of window */
|
} else if (self->transient_for) { /* transient of window */
|
||||||
self->transient_for->transients =
|
self->transient_for->transients =
|
||||||
g_slist_remove(self->transient_for->transients, self);
|
g_slist_remove(self->transient_for->transients, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* tell our transients that we're gone */
|
/* tell our transients that we're gone */
|
||||||
|
@ -431,17 +427,21 @@ void client_unmanage(ObClient *self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (it = client_destructors; it; it = g_slist_next(it)) {
|
|
||||||
GDestroyNotify func = (GDestroyNotify) it->data;
|
|
||||||
func(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);
|
||||||
self->group = NULL;
|
self->group = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
/* give the client its border back */
|
/* give the client its border back */
|
||||||
client_toggle_border(self, TRUE);
|
client_toggle_border(self, TRUE);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue