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.
This commit is contained in:
emersion 2018-04-26 23:12:21 +01:00
parent daa293da93
commit 7f70d244a9
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
2 changed files with 6 additions and 1 deletions

View File

@ -62,6 +62,8 @@ enum atom_name {
NET_WM_WINDOW_TYPE_POPUP_MENU, NET_WM_WINDOW_TYPE_POPUP_MENU,
NET_WM_WINDOW_TYPE_COMBO, NET_WM_WINDOW_TYPE_COMBO,
NET_WM_WINDOW_TYPE_MENU, NET_WM_WINDOW_TYPE_MENU,
NET_WM_WINDOW_TYPE_NOTIFICATION,
NET_WM_WINDOW_TYPE_SPLASH,
DND_SELECTION, DND_SELECTION,
DND_AWARE, DND_AWARE,
DND_STATUS, DND_STATUS,

View File

@ -61,6 +61,8 @@ const char *atom_map[ATOM_LAST] = {
"_NET_WM_WINDOW_TYPE_POPUP_MENU", "_NET_WM_WINDOW_TYPE_POPUP_MENU",
"_NET_WM_WINDOW_TYPE_COMBO", "_NET_WM_WINDOW_TYPE_COMBO",
"_NET_WM_WINDOW_TYPE_MENU", "_NET_WM_WINDOW_TYPE_MENU",
"_NET_WM_WINDOW_TYPE_NOTIFICATION",
"_NET_WM_WINDOW_TYPE_SPLASH",
"XdndSelection", "XdndSelection",
"XdndAware", "XdndAware",
"XdndStatus", "XdndStatus",
@ -1649,9 +1651,10 @@ bool wlr_xwayland_surface_is_unmanaged(
NET_WM_WINDOW_TYPE_DND, NET_WM_WINDOW_TYPE_DND,
NET_WM_WINDOW_TYPE_DROPDOWN_MENU, NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
NET_WM_WINDOW_TYPE_MENU, NET_WM_WINDOW_TYPE_MENU,
NET_WM_WINDOW_TYPE_NOTIFICATION,
NET_WM_WINDOW_TYPE_POPUP_MENU, NET_WM_WINDOW_TYPE_POPUP_MENU,
NET_WM_WINDOW_TYPE_SPLASH,
NET_WM_WINDOW_TYPE_TOOLTIP, NET_WM_WINDOW_TYPE_TOOLTIP,
NET_WM_WINDOW_TYPE_UTILITY,
}; };
for (size_t i = 0; i < sizeof(needles) / sizeof(needles[0]); ++i) { for (size_t i = 0; i < sizeof(needles) / sizeof(needles[0]); ++i) {