twtp.c - wmutils - X windows manipulation utilities
 (HTM) git clone git://z3bra.org/wmutils
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       twtp.c (1114B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 
            3 #include <xcb/xcb.h>
            4 #include <xcb/xcb_aux.h>
            5 #include <stdlib.h>
            6 #include <stdio.h>
            7 #include <err.h>
            8 
            9 #include "util.h"
           10 
           11 static xcb_connection_t *conn;
           12 
           13 static void usage(char *name);
           14 static void teleport(xcb_window_t, int, int, int, int);
           15 
           16 static void
           17 usage(char *name)
           18 {
           19         fprintf(stderr, "usage: %s <x> <y> <w> <h> <wid>\n", name);
           20         exit(1);
           21 }
           22 
           23 static void
           24 teleport(xcb_window_t win, int x, int y, int w, int h)
           25 {
           26         uint32_t values[4];
           27         uint32_t mask =   XCB_CONFIG_WINDOW_X
           28                         | XCB_CONFIG_WINDOW_Y
           29                         | XCB_CONFIG_WINDOW_WIDTH
           30                         | XCB_CONFIG_WINDOW_HEIGHT;
           31 
           32         values[0] = x;
           33         values[1] = y;
           34         values[2] = w;
           35         values[3] = h;
           36 
           37         xcb_configure_window(conn, win, mask, values);
           38 }
           39 
           40 int
           41 main(int argc, char **argv)
           42 {
           43         xcb_window_t win;
           44 
           45         if (argc != 6)
           46                 usage(argv[0]);
           47 
           48         init_xcb(&conn);
           49 
           50         win = strtoul(argv[5], NULL, 16);
           51         if (!win)
           52                 errx(1, "cannot get window");
           53 
           54         teleport(win, atoi(argv[1]), atoi(argv[2]),
           55                         atoi(argv[3]), atoi(argv[4]));
           56         xcb_aux_sync(conn);
           57 
           58         kill_xcb(&conn);
           59 
           60         return 0;
           61 }