From 989bddc76503f8b11cd6712d158516f0cb0836ca Mon Sep 17 00:00:00 2001
From: Christian <me@rndm.de>
Date: Sun, 21 Oct 2018 15:51:35 +0200
Subject: Parse missing i3 window types

fixes the parsing part of #2906
---
 sway/criteria.c         | 10 ++++++++++
 sway/desktop/xwayland.c |  5 +++++
 2 files changed, 15 insertions(+)

(limited to 'sway')

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",
 };
 
-- 
cgit v1.2.3