all repos — openbox @ ad4def8e521c449628f6e69b13a7eca63b152793

openbox fork - make it a bit more like ryudo

check for damage and render extensions if going to use composite. require them for it. also include the cflags/libs. and only run the xcomposite stuff so far when the server supports it
Dana Jansens danakj@orodu.net
commit

ad4def8e521c449628f6e69b13a7eca63b152793

parent

85c15cf7b6f66729695609339b21b16649ee92c8

4 files changed, 42 insertions(+), 9 deletions(-)

jump to
M Makefile.amMakefile.am

@@ -118,6 +118,9 @@ $(XKB_CFLAGS) \

$(XRANDR_CFLAGS) \ $(XSHAPE_CFLAGS) \ $(XSYNC_CFLAGS) \ + $(XRENDER_CFLAGS) \ + $(XDAMAGE_CFLAGS) \ + $(XCOMPOSITE_CFLAGS) \ $(X_CFLAGS) \ $(XCURSOR_CFLAGS) \ $(SM_CFLAGS) \

@@ -137,6 +140,9 @@ $(XRANDR_LIBS) \

$(XSHAPE_LIBS) \ $(XSYNC_LIBS) \ $(GLIB_LIBS) \ + $(XRENDER_LIBS) \ + $(XDAMAGE_LIBS) \ + $(XCOMPOSITE_LIBS) \ $(X_LIBS) \ $(XCURSOR_LIBS) \ $(LIBSN_LIBS) \
M configure.acconfigure.ac

@@ -146,12 +146,32 @@ [enable_xcomposite=yes]

) if test "$enable_xcomposite" = yes; then -PKG_CHECK_MODULES(XCOMPOSITE, [xcomposite], +PKG_CHECK_MODULES(XRENDER, [xrender], [ - AC_DEFINE(USE_XCOMPOSITE, [1], [Use X Composite library]) - AC_SUBST(XCOMPOSITE_CFLAGS) - AC_SUBST(XCOMPOSITE_LIBS) - xcomposite_found=yes + AC_DEFINE(USE_XRENDER, [1], [Use X Render library]) + AC_SUBST(XRENDER_CFLAGS) + AC_SUBST(XRENDER_LIBS) + PKG_CHECK_MODULES(XDAMAGE, [xdamage], + [ + AC_DEFINE(USE_XDAMAGE, [1], [Use X Damage library]) + AC_SUBST(XDAMAGE_CFLAGS) + AC_SUBST(XDAMAGE_LIBS) + PKG_CHECK_MODULES(XCOMPOSITE, [xcomposite], + [ + AC_DEFINE(USE_XCOMPOSITE, [1], [Use X Composite library]) + AC_SUBST(XCOMPOSITE_CFLAGS) + AC_SUBST(XCOMPOSITE_LIBS) + xcomposite_found=yes + ], + [ + xcomposite_found=no + ] + ) + ], + [ + xcomposite_found=no + ] + ) ], [ xcomposite_found=no
M openbox/extensions.hopenbox/extensions.h

@@ -39,6 +39,11 @@ #endif

#ifdef SYNC #include <X11/extensions/sync.h> #endif +#ifdef USE_XCOMPOSITE +#include <X11/extensions/Xcomposite.h> +#include <X11/extensions/Xdamage.h> +#include <X11/extensions/Xrender.h> +#endif #include <glib.h>
M openbox/screen.copenbox/screen.c

@@ -365,10 +365,12 @@ return;

} #ifdef USE_XCOMPOSITE - /* Redirect window contents to offscreen pixmaps */ - XCompositeRedirectSubwindows(ob_display, - RootWindow(ob_display, ob_screen), - CompositeRedirectAutomatic); + if (extensions_comp) { + /* Redirect window contents to offscreen pixmaps */ + XCompositeRedirectSubwindows(ob_display, + RootWindow(ob_display, ob_screen), + CompositeRedirectAutomatic); + } #endif /* get the initial size */