added RANDR support
This commit is contained in:
parent
a084e737f8
commit
244c63f4b4
3 changed files with 47 additions and 4 deletions
22
configure.in
22
configure.in
|
@ -2,7 +2,7 @@ dnl configure.in for Fluxbox - created from configure.in Blackbox 0.61.1
|
||||||
dnl Initialize autoconf and automake
|
dnl Initialize autoconf and automake
|
||||||
AC_INIT(src/main.cc)
|
AC_INIT(src/main.cc)
|
||||||
AC_PREREQ(2.52)
|
AC_PREREQ(2.52)
|
||||||
AM_INIT_AUTOMAKE(fluxbox,0.9.2,no-define)
|
AM_INIT_AUTOMAKE(fluxbox,0.9.3,no-define)
|
||||||
|
|
||||||
dnl Determine default prefix
|
dnl Determine default prefix
|
||||||
test x$prefix = "xNONE" && prefix="$ac_default_prefix"
|
test x$prefix = "xNONE" && prefix="$ac_default_prefix"
|
||||||
|
@ -104,7 +104,7 @@ AC_ARG_ENABLE(
|
||||||
dnl Check for Remember options
|
dnl Check for Remember options
|
||||||
AC_MSG_CHECKING([whether to include remember functionality])
|
AC_MSG_CHECKING([whether to include remember functionality])
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
remember, [ --enable-remember include code for Remembering attributes [default=yes]],
|
remember, [ --enable-remember include code for Remembering attributes [default=yes]],
|
||||||
if test x$enableval = "xyes"; then
|
if test x$enableval = "xyes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(REMEMBER, 1, " compile with remember")
|
AC_DEFINE(REMEMBER, 1, " compile with remember")
|
||||||
|
@ -325,6 +325,24 @@ AC_ARG_ENABLE(
|
||||||
)
|
)
|
||||||
AM_CONDITIONAL(MULTIBYTE, test x$MULTIBYTE = xtrue)
|
AM_CONDITIONAL(MULTIBYTE, test x$MULTIBYTE = xtrue)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to have RANDR (The X Resize and Rotate Extension) support])
|
||||||
|
AC_ARG_ENABLE(
|
||||||
|
randr,
|
||||||
|
[ --enable-randr RANDR (The X Resize and Rotate Extension) support [default=yes]],
|
||||||
|
if test x$enableval = "xyes"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_CHECK_LIB(Xrandr, XRRQueryExtension,
|
||||||
|
AC_DEFINE(HAVE_RANDR, 1, "randr support")
|
||||||
|
LIBS="$LIBS -lXrandr")
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi,
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_CHECK_LIB(Xrandr, XRRQueryExtension,
|
||||||
|
AC_DEFINE(HAVE_RANDR, 1, "randr support")
|
||||||
|
LIBS="$LIBS -lXrandr")
|
||||||
|
)
|
||||||
|
|
||||||
dnl Check for Xinerama support
|
dnl Check for Xinerama support
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build support for the Xinerama extension])
|
AC_MSG_CHECKING([whether to build support for the Xinerama extension])
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: fluxbox.cc,v 1.139 2003/05/11 23:44:09 rathnor Exp $
|
// $Id: fluxbox.cc,v 1.140 2003/05/12 04:23:31 fluxgen Exp $
|
||||||
|
|
||||||
#include "fluxbox.hh"
|
#include "fluxbox.hh"
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@
|
||||||
#include "Keys.hh"
|
#include "Keys.hh"
|
||||||
#include "FbAtoms.hh"
|
#include "FbAtoms.hh"
|
||||||
|
|
||||||
|
|
||||||
//Use GNU extensions
|
//Use GNU extensions
|
||||||
#ifndef _GNU_SOURCE
|
#ifndef _GNU_SOURCE
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
@ -71,9 +72,15 @@
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
#include <X11/cursorfont.h>
|
#include <X11/cursorfont.h>
|
||||||
|
// X extensions
|
||||||
#ifdef SHAPE
|
#ifdef SHAPE
|
||||||
#include <X11/extensions/shape.h>
|
#include <X11/extensions/shape.h>
|
||||||
#endif // SHAPE
|
#endif // SHAPE
|
||||||
|
#ifdef HAVE_RANDR
|
||||||
|
#include <X11/extensions/Xrandr.h>
|
||||||
|
#endif // HAVE_RANDR
|
||||||
|
|
||||||
|
// system headers
|
||||||
|
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
@ -410,6 +417,7 @@ Fluxbox::Fluxbox(int argc, char **argv, const char *dpy_name, const char *rcfile
|
||||||
m_starting(true),
|
m_starting(true),
|
||||||
m_shutdown(false),
|
m_shutdown(false),
|
||||||
m_server_grabs(0),
|
m_server_grabs(0),
|
||||||
|
m_randr_event_type(0),
|
||||||
m_RC_PATH("fluxbox"),
|
m_RC_PATH("fluxbox"),
|
||||||
m_RC_INIT_FILE("init") {
|
m_RC_INIT_FILE("init") {
|
||||||
|
|
||||||
|
@ -442,6 +450,12 @@ Fluxbox::Fluxbox(int argc, char **argv, const char *dpy_name, const char *rcfile
|
||||||
|
|
||||||
s_singleton = this;
|
s_singleton = this;
|
||||||
|
|
||||||
|
#ifdef HAVE_RANDR
|
||||||
|
// get randr event type
|
||||||
|
int error_base;
|
||||||
|
XRRQueryExtension(disp, &m_randr_event_type, &error_base);
|
||||||
|
#endif // HAVE_RANDR
|
||||||
|
|
||||||
// setup atom handlers before we create any windows
|
// setup atom handlers before we create any windows
|
||||||
#ifdef USE_GNOME
|
#ifdef USE_GNOME
|
||||||
addAtomHandler(new Gnome()); // for gnome 1 atom support
|
addAtomHandler(new Gnome()); // for gnome 1 atom support
|
||||||
|
@ -450,6 +464,7 @@ Fluxbox::Fluxbox(int argc, char **argv, const char *dpy_name, const char *rcfile
|
||||||
#ifdef USE_NEWWMSPEC
|
#ifdef USE_NEWWMSPEC
|
||||||
addAtomHandler(new Ewmh()); // for Extended window manager atom support
|
addAtomHandler(new Ewmh()); // for Extended window manager atom support
|
||||||
#endif // USE_NEWWMSPEC
|
#endif // USE_NEWWMSPEC
|
||||||
|
|
||||||
#ifdef REMEMBER
|
#ifdef REMEMBER
|
||||||
addAtomHandler(new Remember()); // for remembering window attribs
|
addAtomHandler(new Remember()); // for remembering window attribs
|
||||||
#endif // REMEMBER
|
#endif // REMEMBER
|
||||||
|
@ -853,6 +868,15 @@ void Fluxbox::handleEvent(XEvent * const e) {
|
||||||
handleClientMessage(e->xclient);
|
handleClientMessage(e->xclient);
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
|
#ifdef HAVE_RANDR
|
||||||
|
if (e->type == m_randr_event_type) {
|
||||||
|
// update root window size in screen
|
||||||
|
BScreen *scr = searchScreen(e->xany.window);
|
||||||
|
if (scr != 0)
|
||||||
|
scr->updateSize();
|
||||||
|
}
|
||||||
|
#endif // HAVE_RANDR
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
// $Id: fluxbox.hh,v 1.56 2003/05/11 22:18:33 fluxgen Exp $
|
// $Id: fluxbox.hh,v 1.57 2003/05/12 04:23:31 fluxgen Exp $
|
||||||
|
|
||||||
#ifndef FLUXBOX_HH
|
#ifndef FLUXBOX_HH
|
||||||
#define FLUXBOX_HH
|
#define FLUXBOX_HH
|
||||||
|
@ -268,6 +268,7 @@ private:
|
||||||
bool m_starting;
|
bool m_starting;
|
||||||
bool m_shutdown;
|
bool m_shutdown;
|
||||||
int m_server_grabs;
|
int m_server_grabs;
|
||||||
|
int m_randr_event_type; ///< the type number of randr event
|
||||||
const char *m_RC_PATH;
|
const char *m_RC_PATH;
|
||||||
const char *m_RC_INIT_FILE;
|
const char *m_RC_INIT_FILE;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue