+int error_handler(Display *display, XErrorEvent *event) {
+ char buffer[512];
+ int length;
+
+ switch (event->error_code) {
+ case BadWindow:
+ /* The window may have gone away since we queried the window manager. */
+ break;
+
+ default:
+ if (XGetErrorText(display, event->error_code, buffer, sizeof(buffer))) {
+ fprintf(stderr, "%s\n", buffer);
+ exit(100);
+ }
+ break;
+ }
+
+ return 0;
+}
+