]> git.sur5r.net Git - i3/i3/blob - include/window.h
Bugfix: correctly recognize assigned windows as urgent (Thanks jookia)
[i3/i3] / include / window.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * window.c: Updates window attributes (X11 hints/properties).
8  *
9  */
10 #ifndef I3_WINDOW_H
11 #define I3_WINDOW_H
12
13 /**
14  * Updates the WM_CLASS (consisting of the class and instance) for the
15  * given window.
16  *
17  */
18 void window_update_class(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
19
20 /**
21  * Updates the name by using _NET_WM_NAME (encoded in UTF-8) for the given
22  * window. Further updates using window_update_name_legacy will be ignored.
23  *
24  */
25 void window_update_name(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
26
27 /**
28  * Updates the name by using WM_NAME (encoded in COMPOUND_TEXT). We do not
29  * touch what the client sends us but pass it to xcb_image_text_8. To get
30  * proper unicode rendering, the application has to use _NET_WM_NAME (see
31  * window_update_name()).
32  *
33  */
34 void window_update_name_legacy(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
35
36 /**
37  * Updates the CLIENT_LEADER (logical parent window).
38  *
39  */
40 void window_update_leader(i3Window *win, xcb_get_property_reply_t *prop);
41
42 /**
43  * Updates the TRANSIENT_FOR (logical parent window).
44  *
45  */
46 void window_update_transient_for(i3Window *win, xcb_get_property_reply_t *prop);
47
48 /**
49  * Updates the _NET_WM_STRUT_PARTIAL (reserved pixels at the screen edges)
50  *
51  */
52 void window_update_strut_partial(i3Window *win, xcb_get_property_reply_t *prop);
53
54 /**
55  * Updates the WM_WINDOW_ROLE
56  *
57  */
58 void window_update_role(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
59
60 /**
61  * Updates the WM_HINTS (we only care about the input focus handling part).
62  *
63  */
64 void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop, bool *urgency_hint);
65
66 #endif