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