Thank you, Owen and the others who contributed, for sorting this out and writing it up in a way we can follow.
I'm pleased to see this even addresses the issue of synchronizing drawing after map, which could have been handled by the basic frame counter in _NET_WM_SYNC_REQUEST_COUNTER but wasn't. [1] I have a question re fullscreen windows: With extended synchronization, the application does not need to double-buffer its drawing, and so can use a window with a single-buffered visual. Some window managers disable compositing for fullscreen windows. Should an application assume that a window manager advertising _NET_WM_FRAME_DRAWN will always composite the window? Perhaps it should use _NET_WM_DONT_BYPASS_COMPOSITOR? Or should the application try to detect when compositing of a single toplevel window is disabled? An application can easily detect when a Screen is no longer composited, but fullscreen usually means full-monitor rather than full-Screeen and I don't know of a good way to detect whether a single window's contents have been redirected to offscreen storage. Even if an application could detect when its window is no longer being composited, I expect is not appropriate (even if it may work) to start using a double-buffered fbconfig for a window with a single-buffered visual, and I assume it is not possible to change a window's visual. Is there a way to draw to a single-buffered window during vblank? [1] https://bugzilla.mozilla.org/show_bug.cgi?id=793501#c6 _______________________________________________ wm-spec-list mailing list wm-spec-list@gnome.org https://mail.gnome.org/mailman/listinfo/wm-spec-list