tpfw.c - wmutils - X windows manipulation utilities
 (HTM) git clone git://z3bra.org/wmutils
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tpfw.c (761B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 
            3 #include <err.h>
            4 #include <stdio.h>
            5 #include <stdlib.h>
            6 #include <xcb/xcb.h>
            7 #include <xcb/xcb_aux.h>
            8 
            9 #include "util.h"
           10 
           11 static xcb_connection_t *conn;
           12 
           13 static xcb_window_t focus_window(void);
           14 
           15 static xcb_window_t
           16 focus_window(void)
           17 {
           18         xcb_window_t w = 0;
           19         xcb_get_input_focus_cookie_t c;
           20         xcb_get_input_focus_reply_t *r;
           21 
           22         c = xcb_get_input_focus(conn);
           23         r = xcb_get_input_focus_reply(conn, c, NULL);
           24         if (r == NULL)
           25                 errx(1, "xcb_get_input_focus");
           26 
           27         w = r->focus;
           28         free(r);
           29 
           30         if (w == XCB_NONE || w == XCB_INPUT_FOCUS_POINTER_ROOT)
           31                 errx(1, "focus not set");
           32 
           33         return w;
           34 }
           35 
           36 int
           37 main(int argc, char **argv)
           38 {
           39         init_xcb(&conn);
           40 
           41         printf("0x%08x\n", focus_window());
           42 
           43         kill_xcb(&conn);
           44         return 0;
           45 }