core: Update frame opaque region from _NET_WM_OPAQUE_REGION property
Both read this property on frame creation, and listen to property changed events about it in the frame window. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2758>
This commit is contained in:
parent
82b2b76882
commit
4752a8055c
@ -143,6 +143,9 @@ meta_window_set_frame_xwindow (MetaWindow *window,
|
|||||||
meta_window_reload_property_from_xwindow (window, frame->xwindow,
|
meta_window_reload_property_from_xwindow (window, frame->xwindow,
|
||||||
x11_display->atom__NET_WM_SYNC_REQUEST_COUNTER,
|
x11_display->atom__NET_WM_SYNC_REQUEST_COUNTER,
|
||||||
TRUE);
|
TRUE);
|
||||||
|
meta_window_reload_property_from_xwindow (window, frame->xwindow,
|
||||||
|
x11_display->atom__NET_WM_OPAQUE_REGION,
|
||||||
|
TRUE);
|
||||||
|
|
||||||
meta_x11_error_trap_push (x11_display);
|
meta_x11_error_trap_push (x11_display);
|
||||||
XMapWindow (x11_display->xdisplay, frame->xwindow);
|
XMapWindow (x11_display->xdisplay, frame->xwindow);
|
||||||
@ -515,7 +518,8 @@ meta_frame_handle_xevent (MetaFrame *frame,
|
|||||||
}
|
}
|
||||||
else if (xevent->xany.type == PropertyNotify &&
|
else if (xevent->xany.type == PropertyNotify &&
|
||||||
xevent->xproperty.state == PropertyNewValue &&
|
xevent->xproperty.state == PropertyNewValue &&
|
||||||
xevent->xproperty.atom == x11_display->atom__NET_WM_SYNC_REQUEST_COUNTER)
|
(xevent->xproperty.atom == x11_display->atom__NET_WM_SYNC_REQUEST_COUNTER ||
|
||||||
|
xevent->xproperty.atom == x11_display->atom__NET_WM_OPAQUE_REGION))
|
||||||
{
|
{
|
||||||
meta_window_reload_property_from_xwindow (window, frame->xwindow,
|
meta_window_reload_property_from_xwindow (window, frame->xwindow,
|
||||||
xevent->xproperty.atom, FALSE);
|
xevent->xproperty.atom, FALSE);
|
||||||
|
Loading…
Reference in New Issue
Block a user