Replace more usage of XComposite with xcb
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
79089b0652
commit
8064eaaa37
|
@ -4690,7 +4690,16 @@ init_dbe(session_t *ps) {
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
init_overlay(session_t *ps) {
|
init_overlay(session_t *ps) {
|
||||||
ps->overlay = XCompositeGetOverlayWindow(ps->dpy, ps->root);
|
xcb_connection_t *c = XGetXCBConnection(ps->dpy);
|
||||||
|
xcb_composite_get_overlay_window_reply_t *reply =
|
||||||
|
xcb_composite_get_overlay_window_reply(c,
|
||||||
|
xcb_composite_get_overlay_window(c, ps->root), NULL);
|
||||||
|
if (reply) {
|
||||||
|
ps->overlay = reply->overlay_win;
|
||||||
|
free(reply);
|
||||||
|
} else {
|
||||||
|
ps->overlay = XCB_NONE;
|
||||||
|
}
|
||||||
if (ps->overlay) {
|
if (ps->overlay) {
|
||||||
// Set window region of the overlay window, code stolen from
|
// Set window region of the overlay window, code stolen from
|
||||||
// compiz-0.8.8
|
// compiz-0.8.8
|
||||||
|
@ -4779,12 +4788,14 @@ redir_start(session_t *ps) {
|
||||||
printf_dbgf("(): Screen redirected.\n");
|
printf_dbgf("(): Screen redirected.\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
xcb_connection_t *c = XGetXCBConnection(ps->dpy);
|
||||||
|
|
||||||
// Map overlay window. Done firstly according to this:
|
// Map overlay window. Done firstly according to this:
|
||||||
// https://bugzilla.gnome.org/show_bug.cgi?id=597014
|
// https://bugzilla.gnome.org/show_bug.cgi?id=597014
|
||||||
if (ps->overlay)
|
if (ps->overlay)
|
||||||
XMapWindow(ps->dpy, ps->overlay);
|
XMapWindow(ps->dpy, ps->overlay);
|
||||||
|
|
||||||
XCompositeRedirectSubwindows(ps->dpy, ps->root, CompositeRedirectManual);
|
xcb_composite_redirect_subwindows(c, ps->root, CompositeRedirectManual);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Unredirect GL context window as this may have an effect on VSync:
|
// Unredirect GL context window as this may have an effect on VSync:
|
||||||
|
@ -5650,6 +5661,7 @@ session_init(session_t *ps_old, int argc, char **argv) {
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
session_destroy(session_t *ps) {
|
session_destroy(session_t *ps) {
|
||||||
|
xcb_connection_t *c = XGetXCBConnection(ps->dpy);
|
||||||
redir_stop(ps);
|
redir_stop(ps);
|
||||||
|
|
||||||
// Stop listening to events on root window
|
// Stop listening to events on root window
|
||||||
|
@ -5793,7 +5805,7 @@ session_destroy(session_t *ps) {
|
||||||
|
|
||||||
// Release overlay window
|
// Release overlay window
|
||||||
if (ps->overlay) {
|
if (ps->overlay) {
|
||||||
XCompositeReleaseOverlayWindow(ps->dpy, ps->overlay);
|
xcb_composite_release_overlay_window(c, ps->overlay);
|
||||||
ps->overlay = None;
|
ps->overlay = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue