aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Christian <me@rndm.de>2018-10-21 15:51:35 +0200
committerLibravatar Christian <me@rndm.de>2018-10-21 15:59:04 +0200
commit989bddc76503f8b11cd6712d158516f0cb0836ca (patch)
tree483377d62cc8dddc4ca06861dfa9a816c0b242b3
parentMerge pull request #2903 from RyanDwyer/seat-specific-backandforth (diff)
downloadsway-989bddc76503f8b11cd6712d158516f0cb0836ca.tar.gz
sway-989bddc76503f8b11cd6712d158516f0cb0836ca.tar.zst
sway-989bddc76503f8b11cd6712d158516f0cb0836ca.zip
Parse missing i3 window types
fixes the parsing part of #2906
-rw-r--r--include/sway/xwayland.h5
-rw-r--r--sway/criteria.c10
-rw-r--r--sway/desktop/xwayland.c5
3 files changed, 20 insertions, 0 deletions
diff --git a/include/sway/xwayland.h b/include/sway/xwayland.h
index 121edad3..93055c46 100644
--- a/include/sway/xwayland.h
+++ b/include/sway/xwayland.h
@@ -10,6 +10,11 @@ enum atom_name {
10 NET_WM_WINDOW_TYPE_UTILITY, 10 NET_WM_WINDOW_TYPE_UTILITY,
11 NET_WM_WINDOW_TYPE_TOOLBAR, 11 NET_WM_WINDOW_TYPE_TOOLBAR,
12 NET_WM_WINDOW_TYPE_SPLASH, 12 NET_WM_WINDOW_TYPE_SPLASH,
13 NET_WM_WINDOW_TYPE_MENU,
14 NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
15 NET_WM_WINDOW_TYPE_POPUP_MENU,
16 NET_WM_WINDOW_TYPE_TOOLTIP,
17 NET_WM_WINDOW_TYPE_NOTIFICATION,
13 NET_WM_STATE_MODAL, 18 NET_WM_STATE_MODAL,
14 ATOM_LAST, 19 ATOM_LAST,
15}; 20};
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) {
286 return NET_WM_WINDOW_TYPE_TOOLBAR; 286 return NET_WM_WINDOW_TYPE_TOOLBAR;
287 } else if (strcasecmp(type, "splash") == 0) { 287 } else if (strcasecmp(type, "splash") == 0) {
288 return NET_WM_WINDOW_TYPE_SPLASH; 288 return NET_WM_WINDOW_TYPE_SPLASH;
289 } else if (strcasecmp(type, "menu") == 0) {
290 return NET_WM_WINDOW_TYPE_MENU;
291 } else if (strcasecmp(type, "dropdown_menu") == 0) {
292 return NET_WM_WINDOW_TYPE_DROPDOWN_MENU;
293 } else if (strcasecmp(type, "popup_menu") == 0) {
294 return NET_WM_WINDOW_TYPE_POPUP_MENU;
295 } else if (strcasecmp(type, "tooltip") == 0) {
296 return NET_WM_WINDOW_TYPE_TOOLTIP;
297 } else if (strcasecmp(type, "notification") == 0) {
298 return NET_WM_WINDOW_TYPE_NOTIFICATION;
289 } 299 }
290 return ATOM_LAST; // ie. invalid 300 return ATOM_LAST; // ie. invalid
291} 301}
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] = {
23 "_NET_WM_WINDOW_TYPE_UTILITY", 23 "_NET_WM_WINDOW_TYPE_UTILITY",
24 "_NET_WM_WINDOW_TYPE_TOOLBAR", 24 "_NET_WM_WINDOW_TYPE_TOOLBAR",
25 "_NET_WM_WINDOW_TYPE_SPLASH", 25 "_NET_WM_WINDOW_TYPE_SPLASH",
26 "_NET_WM_WINDOW_TYPE_MENU",
27 "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU",
28 "_NET_WM_WINDOW_TYPE_POPUP_MENU",
29 "_NET_WM_WINDOW_TYPE_TOOLTIP",
30 "_NET_WM_WINDOW_TYPE_NOTIFICATION",
26 "_NET_WM_STATE_MODAL", 31 "_NET_WM_STATE_MODAL",
27}; 32};
28 33