aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorChristian <me@rndm.de>2018-10-21 15:51:35 +0200
committerChristian <me@rndm.de>2018-10-21 15:59:04 +0200
commit989bddc76503f8b11cd6712d158516f0cb0836ca (patch)
tree483377d62cc8dddc4ca06861dfa9a816c0b242b3 /sway
parenta4d6835881a1ce276ae68f33e5dc94776ee28424 (diff)
Parse missing i3 window types
fixes the parsing part of #2906
Diffstat (limited to 'sway')
-rw-r--r--sway/criteria.c10
-rw-r--r--sway/desktop/xwayland.c5
2 files changed, 15 insertions, 0 deletions
diff --git a/sway/criteria.c b/sway/criteria.c
index e00d638c..89630d90 100644
--- 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
index 58cb4d07..b8ac8434 100644
--- 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",
};