rem: cascadeWindow(scr, wwin, x_ret, y_ret, h);
add: cascadeWindow(scr, wwin, x_ret, y_ret, width, height, h);
context: PlaceWindow(WWindow *wwin, int *x_ret, int *y_ret){    WScreen *scr = wwin->screen_ptr;    int h = scr->title_font->height+TITLEBAR_EXTRA_HEIGHT;    switch (wPreferences.window_placement) {     case WPM_MANUAL:	InteractivePlaceWindow(wwin, x_ret, y_ret);	break;     case WPM_SMART:	if (smartPlaceWindow(wwin, x_ret, y_ret))	  break;	/* there isn't a break here, because if we fail, it should fall	   through to cascade placement, as people who want tiling want	   automagicness aren't going to want to place their window */     case WPM_CASCADE:        if (wPreferences.window_placement == WPM_SMART)            scr->cascade_index++;	cascadeWindow(scr, wwin, x_ret, y_ret, h);        if (wPreferences.window_placement == WPM_CASCADE)            scr->cascade_index++;        if (scr->dock && !scr->dock->lowered) {            int x2;            x2 = *x_ret + wwin->client.width;            if (scr->dock->on_right_side                && x2 > scr->scr_width - wPreferences.icon_size -                        DOCK_EXTRA_SPACE)                *x_ret = scr->scr_width - wwin->client.width                         - wPreferences.icon_size - DOCK_EXTRA_SPACE;            else if (!scr->dock->on_right_side &&                     X_ORIGIN < wPreferences.icon_size + DOCK_EXTRA_SPACE)                *x_ret += wPreferences.icon_size + DOCK_EXTRA_SPACE - X_ORIGIN;        }	break;     case WPM_RANDOM:	{	    int w, h;	    	    w = (scr->scr_width-wwin->client.width);	    h = (scr->scr_height-wwin->client.height);	    if (w<1) w = 1;	    if (h<1) h = 1;	    *x_ret = rand()%w;	    *y_ret = rand()%h;	    if (scr->dock && !scr->dock->lowered) {		int x2;		    		x2 = *x_ret + wwin->client.width;		if (scr->dock->on_right_side                     && x2 > scr->scr_width - wPreferences.icon_size -                            DOCK_EXTRA_SPACE)                    *x_ret = scr->scr_width - wwin->client.width                             - wPreferences.icon_size - DOCK_EXTRA_SPACE;		else if (!scr->dock->on_right_side 			 && *x_ret < wPreferences.icon_size)		    *x_ret = wPreferences.icon_size + DOCK_EXTRA_SPACE;	    }	}	break;#ifdef DEBUG	     default:	puts("Invalid window placement!!!");	*x_ret = 0;	*y_ret = 0;#endif    }        if (*x_ret < 0)	*x_ret = 0;    else if (*x_ret + wwin->client.width > scr->scr_width)	*x_ret = scr->scr_width - wwin->client.width;        if (*y_ret < 0)	*y_ret = 0;    else if (*y_ret + wwin->client.height > scr->scr_height)	*y_ret = scr->scr_height - wwin->client.height;}