diff -r 71f02d14dce1 -r ec8a66a2b9cc client.c --- a/client.c Wed Aug 16 15:57:36 2006 +0200 +++ b/client.c Wed Aug 16 17:56:04 2006 +0200 @@ -261,6 +261,10 @@ 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);