Hi, See here in wikipedia
http://en.wikipedia.org/wiki/Xlib I see most programs/GUI Systems use this xlib when they want use X. here is a small example that use this lib amiga os 68k also have a xlib that wrap to native windows.maybe this solution is better as SDL. int main(void) { Display *d; Window w; XEvent e; char *msg = "Hello, World!"; int s; /* open connection with the server */ d = XOpenDisplay(NULL); if (d == NULL) { fprintf(stderr, "Cannot open display\n"); exit(1); } s = DefaultScreen(d); /* create window */ w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 200, 200, 1, BlackPixel(d, s), WhitePixel(d, s)); /* select kind of events we are interested in */ XSelectInput(d, w, ExposureMask | KeyPressMask); /* map (show) the window */ XMapWindow(d, w); /* event loop */ while (1) { XNextEvent(d, &e); /* draw or redraw the window */ if (e.type == Expose) { XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10); XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg)); } /* exit on key press */ if (e.type == KeyPress) break; } /* close connection to server */ XCloseDisplay(d); return 0; } Bye
