sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 989bddc76503f8b11cd6712d158516f0cb0836ca
parent a4d6835881a1ce276ae68f33e5dc94776ee28424
Author: Christian <me@rndm.de>
Date:   Sun, 21 Oct 2018 15:51:35 +0200

Parse missing i3 window types

fixes the parsing part of #2906

Diffstat:
Minclude/sway/xwayland.h | 5+++++
Msway/criteria.c | 10++++++++++
Msway/desktop/xwayland.c | 5+++++
3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/include/sway/xwayland.h b/include/sway/xwayland.h @@ -10,6 +10,11 @@ enum atom_name { NET_WM_WINDOW_TYPE_UTILITY, NET_WM_WINDOW_TYPE_TOOLBAR, NET_WM_WINDOW_TYPE_SPLASH, + NET_WM_WINDOW_TYPE_MENU, + NET_WM_WINDOW_TYPE_DROPDOWN_MENU, + NET_WM_WINDOW_TYPE_POPUP_MENU, + NET_WM_WINDOW_TYPE_TOOLTIP, + NET_WM_WINDOW_TYPE_NOTIFICATION, NET_WM_STATE_MODAL, ATOM_LAST, }; diff --git a/sway/criteria.c b/sway/criteria.c @@ -286,6 +286,16 @@ static enum atom_name parse_window_type(const char *type) { return NET_WM_WINDOW_TYPE_TOOLBAR; } else if (strcasecmp(type, "splash") == 0) { return NET_WM_WINDOW_TYPE_SPLASH; + } else if (strcasecmp(type, "menu") == 0) { + return NET_WM_WINDOW_TYPE_MENU; + } else if (strcasecmp(type, "dropdown_menu") == 0) { + return NET_WM_WINDOW_TYPE_DROPDOWN_MENU; + } else if (strcasecmp(type, "popup_menu") == 0) { + return NET_WM_WINDOW_TYPE_POPUP_MENU; + } else if (strcasecmp(type, "tooltip") == 0) { + return NET_WM_WINDOW_TYPE_TOOLTIP; + } else if (strcasecmp(type, "notification") == 0) { + return NET_WM_WINDOW_TYPE_NOTIFICATION; } return ATOM_LAST; // ie. invalid } diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c @@ -23,6 +23,11 @@ static const char *atom_map[ATOM_LAST] = { "_NET_WM_WINDOW_TYPE_UTILITY", "_NET_WM_WINDOW_TYPE_TOOLBAR", "_NET_WM_WINDOW_TYPE_SPLASH", + "_NET_WM_WINDOW_TYPE_MENU", + "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", + "_NET_WM_WINDOW_TYPE_POPUP_MENU", + "_NET_WM_WINDOW_TYPE_TOOLTIP", + "_NET_WM_WINDOW_TYPE_NOTIFICATION", "_NET_WM_STATE_MODAL", };