all repos — openbox @ cb3c457b8270df540c53400ba999517f919a0121

openbox fork - make it a bit more like ryudo

place transients better
Dana Jansens danakj@orodu.net
commit

cb3c457b8270df540c53400ba999517f919a0121

parent

4cd886e5188549ab48a11b70cb40b65efe916b6c

1 files changed, 5 insertions(+), 5 deletions(-)

jump to
M plugins/placement/placement.cplugins/placement/placement.c

@@ -56,16 +56,13 @@ static void event(ObEvent *e, void *foo)

{ g_assert(e->type == Event_Client_New); - /* requested a position */ - if (e->data.c.client->positioned) return; - if (e->data.c.client->transient_for) { if (e->data.c.client->transient_for != OB_TRAN_GROUP) { ObClient *c = e->data.c.client; ObClient *p = e->data.c.client->transient_for; - int x = (c->frame->area.width - p->frame->area.width) / 2 + + int x = (p->frame->area.width - c->frame->area.width) / 2 + p->frame->area.x; - int y = (c->frame->area.height - p->frame->area.height) / 2 + + int y = (p->frame->area.height - c->frame->area.height) / 2 + p->frame->area.y; client_configure(c, OB_CORNER_TOPLEFT, x, y, c->area.width, c->area.height,

@@ -103,6 +100,9 @@ return;

} } } + + /* requested a position */ + if (e->data.c.client->positioned) return; if (!history || !place_history(e->data.c.client)) place_random(e->data.c.client);