diff --git a/client.c b/client.c index 45697fe88..612627bb4 100644 --- a/client.c +++ b/client.c @@ -1741,7 +1741,25 @@ luaA_client_index(lua_State *L) case WINDOW_TYPE_UTILITY: lua_pushliteral(L, "utility"); break; - default: + case WINDOW_TYPE_DROPDOWN_MENU: + lua_pushliteral(L, "dropdown_menu"); + break; + case WINDOW_TYPE_POPUP_MENU: + lua_pushliteral(L, "popup_menu"); + break; + case WINDOW_TYPE_TOOLTIP: + lua_pushliteral(L, "tooltip"); + break; + case WINDOW_TYPE_NOTIFICATION: + lua_pushliteral(L, "notification"); + break; + case WINDOW_TYPE_COMBO: + lua_pushliteral(L, "combo"); + break; + case WINDOW_TYPE_DND: + lua_pushliteral(L, "dnd"); + break; + case WINDOW_TYPE_NORMAL: lua_pushliteral(L, "normal"); break; } diff --git a/common/atoms.list b/common/atoms.list index f2ac564c3..12c13e833 100644 --- a/common/atoms.list +++ b/common/atoms.list @@ -23,6 +23,12 @@ _NET_WM_WINDOW_TYPE_MENU _NET_WM_WINDOW_TYPE_UTILITY _NET_WM_WINDOW_TYPE_SPLASH _NET_WM_WINDOW_TYPE_DIALOG +_NET_WM_WINDOW_TYPE_DROPDOWN_MENU +_NET_WM_WINDOW_TYPE_POPUP_MENU +_NET_WM_WINDOW_TYPE_TOOLTIP +_NET_WM_WINDOW_TYPE_NOTIFICATION +_NET_WM_WINDOW_TYPE_COMBO +_NET_WM_WINDOW_TYPE_DND _NET_WM_WINDOW_TYPE_NORMAL _NET_WM_ICON _NET_WM_PID diff --git a/ewmh.c b/ewmh.c index b7c005903..b4a8cc0cc 100644 --- a/ewmh.c +++ b/ewmh.c @@ -89,6 +89,12 @@ ewmh_init(int phys_screen) _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_SPLASH, _NET_WM_WINDOW_TYPE_DIALOG, + _NET_WM_WINDOW_TYPE_DROPDOWN_MENU, + _NET_WM_WINDOW_TYPE_POPUP_MENU, + _NET_WM_WINDOW_TYPE_TOOLTIP, + _NET_WM_WINDOW_TYPE_NOTIFICATION, + _NET_WM_WINDOW_TYPE_COMBO, + _NET_WM_WINDOW_TYPE_DND, _NET_WM_WINDOW_TYPE_NORMAL, _NET_WM_ICON, _NET_WM_PID, diff --git a/structs.h b/structs.h index a0cfc4465..04cd495f8 100644 --- a/structs.h +++ b/structs.h @@ -47,7 +47,14 @@ typedef enum */ WINDOW_TYPE_MENU, WINDOW_TYPE_TOOLBAR, - WINDOW_TYPE_UTILITY + WINDOW_TYPE_UTILITY, + /* This ones are usually set on override-redirect windows. */ + WINDOW_TYPE_DROPDOWN_MENU, + WINDOW_TYPE_POPUP_MENU, + WINDOW_TYPE_TOOLTIP, + WINDOW_TYPE_NOTIFICATION, + WINDOW_TYPE_COMBO, + WINDOW_TYPE_DND } window_type_t; /** Wibox types */