Specifies a Boolean value that indicates
whether this procedure should be called or removed on the nonmaskable
events (GraphicsExpose, NoExpose, SelectionClear, SelectionRequest,
SelectionNotify, ClientMessage, and MappingNotify).

proc

Specifies
the procedure that is to be added or removed.

w

Specifies the widget for which
this event handler is being registered.

position

Specifies when the event
handler is to be called relative to other previously registered handlers.

The XtAddEventHandler function registers a procedure with
the dispatch mechanism that is to be called when an event that matches
the mask occurs on the specified widget. If the procedure is already registered
with the same client_data, the specified mask is ORed into the existing
mask. If the widget is realized, XtAddEventHandler calls XSelectInput,
if necessary.

The XtAddRawEventHandler function is similar to XtAddEventHandler
except that it does not affect the widget's mask and never causes an XSelectInput
for its events. Note that the widget might already have those mask bits
set because of other nonraw event handlers registered on it.

The XtRemoveRawEventHandler
function stops the specified procedure from receiving the specified events.
Because the procedure is a raw event handler, this does not affect the
widget's mask and never causes a call on XSelectInput.

XtInsertEventHandler
is identical to XtAddEventHandler with the additional position argument.
if position is XtListHead, the event handler is registered to that it
will be called before any event handlers that were previously registered
for the same widget. If position is XtListTail, the event handler is registered
to be called after any previously registered event handlers. If the procedure
is already registered with the same client_data value, the specified mask
augments the existing mask and the procedure is repositioned in the list.

XtInsertRawEventHandler is similar to XtInsertEventHandler except that
it does not modify the widget's event mask and never causes an XSelectInput
for the specified events. If the procedure is already registered with
the same client_data value, the specified mask augments the existing mask
and the procedure is repositioned in the list.