diff options
author | emersion <contact@emersion.fr> | 2018-04-26 23:12:21 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-04-26 23:18:59 +0100 |
commit | 7f70d244a9802207c258bd5da6d4ada5eb15484a (patch) | |
tree | 529751cce9ef3195ef351013a792b8d3376dbddb | |
parent | daa293da9308ef012c2b899a8e35c30a9f4dc233 (diff) |
xwayland: fix some Chromium comboboxes
Some comboboxes (e.g. in chrome://flags) are advertized as…
Notifications of course! Yeah, notifications, the thing that
tells you you have mail, your battery is low, or the dog has
eaten your carpet. This isn't the first time we notice Chromium's
X11 backend is pretty shit.
Anyway, added notifications and splash screens to the list of
unmanaged windows. Also removed utility windows because those
should be managed, but maybe I'm wrong and I'll revert this.
-rw-r--r-- | include/xwayland/xwm.h | 2 | ||||
-rw-r--r-- | xwayland/xwm.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/xwayland/xwm.h b/include/xwayland/xwm.h index 82bf726c..08d37736 100644 --- a/include/xwayland/xwm.h +++ b/include/xwayland/xwm.h @@ -62,6 +62,8 @@ enum atom_name { NET_WM_WINDOW_TYPE_POPUP_MENU, NET_WM_WINDOW_TYPE_COMBO, NET_WM_WINDOW_TYPE_MENU, + NET_WM_WINDOW_TYPE_NOTIFICATION, + NET_WM_WINDOW_TYPE_SPLASH, DND_SELECTION, DND_AWARE, DND_STATUS, diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 2e01da6f..6fac6ca4 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -61,6 +61,8 @@ const char *atom_map[ATOM_LAST] = { "_NET_WM_WINDOW_TYPE_POPUP_MENU", "_NET_WM_WINDOW_TYPE_COMBO", "_NET_WM_WINDOW_TYPE_MENU", + "_NET_WM_WINDOW_TYPE_NOTIFICATION", + "_NET_WM_WINDOW_TYPE_SPLASH", "XdndSelection", "XdndAware", "XdndStatus", @@ -1649,9 +1651,10 @@ bool wlr_xwayland_surface_is_unmanaged( NET_WM_WINDOW_TYPE_DND, NET_WM_WINDOW_TYPE_DROPDOWN_MENU, NET_WM_WINDOW_TYPE_MENU, + NET_WM_WINDOW_TYPE_NOTIFICATION, NET_WM_WINDOW_TYPE_POPUP_MENU, + NET_WM_WINDOW_TYPE_SPLASH, NET_WM_WINDOW_TYPE_TOOLTIP, - NET_WM_WINDOW_TYPE_UTILITY, }; for (size_t i = 0; i < sizeof(needles) / sizeof(needles[0]); ++i) { |