all repos — openbox @ a79e51c64fdfa1ffd303a5a96c6ae9e393b1353a

openbox fork - make it a bit more like ryudo

transient_for is now only used to check for OB_TRAN_GROUP
Dana Jansens danakj@orodu.net
commit

a79e51c64fdfa1ffd303a5a96c6ae9e393b1353a

parent

428880d75ad74b6a1b964385f85984b493daa657

1 files changed, 7 insertions(+), 10 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -1293,8 +1293,7 @@ {

for (it = self->parents; it; it = next) { next = g_slist_next(it); c = it->data; - if ((!c->transient_for || c->transient_for != OB_TRAN_GROUP) && - client_normal(c)) + if (c->transient_for != OB_TRAN_GROUP && client_normal(c)) { c->transients = g_slist_remove(c->transients, self); self->parents = g_slist_delete_link(self->parents, it);

@@ -1320,9 +1319,7 @@ {

for (it = oldgroup->members; it; it = g_slist_next(it)) { c = it->data; if (c != self && - (!c->transient_for || - c->transient_for != OB_TRAN_GROUP) && - client_normal(c)) + c->transient_for != OB_TRAN_GROUP && client_normal(c)) { c->transients = g_slist_prepend(c->transients, self); self->parents = g_slist_prepend(self->parents, c);

@@ -1356,14 +1353,14 @@ C is transient for B

A can't be transient for C or we have a cycle */ if (oldgroup != newgroup && newgroup != NULL && - newparent != OB_TRAN_GROUP) + newparent != OB_TRAN_GROUP && + client_normal(self)) { for (it = newgroup->members; it; it = g_slist_next(it)) { c = it->data; if (c != self && c->transient_for == OB_TRAN_GROUP && /* Don't make it our child if it is already our parent */ - !client_is_direct_child(c, self) && - client_normal(self)) + !client_is_direct_child(c, self)) { self->transients = g_slist_prepend(self->transients, c); c->parents = g_slist_prepend(c->parents, self);

@@ -1848,7 +1845,7 @@ self->transient = TRUE always if the window wants to be

transient for something, even if transient_for was NULL because it wasn't in a group before. - If transient_for was NULL and oldgroup was NULL we can assume + If parents was NULL and oldgroup was NULL we can assume that when we add the new group, it will become transient for something.

@@ -1860,7 +1857,7 @@ no longer be transient for anything and that needs to be

updated. */ if (self->transient && - ((self->transient_for == NULL && oldgroup == NULL) || + ((self->parents == NULL && oldgroup == NULL) || (self->transient_for == OB_TRAN_GROUP && !self->group))) client_update_transient_for(self); }