plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

sample.c (1431B)


      1 #include <X11/Intrinsic.h>
      2 
      3 /*
      4  * Disclaimer: No I don't actually code like this but this is a simple,
      5  * "Quick-n-Dirty", plain, vanilla, "No ups, No extras" piece of code.
      6  */
      7 
      8 main(argc, argv)
      9 int argc;
     10 char **argv;
     11 {
     12     Display *dpy;
     13     int screen;
     14     Window window;
     15     XEvent event;
     16     extern Boolean use_separate_lines;
     17 
     18     if (!(dpy = XOpenDisplay(""))) {
     19 	printf("Failed to open display...\n");
     20 	exit(1);
     21     }
     22     screen = DefaultScreen(dpy);
     23 
     24     window = XCreateSimpleWindow(dpy, RootWindow(dpy, screen), 100, 100,
     25       300, 200, 2, BlackPixel(dpy, screen), WhitePixel(dpy, screen));
     26 
     27     XSelectInput(dpy, window, KeyPressMask | KeyReleaseMask | ButtonPressMask |
     28       ButtonReleaseMask | EnterWindowMask | LeaveWindowMask |
     29       PointerMotionMask | PointerMotionHintMask | Button1MotionMask |
     30       Button2MotionMask | Button3MotionMask | Button4MotionMask |
     31       Button5MotionMask | ButtonMotionMask | KeymapStateMask |
     32       ExposureMask | VisibilityChangeMask | StructureNotifyMask |
     33       SubstructureNotifyMask | SubstructureRedirectMask | FocusChangeMask |
     34       PropertyChangeMask | ColormapChangeMask | OwnerGrabButtonMask);
     35 
     36     XMapWindow(dpy, window);
     37 
     38     /* set this to false to make ShowEvent take up less vertival space */
     39     use_separate_lines = True;
     40 
     41     while (1) {
     42 	XNextEvent(dpy, &event);
     43 	printf("Detail of %s event:\n", GetType(&event));
     44 	ShowEvent(&event);
     45 	printf("\n\n");
     46     }
     47 }