#include <X11/Intrinsic.h>

void xt_event_handler( Widget xtwidget, XtPointer *data, XEvent *xevent, Boolean *b )
{
int width, height;
  switch( xevent->type )
  {
    case Expose:
        draw();
    case ConfigureNotify:
   	width = xevent->xconfigure.width;
    	height = xevent->xconfigure.height;
	break;
     case ButtonPress:
     case KeyPress:
     	D("button!\n");
	break;
     default:
        break;
  }
}

...
Widget xtwidget = XtWindowToWidget( display, window );
if( xtwidget )
{
      long event_mask = ExposureMask|
	     KeyPressMask |
	     ButtonPressMask |
	     StructureNotifyMask;
      XSelectInput(mDisplay, mWindow, event_mask);
      XtAddEventHandler(xtwidget, event_mask, False, (XtEventHandler)xt_event_handler, NULL);
}
...

