/* MAJE_LDLIB=-lX11 */ #define _POSIX_C_SOURCE 200809L #include #include #include #include #include int main(int argc, char *argv[]) { int c = 0; while ((c = getopt(argc, argv, "")) != -1) { switch (c) { default: return 1; } } Display *dpy = XOpenDisplay(""); if (dpy == NULL) { fprintf(stderr, "xbar: can't open display\n"); return 1; } int screen = DefaultScreen(dpy); int width = DisplayWidth(dpy, screen); int height = 20; Window win = XCreateSimpleWindow(dpy, XDefaultRootWindow(dpy), 0, 0, width, height, 0, BlackPixel(dpy, screen), BlackPixel(dpy, screen)); XSelectInput(dpy, win, ExposureMask | KeyPressMask); XMapWindow(dpy, win); for (;;) { XEvent e; XNextEvent(dpy, &e); switch (e.type) { case Expose: XDrawString(dpy, win, DefaultGC(dpy, screen), 0, 0, "hello", strlen("hello")); break; case KeyPress: printf("keypress\n"); break; default: break; } } return 0; }