rem: rearrangeHeader(table);
context: static void splitterHandler(XEvent *event, void *data){    WMTableColumn *column = (WMTableColumn*)data;    WMTableView *table = column->table;    int done = 0;    int cx, ox, offsX;    WMPoint pos;    WMScreen *scr = WMWidgetScreen(table);    GC gc = scr->ixorGC;    Display *dpy = WMScreenDisplay(scr);    int h = WMWidgetHeight(table) - 22;    Window w = WMViewXID(table->view);        pos = WMGetViewPosition(WMWidgetView(column->titleW));    offsX = pos.x + column->width;        ox = cx = offsX;        XDrawLine(dpy, w, gc, cx+20, 0, cx+20, h);    while (!done) {	XEvent ev;	WMMaskEvent(dpy, ButtonMotionMask|ButtonReleaseMask, &ev);	switch (ev.type) {	 case MotionNotify:	    ox = cx;	    if (column->width + ev.xmotion.x < column->minWidth)		cx = pos.x + column->minWidth;	    else		cx = offsX + ev.xmotion.x;	    	    if (column->maxWidth > 0) {		if (column->width + ev.xmotion.x > column->maxWidth) 		    cx = pos.x + column->maxWidth;		else		    cx = offsX + ev.xmotion.x;	    }	    XDrawLine(dpy, w, gc, ox+20, 0, ox+20, h);	    	    XDrawLine(dpy, w, gc, cx+20, 0, cx+20, h);	    break;	 case ButtonRelease:	    column->width = cx - pos.x;	    rearrangeHeader(table);	    done = 1;	    break;	}    }        XDrawLine(dpy, w, gc, cx+20, 0, cx+20, h);    }