void
manage(Window w, XWindowAttributes *wa)
{
- Client *c;
+ Client *c, *tc;
Window trans;
XSetWindowAttributes twa;
c->maxw == c->minw && c->maxh == c->minh);
settitle(c);
+ if(trans && (tc = getclient(trans))) {
+ c->x = (tc->x + tc->w / 2) - (c->w / 2);
+ c->y = (tc->y + tc->h / 2) - (c->h / 2);
+ if(c->x < 0 || c->x >= sw)
+ c->x = (sw / 2) - (c->w / 2);
+ if(c->y < 0 || c->y >= sh)
+ c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
+ }
+ else {
+ c->x = (sw / 2) - (c->w / 2);
+ c->y = ((sh - bh) / 2) - (c->h / 2) + bh;
+ }
+
if(isvisible(c))
sel = c;
arrange(NULL);