add: case ConfigureNotify: if (event->xconfigure.width != view->size.width || event->xconfigure.height != view->size.height) {  view->size.width = event->xconfigure.width; view->size.height = event->xconfigure.height;  if (view->flags.notifySizeChanged) { WMPostNotificationName(WMViewSizeDidChangeNotification, view, NULL); } } if (event->xconfigure.x != view->pos.x || event->xconfigure.y != view->pos.y) {  if (event->xconfigure.send_event) { view->pos.x = event->xconfigure.x; view->pos.y = event->xconfigure.y; } else { Window foo;  XTranslateCoordinates(view->screen->display, view->window, view->screen->rootWin, event->xconfigure.x, event->xconfigure.y, &view->pos.x, &view->pos.y, &foo); } } break;
context: handleEvents(XEvent *event, void *clientData){    _Window *win = (_Window*)clientData;            switch (event->type) {     case ClientMessage:	if (event->xclient.message_type == win->view->screen->protocolsAtom	    && event->xclient.format == 32 	    && event->xclient.data.l[0]==win->view->screen->deleteWindowAtom) {	    	    if (win->closeAction) {		(*win->closeAction)(win, win->closeData);	    }	}	break;     case UnmapNotify:	WMUnmapWidget(win);	break;     case DestroyNotify:	destroyWindow(win);	break;    }}