internal static extern bool IfEvent(Display display, ref XEvent event_return, /*[MarshalAs(UnmanagedType.FunctionPtr)] */ CheckEventPredicate predicate, /*XPointer*/ IntPtr arg);
internal static extern bool CheckMaskEvent(Display display, EventMask event_mask, ref XEvent event_return);
extern internal static bool SendEvent(Display display, Window window, bool propagate, [MarshalAs(UnmanagedType.SysInt)]EventMask event_mask, ref XEvent event_send);
internal static extern int XSendEvent(IntPtr display, IntPtr window, bool propagate, IntPtr event_mask, ref XEvent send_event);
internal static extern void XPeekEvent(IntPtr display, ref XEvent xevent);
internal static extern IntPtr XNextEvent(IntPtr display, ref XEvent xevent);
internal static extern bool XFilterEvent(ref XEvent xevent, IntPtr window);