diff -r 27410727480a event.c --- a/event.c Thu Apr 19 09:26:44 2007 +0200 +++ b/event.c Mon May 07 07:26:45 2007 +0200 @@ -185,6 +185,10 @@ configurerequest(XEvent *e) { c->w = ev->width; if(ev->value_mask & CWHeight) c->h = ev->height; + if((c->x + c->w) > sw && c->isfloating) + c->x = sw/2 - c->w/2; /* Center a float in x direction when being resized outside the screen */ + if((c->y + c->h) > sh && c->isfloating) + c->y = sh/2 - c->h/2; /* Center a float in y direction when being resized outside the screen */ if((ev->value_mask & (CWX | CWY)) && !(ev->value_mask & (CWWidth | CWHeight))) configure(c);