equal
deleted
inserted
replaced
185 } |
185 } |
186 |
186 |
187 void |
187 void |
188 manage(Window w, XWindowAttributes *wa) |
188 manage(Window w, XWindowAttributes *wa) |
189 { |
189 { |
190 Client *c; |
190 Client *c, *tc; |
191 Window trans; |
191 Window trans; |
192 XSetWindowAttributes twa; |
192 XSetWindowAttributes twa; |
193 |
193 |
194 c = emallocz(sizeof(Client)); |
194 c = emallocz(sizeof(Client)); |
195 c->tags = emallocz(ntags * sizeof(Bool)); |
195 c->tags = emallocz(ntags * sizeof(Bool)); |
255 if(!c->isfloat) |
255 if(!c->isfloat) |
256 c->isfloat = trans |
256 c->isfloat = trans |
257 || (c->maxw && c->minw && |
257 || (c->maxw && c->minw && |
258 c->maxw == c->minw && c->maxh == c->minh); |
258 c->maxw == c->minw && c->maxh == c->minh); |
259 settitle(c); |
259 settitle(c); |
|
260 |
|
261 if(trans && (tc = getclient(trans))) { |
|
262 c->x = (tc->x + tc->w / 2) - (c->w / 2); |
|
263 c->y = (tc->y + tc->h / 2) - (c->h / 2); |
|
264 } |
|
265 else { |
|
266 c->x = (sw / 2) - (c->w / 2); |
|
267 c->y = ((sh - bh) / 2) - (c->h / 2) + bh; |
|
268 } |
260 |
269 |
261 if(isvisible(c)) |
270 if(isvisible(c)) |
262 sel = c; |
271 sel = c; |
263 arrange(NULL); |
272 arrange(NULL); |
264 XMapWindow(dpy, c->win); |
273 XMapWindow(dpy, c->win); |