Add support for new _NET_WM_WINDOW_TYPE
Patch status: needinfo
Patch by none
Long description:
Extended Window Manager Hints specification 1.5 add new hints. This patch makes i3 aware of them, by making windows with certain types effectively floating.
To apply this patch, use:
curl http://cr.i3wm.org/patch/360/raw.patch | git am
b/include/atoms.xmacro
16 |
@@ -10,6 +10,12 @@ xmacro(_NET_WM_WINDOW_TYPE_DIALOG) |
17 |
xmacro(_NET_WM_WINDOW_TYPE_UTILITY) |
18 |
xmacro(_NET_WM_WINDOW_TYPE_TOOLBAR) |
19 |
xmacro(_NET_WM_WINDOW_TYPE_SPLASH) |
20 |
+xmacro(_NET_WM_WINDOW_TYPE_COMBO) |
21 |
+xmacro(_NET_WM_WINDOW_TYPE_DROPDOWN_MENU) |
22 |
+xmacro(_NET_WM_WINDOW_TYPE_POPUP_MENU) |
23 |
+xmacro(_NET_WM_WINDOW_TYPE_TOOLTIP) |
24 |
+xmacro(_NET_WM_WINDOW_TYPE_NOTIFICATION) |
25 |
+xmacro(_NET_WM_WINDOW_TYPE_DND) |
26 |
xmacro(_NET_WM_DESKTOP) |
27 |
xmacro(_NET_WM_STRUT_PARTIAL) |
28 |
xmacro(_NET_CLIENT_LIST_STACKING) |
b/src/manage.c
33 |
@@ -391,6 +391,12 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki |
34 |
if (xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_DIALOG) || |
35 |
xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_UTILITY) || |
36 |
xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_TOOLBAR) || |
37 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_DROPDOWN_MENU) || |
38 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_POPUP_MENU) || |
39 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_TOOLTIP) || |
40 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_NOTIFICATION) || |
41 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_COMBO) || |
42 |
+ xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_DND) || |
43 |
xcb_reply_contains_atom(reply, A__NET_WM_WINDOW_TYPE_SPLASH)) { |
44 |
LOG("This window is a dialog window, setting floating\n"); |
45 |
want_floating = true; |