aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-04-26 23:12:21 +0100
committeremersion <contact@emersion.fr>2018-04-26 23:18:59 +0100
commit7f70d244a9802207c258bd5da6d4ada5eb15484a (patch)
tree529751cce9ef3195ef351013a792b8d3376dbddb
parentdaa293da9308ef012c2b899a8e35c30a9f4dc233 (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.h2
-rw-r--r--xwayland/xwm.c5
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) {