$(XINERAMA_LIBS) \
$(XKB_LIBS) \
$(XRANDR_LIBS) \
- $(VIDMODE_LIBS) \
$(XSHAPE_LIBS) \
$(GLIB_LIBS) \
$(X_LIBS) \
dnl Check for X11 extensions
X11_EXT_XKB
X11_EXT_XRANDR
-X11_EXT_VIDMODE
X11_EXT_SHAPE
X11_EXT_XINERAMA
fi
])
-# VIDMODE()
-#
-# Check for the presence of the "VidMode" X Window System extension.
-# Defines "VIDMODE" and sets the $(VIDMODE) variable to "yes" if the extension
-# is present.
-AC_DEFUN([X11_EXT_VIDMODE],
-[
- AC_REQUIRE([X11_DEVEL])
-
- # Store these
- OLDLIBS=$LIBS
- OLDCPPFLAGS=$CPPFLAGS
-
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- LIBS="$LIBS $X_LIBS -lXext -lXxf86vm"
-
- AC_CHECK_LIB([Xxf86vm], [XF86VidModeGetViewPort],
- AC_MSG_CHECKING([for X11/extensions/xf86vmode.h])
- AC_TRY_LINK(
- [
- #include <X11/Xlib.h>
- #include <X11/extensions/xf86vmode.h>
- ],
- [
- Display *d;
- int i;
- XF86VidModeQueryExtension(d, &i, &i);
- XF86VidModeGetViewPort(d, i, &i, &i);
- ],
- [
- AC_MSG_RESULT([yes])
- VIDMODE="yes"
- AC_DEFINE([VIDMODE], [1], [Found the VidMode extension])
-
- VIDMODE_CFLAGS=""
- VIDMODE_LIBS="-lXext -lXxf86vm"
- AC_SUBST(VIDMODE_CFLAGS)
- AC_SUBST(VIDMODE_LIBS)
- ],
- [
- AC_MSG_RESULT([no])
- VIDMODE="no"
- ])
- )
-
- LIBS=$OLDLIBS
- CPPFLAGS=$OLDCPPFLAGS
-
- AC_MSG_CHECKING([for the VidMode extension])
- if test "$VIDMODE" = "yes"; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
-])
-
# X11_SM()
#
# Check for the presence of SMlib for session management.
/* set the size and position if fullscreen */
if (self->fullscreen) {
-#ifdef VIDMODE
- gint dot;
- XF86VidModeModeLine mode;
-#endif
Rect *a;
guint i;
i = client_monitor(self);
a = screen_physical_area_monitor(i);
-#ifdef VIDMODE
- if (i == 0 && /* primary head */
- extensions_vidmode &&
- XF86VidModeGetViewPort(ob_display, ob_screen, &x, &y) &&
- /* get the mode last so the mode.privsize isnt freed incorrectly */
- XF86VidModeGetModeLine(ob_display, ob_screen, &dot, &mode)) {
- x += a->x;
- y += a->y;
- w = mode.hdisplay;
- h = mode.vdisplay;
- if (mode.privsize) XFree(mode.private);
- } else
-#endif
- {
- x = a->x;
- y = a->y;
- w = a->width;
- h = a->height;
- }
+ x = a->x;
+ y = a->y;
+ w = a->width;
+ h = a->height;
user = FALSE; /* ignore that increment etc shit when in fullscreen */
} else {
focus_order_remove(self);
focus_order_add_new(self);
- /* this is here cuz with the VIDMODE extension, the viewport can
- change while a fullscreen window is iconic, and when it
- uniconifies, it would be nice if it did so to the new position
- of the viewport */
- client_reconfigure(self);
-
changed = TRUE;
}
}
break;
default:
;
-#ifdef VIDMODE
- if (extensions_vidmode && e->type == extensions_vidmode_event_basep) {
- ob_debug("VIDMODE EVENT\n");
- }
-#endif
}
}
gint extensions_xinerama_event_basep;
gboolean extensions_randr = FALSE;
gint extensions_randr_event_basep;
-gboolean extensions_vidmode = FALSE;
-gint extensions_vidmode_event_basep;
void extensions_query_all()
{
XRRQueryExtension(ob_display, &extensions_randr_event_basep,
&junk);
#endif
-
-#ifdef VIDMODE
- extensions_vidmode =
- XF86VidModeQueryExtension(ob_display, &extensions_vidmode_event_basep,
- &junk);
-#endif
}
void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
#ifdef XRANDR
#include <X11/extensions/Xrandr.h>
#endif
-#ifdef VIDMODE
-#include <X11/extensions/xf86vmode.h>
-#endif
#include <glib.h>
/*! Base for events for the Randr extension */
extern gint extensions_randr_event_basep;
-/*! Does the display have the VidMode extension? */
-extern gboolean extensions_vidmode;
-/*! Base for events for the VidMode extension */
-extern gint extensions_vidmode_event_basep;
-
void extensions_query_all();
void extensions_xinerama_screens(Rect **areas, guint *nxin);