X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fextensions.c;h=2fdc686316321b278b188ee411a7104e5e8b957d;hb=fa6f70ce3a1e5aff0cdafb4b641128f360278f2a;hp=605834cd701c2e11d27aa35186693a990f5ec4fa;hpb=f683e84741ae32ee51cc8f6d984a9f35814a7a3c;p=chaz%2Fopenbox diff --git a/openbox/extensions.c b/openbox/extensions.c index 605834cd..2fdc6863 100644 --- a/openbox/extensions.c +++ b/openbox/extensions.c @@ -33,6 +33,8 @@ gboolean extensions_randr = FALSE; gint extensions_randr_event_basep; gboolean extensions_sync = FALSE; gint extensions_sync_event_basep; +gboolean extensions_comp = FALSE; +gint extensions_comp_event_basep; void extensions_query_all() { @@ -80,6 +82,22 @@ void extensions_query_all() ob_debug("X Sync extension is not present on the server or is an " "incompatible version\n"); #endif + +#ifdef USE_XCOMPOSITE + if (XCompositeQueryExtension(ob_display, &extensions_comp_event_basep, + &junk)) + { + gint major = 0, minor = 2; + XCompositeQueryVersion(ob_display, &major, &minor); + /* Version 0.2 is the first version to have the + XCompositeNameWindowPixmap() request. */ + if (major > 0 || minor >= 2) + extensions_comp = TRUE; + } + if (!extensions_comp) + ob_debug("X Composite extension is not present on the server or is an " + "incompatible version\n"); +#endif } void extensions_xinerama_screens(Rect **xin_areas, guint *nxin) @@ -105,7 +123,7 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin) *nxin = 2; *xin_areas = g_new(Rect, *nxin + 1); RECT_SET((*xin_areas)[0], 0, 0, w/2, h); - RECT_SET((*xin_areas)[1], w/2, 0, w-(w/2), h/2); + RECT_SET((*xin_areas)[1], w/2, 0, w-(w/2), h); } else { *nxin = 1; @@ -128,3 +146,10 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin) } RECT_SET((*xin_areas)[*nxin], l, t, r - l + 1, b - t + 1); } + +#ifdef USE_XCOMPOSITE +Picture extensions_create_composite_picture(Window win, Visual *vis, + gboolean *has_alpha) +{ +} +#endif