add: * case MapNotify: WMMapWidget(win); break;  */
context: handleEvents(XEvent *event, void *clientData){    _Window *win = (_Window*)clientData;    W_View *view = win->view;            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;	     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;    }}