| /* | 
 |  * Original code posted to comp.sources.x (see printevent.c). | 
 |  * Modifications by Russ Cox <rsc@swtch.com>. | 
 |  */ | 
 |  | 
 | #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <X11/Intrinsic.h> | 
 | #include "printevent.h" | 
 |  | 
 | int | 
 | main(int argc, char **argv) | 
 | { | 
 | 	int screen; | 
 | 	Display *dpy; | 
 | 	Window window; | 
 | 	XEvent event; | 
 | 	 | 
 | 	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); | 
 |  | 
 | 	for(;;){ | 
 | 		XNextEvent(dpy, &event); | 
 | 		printevent(&event); | 
 | 	} | 
 | } | 
 |  |