#include #include #include #include #include #include int main(int argc, char **argv) { Display *display; Window target; char buf[4096]; if (argc == 1 && snprintf(buf, sizeof(buf), "\"%s\" `xselect`", argv[0]) < sizeof(buf)) execlp("sh", "sh", "-c", buf, NULL); if (argc != 2) { char *name; name = strrchr(argv[0], '/'); name = name ? name+1 : argv[0]; fprintf(stderr, "usage: %s window-id\n", name); exit(1); } target = strtol(argv[1], NULL, 10); if ((display = XOpenDisplay(NULL)) == NULL) { fprintf(stderr, "cannot open display\n"); exit(1); } XUnmapWindow(display, target); printf("%ld\n", target); XCloseDisplay(display); exit(0); }