rem: WMSetWindowUPosition(panel->win,
add: WMSetWindowInitialPosition(panel->win,
context: WMCreateAlertPanel(WMScreen *scrPtr, WMWindow *owner, 		   char *title, char *msg, char *defaultButton,		   char *alternateButton, char *otherButton){    WMAlertPanel *panel;    int x, dw=0, aw=0, ow=0, w;            panel = wmalloc(sizeof(WMAlertPanel));    memset(panel, 0, sizeof(WMAlertPanel));            panel->retKey = XKeysymToKeycode(scrPtr->display, XK_Return);    if (owner)	panel->win = WMCreatePanelWithStyleForWindow(owner, "alertPanel",						     WMTitledWindowMask);    else	panel->win = WMCreateWindowWithStyle(scrPtr, "alertPanel",					     WMTitledWindowMask);    WMSetWindowUPosition(panel->win, 	 (scrPtr->rootView->size.width - WMWidgetWidth(panel->win))/2,	 (scrPtr->rootView->size.height - WMWidgetHeight(panel->win))/2);    WMSetWindowTitle(panel->win, "");    if (scrPtr->applicationIcon) {			panel->iLbl = WMCreateLabel(panel->win);	WMResizeWidget(panel->iLbl, scrPtr->applicationIcon->width,		       scrPtr->applicationIcon->height);	WMMoveWidget(panel->iLbl, 8 + (64 - scrPtr->applicationIcon->width)/2,		     (75 - scrPtr->applicationIcon->height)/2);	WMSetLabelImage(panel->iLbl, scrPtr->applicationIcon);	WMSetLabelImagePosition(panel->iLbl, WIPImageOnly);    }    if (title) {	WMFont *largeFont;		largeFont = WMBoldSystemFontOfSize(scrPtr, 24);	panel->tLbl = WMCreateLabel(panel->win);	WMMoveWidget(panel->tLbl, 80, (80 - WMFontHeight(largeFont))/2);	WMResizeWidget(panel->tLbl, 400 - 70, WMFontHeight(largeFont)+4);	WMSetLabelText(panel->tLbl, title);	WMSetLabelTextAlignment(panel->tLbl, WALeft);	WMSetLabelFont(panel->tLbl, largeFont);		WMReleaseFont(largeFont);    }    if (msg) {	panel->mLbl = WMCreateLabel(panel->win);	WMMoveWidget(panel->mLbl, 10, 83);	WMResizeWidget(panel->mLbl, 380, WMFontHeight(scrPtr->normalFont)*4);	WMSetLabelText(panel->mLbl, msg);	WMSetLabelTextAlignment(panel->mLbl, WACenter);    }            /* create divider line */        panel->line = WMCreateFrame(panel->win);    WMMoveWidget(panel->line, 0, 80);    WMResizeWidget(panel->line, 400, 2);    WMSetFrameRelief(panel->line, WRGroove);    /* create buttons */    if (otherButton) 	ow = WMWidthOfString(scrPtr->normalFont, otherButton, 			     strlen(otherButton));        if (alternateButton)	aw = WMWidthOfString(scrPtr->normalFont, alternateButton, 			     strlen(alternateButton));        if (defaultButton)	dw = WMWidthOfString(scrPtr->normalFont, defaultButton,			     strlen(defaultButton));        w = dw + (scrPtr->buttonArrow ? scrPtr->buttonArrow->width : 0);    if (aw > w)	w = aw;    if (ow > w)	w = ow;    w += 30;    x = 400;    if (defaultButton) {	x -= w + 10;		panel->defBtn = WMCreateCommandButton(panel->win);	WMSetButtonAction(panel->defBtn, alertPanelOnClick, panel);	WMMoveWidget(panel->defBtn, x, 144);	WMResizeWidget(panel->defBtn, w, 24);	WMSetButtonText(panel->defBtn, defaultButton);	WMSetButtonImage(panel->defBtn, scrPtr->buttonArrow);	WMSetButtonAltImage(panel->defBtn, scrPtr->pushedButtonArrow);	WMSetButtonImagePosition(panel->defBtn, WIPRight);    }    if (alternateButton) {	x -= w + 10;	panel->altBtn = WMCreateCommandButton(panel->win);	WMMoveWidget(panel->altBtn, x, 144);	WMResizeWidget(panel->altBtn, w, 24);	WMSetButtonAction(panel->altBtn, alertPanelOnClick, panel);	WMSetButtonText(panel->altBtn, alternateButton);    }    if (otherButton) {	x -= w + 10;		panel->othBtn = WMCreateCommandButton(panel->win);	WMSetButtonAction(panel->othBtn, alertPanelOnClick, panel);	WMMoveWidget(panel->othBtn, x, 144);	WMResizeWidget(panel->othBtn, w, 24);	WMSetButtonText(panel->othBtn, otherButton);	    }    panel->done = 0;        WMCreateEventHandler(W_VIEW(panel->win), KeyPressMask,			 handleKeyPress, panel);    WMRealizeWidget(panel->win);    WMMapSubwidgets(panel->win);    return panel;}