|  | #include <X11/Intrinsic.h> | 
|  |  | 
|  | /* | 
|  | * Disclaimer: No I don't actually code like this but this is a simple, | 
|  | * "Quick-n-Dirty", plain, vanilla, "No ups, No extras" piece of code. | 
|  | */ | 
|  |  | 
|  | main(argc, argv) | 
|  | int argc; | 
|  | char **argv; | 
|  | { | 
|  | Display *dpy; | 
|  | int screen; | 
|  | Window window; | 
|  | XEvent event; | 
|  | extern Boolean use_separate_lines; | 
|  |  | 
|  | if (!(dpy = XOpenDisplay(""))) { | 
|  | printf("Failed to open display...\n"); | 
|  | exit(1); | 
|  | } | 
|  | screen = DefaultScreen(dpy); | 
|  |  | 
|  | window = XCreateSimpleWindow(dpy, RootWindow(dpy, screen), 100, 100, | 
|  | 300, 200, 2, BlackPixel(dpy, screen), WhitePixel(dpy, screen)); | 
|  |  | 
|  | XSelectInput(dpy, window, KeyPressMask | KeyReleaseMask | ButtonPressMask | | 
|  | ButtonReleaseMask | EnterWindowMask | LeaveWindowMask | | 
|  | PointerMotionMask | PointerMotionHintMask | Button1MotionMask | | 
|  | Button2MotionMask | Button3MotionMask | Button4MotionMask | | 
|  | Button5MotionMask | ButtonMotionMask | KeymapStateMask | | 
|  | ExposureMask | VisibilityChangeMask | StructureNotifyMask | | 
|  | SubstructureNotifyMask | SubstructureRedirectMask | FocusChangeMask | | 
|  | PropertyChangeMask | ColormapChangeMask | OwnerGrabButtonMask); | 
|  |  | 
|  | XMapWindow(dpy, window); | 
|  |  | 
|  | /* set this to false to make ShowEvent take up less vertival space */ | 
|  | use_separate_lines = True; | 
|  |  | 
|  | while (1) { | 
|  | XNextEvent(dpy, &event); | 
|  | printf("Detail of %s event:\n", GetType(&event)); | 
|  | ShowEvent(&event); | 
|  | printf("\n\n"); | 
|  | } | 
|  | } | 
|  |  |