- huge amounts of internal cleanups
- added emacs local variables to each file that prevent the addition of tabs
- added a Util.cc file which contains useful functions with no obvious home.
- - removed several unused variables and otherwise reduced the memory usage
- of the objects in Blackbox. For the record we are about 100k larger than
- 0.62.0 and that is mostly due to the STL. However for the most part
- blackbox runs faster and is still one of the leanest window managers out
- there today.
- move code over to the STL
+ - removed several unused variables and otherwise reduced the memory usage
+ of the objects in Blackbox. For the record the binary is roughly 100k
+ larger than 0.62.0 and that is mostly due to the STL but there is also a
+ fair bit of new code. However for the most part blackbox runs faster and
+ is still one of the leanest window managers out there today.
- bsetroot now sets _XROOTPMAP_ID, so pseudo transparent apps will be happy
- beginnings of a strut implementation. toolbar and slit are removed from
the available screen area if 'full maximize' is not set
- - handle the odd edge case where a reparent event occurs while the window
- is unmapped. XReparentWindow sends an UnmapNotify to the window manager
- however the window is already unmapped so the window manager never gets
- the event and the unmapNotify event is where reparentNotify was handled.
- Added a reparentNotifyEvent handler in the BlackboxWindow class and a new
- case in the Blackbox class's process_event function.
+ - XReparentWindow sends an UnmapNotify to the window manager however
+ in certain cases the window is already unmapped so the window manager
+ never gets the event and the unmapNotify event is where reparentNotify was
+ handled. Added a reparentNotifyEvent handler in the BlackboxWindow class
+ and a new case in the Blackbox class's process_event function.
- no more blackbox->grab/ungrab calls everywhere
- compression of motion and expose
- Now we have one function which turns ~/ into /home/user/. This is now
- update transient handling, should solve issues with apps like acroread.
added a getTransientInfo() method of the BlackboxWindow class which
handles checking the transient state in X and setting the appropriate
- variables on the window. To further attack the infinite loops this
- function ensures that client.transient != this. We also check for loops
- of the forms A -> B -> C -> A. The new transient code also allows for one
+ variables on the window. To attack the infinite loops this
+ function ensures that client.transient != this and we check for loops
+ of the form A -> B -> C -> A. The new transient code also allows for one
window to have multiple transients so applications like xmms and web
browsers are better behaved.
- even better ICCCM support and focus handling
LIBS="$LIBS $X_LIBS"
LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS"
+AC_MSG_CHECKING(for GCC)
+if test x$GCC = "xyes"; then
+ AC_MSG_RESULT([yes])
+ CXXFLAGS="${CXXFLAGS} -Wall -W"
+else
+ AC_MSG_RESULT([no, trying other compilers])
+ AC_MSG_CHECKING(for MIPSpro)
+ mips_pro_ver=`$CC -version 2>&1 | grep -i mipspro | cut -f4 -d ' '`
+ if test "x$mips_pro_ver" = "x"; then
+ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([yes, version $mips_pro_ver.])
+ AC_MSG_CHECKING(for -LANG:std in CXXFLAGS)
+ lang_std_not_set=`echo $CXXFLAGS | grep "\-LANG:std"`
+ if test "x$lang_std_not_set" = "x"; then
+ AC_MSG_RESULT([not set, setting.])
+ CXXFLAGS="${CXXFLAGS} -LANG:std"
+ else
+ AC_MSG_RESULT([already set.])
+ fi
+ fi
+fi
+
dnl Check for required functions in -lX11
AC_CHECK_LIB(X11, XOpenDisplay,
LIBS="$LIBS -lX11",
[ --enable-debug include verbose debugging code [default=no]],
if test x$enableval = "xyes"; then
AC_MSG_RESULT([yes])
- DEBUG="-DDEBUG -Wall -W -fno-inline"
+ if test x$GCC = "xyes"; then
+ DEBUG="-DDEBUG -fno-inline -g"
+ else
+ DEBUG="-DDEBUG"
+ fi
else
AC_MSG_RESULT([no])
DEBUG="-DNDEBUG"