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 }