diff options
author | Christian <me@rndm.de> | 2018-10-21 15:51:35 +0200 |
---|---|---|
committer | Christian <me@rndm.de> | 2018-10-21 15:59:04 +0200 |
commit | 989bddc76503f8b11cd6712d158516f0cb0836ca (patch) | |
tree | 483377d62cc8dddc4ca06861dfa9a816c0b242b3 | |
parent | Merge pull request #2903 from RyanDwyer/seat-specific-backandforth (diff) | |
download | sway-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.h | 5 | ||||
-rw-r--r-- | sway/criteria.c | 10 | ||||
-rw-r--r-- | sway/desktop/xwayland.c | 5 |
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 | ||