User:Paolo Liberatore~enwiki/Xexample.c

/* Simple Xlib application that draws a box in a window and * terminate when the user presses a key. */ int main { Display *d; int s;  Window w;   XEvent e; /* open connection with the server; this will also generate * a request for creation of a default graphic context; it * may also generate a request for existence of some * extensions */ d=XOpenDisplay(NULL); if(d==NULL) { printf("Cannot open display\n"); exit(1); }  s=DefaultScreen(d); /* create a window; while the function returns the * identifier of a window, this identifier is actually * chosen by the library, which is part of the client, not * by the server */ w=XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1,                        BlackPixel(d, s), WhitePixel(d, s)); /* select kind of events we are interested in; this will * generate a request for changing the window attributes */ XSelectInput(d, w, ExposureMask | KeyPressMask); /* request the window to be mapped (shown on the screen) */ XMapWindow(d, w); /* event loop (wait for event, take the appropriate action */  while(1) { /* this instruction checks for events in the local queue,  * blocking if not event is present */     XNextEvent(d, &e); /* if the event is an expose event, redraw the box */     if(e.type==Expose)       XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10); /* this particular client terminates if a key is pressed */     if(e.type==KeyPress)       break;   } /* close connection to server */   XCloseDisplay(d);   return 0; }
 * 1) include