Partially handle _NET_WM_BYPASS_COMPOSITOR

Unredirect the screen when some window sets _NET_WM_BYPASS_COMPOSITOR
to 1, but ignore the case where some window requests the screen to be
redirected by setting _NET_WM_BYPASS_COMPOSITOR to 2.

Closes #267

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui
2020-01-18 18:00:35 +00:00
parent c9417bf367
commit b026708026
5 changed files with 47 additions and 1 deletions

View File

@ -461,6 +461,11 @@ static inline void ev_property_notify(session_t *ps, xcb_property_notify_event_t
win_update_wintype(ps, w);
}
if (ev->atom == ps->atoms->a_NET_WM_BYPASS_COMPOSITOR) {
// Unnecessay until we remove the queue_redraw in ev_handle
queue_redraw(ps);
}
// If _NET_WM_OPACITY changes
if (ev->atom == ps->atoms->a_NET_WM_WINDOW_OPACITY) {
auto w = find_managed_win(ps, ev->window) ?: find_toplevel(ps, ev->window);