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
This commit is contained in:
parent
85c15cf7b6
commit
ad4def8e52
4 changed files with 42 additions and 9 deletions
|
@ -118,6 +118,9 @@ openbox_openbox_CPPFLAGS = \
|
|||
$(XRANDR_CFLAGS) \
|
||||
$(XSHAPE_CFLAGS) \
|
||||
$(XSYNC_CFLAGS) \
|
||||
$(XRENDER_CFLAGS) \
|
||||
$(XDAMAGE_CFLAGS) \
|
||||
$(XCOMPOSITE_CFLAGS) \
|
||||
$(X_CFLAGS) \
|
||||
$(XCURSOR_CFLAGS) \
|
||||
$(SM_CFLAGS) \
|
||||
|
@ -137,6 +140,9 @@ openbox_openbox_LDADD = \
|
|||
$(XSHAPE_LIBS) \
|
||||
$(XSYNC_LIBS) \
|
||||
$(GLIB_LIBS) \
|
||||
$(XRENDER_LIBS) \
|
||||
$(XDAMAGE_LIBS) \
|
||||
$(XCOMPOSITE_LIBS) \
|
||||
$(X_LIBS) \
|
||||
$(XCURSOR_LIBS) \
|
||||
$(LIBSN_LIBS) \
|
||||
|
|
30
configure.ac
30
configure.ac
|
@ -146,12 +146,32 @@ AC_ARG_ENABLE(xcomposite,
|
|||
)
|
||||
|
||||
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
|
||||
|
|
|
@ -39,6 +39,11 @@
|
|||
#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>
|
||||
|
||||
|
|
|
@ -365,10 +365,12 @@ void screen_startup(gboolean reconfig)
|
|||
}
|
||||
|
||||
#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 */
|
||||
|
|
Loading…
Reference in a new issue