all repos — fluxbox @ bec0065e4a5a4d0c487bd47ec208b9d30a7b9399

custom fork of the fluxbox windowmanager

pekdon patch
fluxgen fluxgen
commit

bec0065e4a5a4d0c487bd47ec208b9d30a7b9399

parent

502f1a959cf14691097d2fcdefc5afdcf8e706d5

M ChangeLogChangeLog

@@ -8,6 +8,18 @@ * Fixed slit:onTop with toolbar:onTop bug

* Changed Keygrabbing constants to uppercase * Changed Texture constants to uppercase and moved them into class BImage to clean up the global namespace +*01/12/27: + * Fixed grabVertMax and grabHorizMax + 1 pixel maximise bug. (Claes Nästén) + * Now relative and vertical tabs gets textures rendered ok, still + interlaced and gradients aren't rendered in right direction. (Claes Nästén) +*01/12/26: + * Fixed tab and iconbar uppdating so that tab and iconbar labels will have + the right text. (Claes Nästén) +*01/12/23: + * Fixed a bug in Tab::buttonReleaseEvent and added sloppyWindowGrouping + wich lets you release windows tabs on other windows and not only other + tabs to group them (Claes Nästén) + *01/12/19: * Moved some structs from file scope of BaseDisplay.hh in to class BaseDisplay * Fixed redraw bug when changing workspace
M TODOTODO

@@ -1,4 +1,7 @@

TODO for Fluxbox 0.2.0 +* "Dont use tab" doesnt save +* Remove the cylic dep between class Tab and class Window +* Remove the cylic dep between class Theme and class Fluxbox !* Fix "no font" crash * Remove cyclic dep on Basemenu with class Fluxbox * sloppy focus - auto-raise

@@ -23,9 +26,6 @@ * slit.onTop and slit.placement "bugg" when changin in configurefile

* fix "move group to..." without tab bugg. * 0,0-pos fix * reconfigure tar upp nya dekorationer - -* fluxbox wont currently build on linux-hppa, needs the config.{sub, - guess} updated from ftp://ftp.gnu.org/pub/gnu/config/ * Create fbrun style app (* Add wheelscroll-workspace-change configuration (reversed order or
M configureconfigure

@@ -807,10 +807,11 @@

test x$prefix = "xNONE" && prefix="$ac_default_prefix" + # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:814: checking for $ac_word" >&5 +echo "configure:815: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -840,7 +841,7 @@ if test -z "$CC"; then

# Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:844: checking for $ac_word" >&5 +echo "configure:845: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -891,7 +892,7 @@ *win32* | *WIN32*)

# Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:895: checking for $ac_word" >&5 +echo "configure:896: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -923,7 +924,7 @@ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }

fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:927: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:928: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.

@@ -934,12 +935,12 @@ cross_compiling=$ac_cv_prog_cc_cross

cat > conftest.$ac_ext << EOF -#line 938 "configure" +#line 939 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then

@@ -965,12 +966,12 @@ if test $ac_cv_prog_cc_works = no; then

{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:969: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:970: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:974: checking whether we are using GNU C" >&5 +echo "configure:975: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -979,7 +980,7 @@ #ifdef __GNUC__

yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:984: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no

@@ -998,7 +999,7 @@ ac_test_CFLAGS="${CFLAGS+set}"

ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1002: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1003: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1034,7 +1035,7 @@ do

# Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1038: checking for $ac_word" >&5 +echo "configure:1039: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1066,7 +1067,7 @@ test -n "$CXX" || CXX="gcc"

echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1070: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1071: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.

@@ -1077,12 +1078,12 @@ cross_compiling=$ac_cv_prog_cxx_cross

cat > conftest.$ac_ext << EOF -#line 1081 "configure" +#line 1082 "configure" #include "confdefs.h" int main(){return(0);} EOF -if { (eval echo configure:1086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then

@@ -1108,12 +1109,12 @@ if test $ac_cv_prog_cxx_works = no; then

{ echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1112: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1113: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 -echo "configure:1117: checking whether we are using GNU C++" >&5 +echo "configure:1118: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1122,7 +1123,7 @@ #ifdef __GNUC__

yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no

@@ -1141,7 +1142,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"

ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1145: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1146: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1184,7 +1185,7 @@ # AFS /usr/afsws/bin/install, which mishandles nonexistent args

# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1188: checking for a BSD compatible install" >&5 +echo "configure:1189: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -1312,7 +1313,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }

fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1316: checking host system type" >&5 +echo "configure:1317: checking host system type" >&5 host_alias=$host case "$host_alias" in

@@ -1333,7 +1334,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`

echo "$ac_t""$host" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1337: checking build system type" >&5 +echo "configure:1338: checking build system type" >&5 build_alias=$build case "$build_alias" in

@@ -1353,7 +1354,7 @@

# Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1357: checking for $ac_word" >&5 +echo "configure:1358: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1392,7 +1393,7 @@ ac_prog=ld

if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1396: checking for ld used by GCC" >&5 +echo "configure:1397: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths.

@@ -1416,10 +1417,10 @@ ;;

esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1420: checking for GNU ld" >&5 +echo "configure:1421: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1423: checking for non-GNU ld" >&5 +echo "configure:1424: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -1454,7 +1455,7 @@ echo "$ac_t""no" 1>&6

fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1458: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1459: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1470,7 +1471,7 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6

echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1474: checking for BSD-compatible nm" >&5 +echo "configure:1475: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1506,7 +1507,7 @@ NM="$ac_cv_path_NM"

echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1510: checking whether ln -s works" >&5 +echo "configure:1511: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1555,8 +1556,8 @@ # libtool support.

case "$lt_target" in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1559 "configure"' > conftest.$ac_ext - if { (eval echo configure:1560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1560 "configure"' > conftest.$ac_ext + if { (eval echo configure:1561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) LD="${LD-ld} -32"

@@ -1577,19 +1578,19 @@ # On SCO OpenServer 5, we need -belf to get full-featured binaries.

SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:1581: checking whether the C compiler needs -belf" >&5 +echo "configure:1582: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1586 "configure" +#line 1587 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:1593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else

@@ -1696,7 +1697,7 @@ do

# Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1700: checking for $ac_word" >&5 +echo "configure:1701: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_regex_cmd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -1730,7 +1731,7 @@ { echo "configure: error: error. sed is required to build the data files." 1>&2; exit 1; }

fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1734: checking how to run the C preprocessor" >&5 +echo "configure:1735: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP=

@@ -1745,13 +1746,13 @@ CPP="${CC-cc} -E"

# On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1749 "configure" +#line 1750 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1756: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then :

@@ -1762,13 +1763,13 @@ cat conftest.$ac_ext >&5

rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1766 "configure" +#line 1767 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1773: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then :

@@ -1779,13 +1780,13 @@ cat conftest.$ac_ext >&5

rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1783 "configure" +#line 1784 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then :

@@ -1810,12 +1811,12 @@ fi

echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1814: checking for ANSI C header files" >&5 +echo "configure:1815: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1819 "configure" +#line 1820 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h>

@@ -1823,7 +1824,7 @@ #include <string.h>

#include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1827: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1828: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest*

@@ -1840,7 +1841,7 @@

if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 1844 "configure" +#line 1845 "configure" #include "confdefs.h" #include <string.h> EOF

@@ -1858,7 +1859,7 @@

if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 1862 "configure" +#line 1863 "configure" #include "confdefs.h" #include <stdlib.h> EOF

@@ -1879,7 +1880,7 @@ if test "$cross_compiling" = yes; then

: else cat > conftest.$ac_ext <<EOF -#line 1883 "configure" +#line 1884 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')

@@ -1890,7 +1891,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);

exit (0); } EOF -if { (eval echo configure:1894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else

@@ -1917,17 +1918,17 @@ for ac_hdr in errno.h ctype.h dirent.h fcntl.h libgen.h locale.h nl_types.h process.h signal.h stdarg.h stdio.h time.h unistd.h sys/param.h sys/select.h sys/signal.h sys/stat.h sys/time.h sys/types.h sys/wait.h

do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1921: checking for $ac_hdr" >&5 +echo "configure:1922: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1926 "configure" +#line 1927 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1932: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest*

@@ -1954,12 +1955,12 @@ fi

done echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1958: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:1959: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1963 "configure" +#line 1964 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h>

@@ -1968,7 +1969,7 @@ int main() {

struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else

@@ -1992,12 +1993,12 @@

for ac_func in basename do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1996: checking for $ac_func" >&5 +echo "configure:1997: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2001 "configure" +#line 2002 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */

@@ -2020,7 +2021,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else

@@ -2042,7 +2043,7 @@

else echo "$ac_t""no" 1>&6 echo $ac_n "checking for basename in -lgen""... $ac_c" 1>&6 -echo "configure:2046: checking for basename in -lgen" >&5 +echo "configure:2047: checking for basename in -lgen" >&5 ac_lib_var=`echo gen'_'basename | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2050,7 +2051,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat > conftest.$ac_ext <<EOF -#line 2054 "configure" +#line 2055 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2061,7 +2062,7 @@ int main() {

basename() ; return 0; } EOF -if { (eval echo configure:2065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2087,12 +2088,12 @@

for ac_func in getpid setlocale sigaction strftime strcasestr snprintf vsnprintf catopen catgets catclose do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2091: checking for $ac_func" >&5 +echo "configure:2092: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2096 "configure" +#line 2097 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */

@@ -2115,7 +2116,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else

@@ -2140,7 +2141,7 @@ fi

done echo $ac_n "checking for t_open in -lnsl""... $ac_c" 1>&6 -echo "configure:2144: checking for t_open in -lnsl" >&5 +echo "configure:2145: checking for t_open in -lnsl" >&5 ac_lib_var=`echo nsl'_'t_open | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2148,7 +2149,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 2152 "configure" +#line 2153 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2159,7 +2160,7 @@ int main() {

t_open() ; return 0; } EOF -if { (eval echo configure:2163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2180,7 +2181,7 @@ echo "$ac_t""no" 1>&6

fi echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:2184: checking for socket in -lsocket" >&5 +echo "configure:2185: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2188,7 +2189,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <<EOF -#line 2192 "configure" +#line 2193 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2199,7 +2200,7 @@ int main() {

socket() ; return 0; } EOF -if { (eval echo configure:2203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2225,7 +2226,7 @@ # paths, otherwise set no_x=yes.

# Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:2229: checking for X" >&5 +echo "configure:2230: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then

@@ -2287,12 +2288,12 @@ test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h

# First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 2291 "configure" +#line 2292 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2297: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest*

@@ -2361,14 +2362,14 @@ # Don't add to $LIBS permanently.

ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 2365 "configure" +#line 2366 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:2372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path.

@@ -2474,17 +2475,17 @@ # others require no space. Words are not sufficient . . . .

case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:2478: checking whether -R must be followed by a space" >&5 +echo "configure:2479: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 2481 "configure" +#line 2482 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:2488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else

@@ -2500,14 +2501,14 @@ X_LIBS="$X_LIBS -R$x_libraries"

else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 2504 "configure" +#line 2505 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:2511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else

@@ -2539,7 +2540,7 @@ # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X

# libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:2543: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:2544: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2547,7 +2548,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <<EOF -#line 2551 "configure" +#line 2552 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2558,7 +2559,7 @@ int main() {

dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:2562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2580,7 +2581,7 @@ fi

if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:2584: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:2585: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2588,7 +2589,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <<EOF -#line 2592 "configure" +#line 2593 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2599,7 +2600,7 @@ int main() {

dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:2603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2628,12 +2629,12 @@ # needs -lnsl.

# The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:2632: checking for gethostbyname" >&5 +echo "configure:2633: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2637 "configure" +#line 2638 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */

@@ -2656,7 +2657,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else

@@ -2677,7 +2678,7 @@ fi

if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:2681: checking for gethostbyname in -lnsl" >&5 +echo "configure:2682: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2685,7 +2686,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 2689 "configure" +#line 2690 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2696,7 +2697,7 @@ int main() {

gethostbyname() ; return 0; } EOF -if { (eval echo configure:2700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2726,12 +2727,12 @@ # gethostby* variants that don't use the nameserver (or something).

# -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:2730: checking for connect" >&5 +echo "configure:2731: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2735 "configure" +#line 2736 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */

@@ -2754,7 +2755,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else

@@ -2775,7 +2776,7 @@ fi

if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:2779: checking for connect in -lsocket" >&5 +echo "configure:2780: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2783,7 +2784,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 2787 "configure" +#line 2788 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2794,7 +2795,7 @@ int main() {

connect() ; return 0; } EOF -if { (eval echo configure:2798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2818,12 +2819,12 @@ fi

# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:2822: checking for remove" >&5 +echo "configure:2823: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2827 "configure" +#line 2828 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */

@@ -2846,7 +2847,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else

@@ -2867,7 +2868,7 @@ fi

if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:2871: checking for remove in -lposix" >&5 +echo "configure:2872: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2875,7 +2876,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 2879 "configure" +#line 2880 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2886,7 +2887,7 @@ int main() {

remove() ; return 0; } EOF -if { (eval echo configure:2890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -2910,12 +2911,12 @@ fi

# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:2914: checking for shmat" >&5 +echo "configure:2915: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2919 "configure" +#line 2920 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */

@@ -2938,7 +2939,7 @@ #endif

; return 0; } EOF -if { (eval echo configure:2942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else

@@ -2959,7 +2960,7 @@ fi

if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:2963: checking for shmat in -lipc" >&5 +echo "configure:2964: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -2967,7 +2968,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <<EOF -#line 2971 "configure" +#line 2972 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -2978,7 +2979,7 @@ int main() {

shmat() ; return 0; } EOF -if { (eval echo configure:2982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -3011,7 +3012,7 @@ # These have to be linked with before -lX11, unlike the other

# libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:3015: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:3016: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -3019,7 +3020,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 3023 "configure" +#line 3024 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -3030,7 +3031,7 @@ int main() {

IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:3034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -3066,7 +3067,7 @@ LIBS="$LIBS $X_LIBS"

LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS" echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:3070: checking for XOpenDisplay in -lX11" >&5 +echo "configure:3071: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -3074,7 +3075,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lX11 $LIBS" cat > conftest.$ac_ext <<EOF -#line 3078 "configure" +#line 3079 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -3085,7 +3086,7 @@ int main() {

XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:3089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -3114,7 +3115,7 @@ Xext_lib=""

SHAPE="" echo $ac_n "checking whether to build support for the XShape extension""... $ac_c" 1>&6 -echo "configure:3118: checking whether to build support for the XShape extension" >&5 +echo "configure:3119: checking whether to build support for the XShape extension" >&5 # Check whether --enable-shape or --disable-shape was given. if test "${enable_shape+set}" = set; then enableval="$enable_shape"

@@ -3126,7 +3127,7 @@ : ${enableval="yes"}

if test x$enableval = "xyes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XShapeCombineShape in -lXext""... $ac_c" 1>&6 -echo "configure:3130: checking for XShapeCombineShape in -lXext" >&5 +echo "configure:3131: checking for XShapeCombineShape in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeCombineShape | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -3134,7 +3135,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lXext $LIBS" cat > conftest.$ac_ext <<EOF -#line 3138 "configure" +#line 3139 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -3145,7 +3146,7 @@ int main() {

XShapeCombineShape() ; return 0; } EOF -if { (eval echo configure:3149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -3161,9 +3162,9 @@ fi

if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for X11/extensions/shape.h""... $ac_c" 1>&6 -echo "configure:3165: checking for X11/extensions/shape.h" >&5 +echo "configure:3166: checking for X11/extensions/shape.h" >&5 cat > conftest.$ac_ext <<EOF -#line 3167 "configure" +#line 3168 "configure" #include "confdefs.h" #include <X11/Xlib.h> #include <X11/Xutil.h>

@@ -3173,7 +3174,7 @@ int main() {

long foo = ShapeSet ; return 0; } EOF -if { (eval echo configure:3177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 SHAPE="-DSHAPE"; Xext_lib="-lXext"

@@ -3199,7 +3200,7 @@ LIBS="$LIBS $Xext_lib"

SLIT="" echo $ac_n "checking whether to include the Slit""... $ac_c" 1>&6 -echo "configure:3203: checking whether to include the Slit" >&5 +echo "configure:3204: checking whether to include the Slit" >&5 # Check whether --enable-slit or --disable-slit was given. if test "${enable_slit+set}" = set; then enableval="$enable_slit"

@@ -3219,7 +3220,7 @@

NEWWMSPEC="" echo $ac_n "checking whether to include the new WM Spec (DOES NOTHING)""... $ac_c" 1>&6 -echo "configure:3223: checking whether to include the new WM Spec (DOES NOTHING)" >&5 +echo "configure:3224: checking whether to include the new WM Spec (DOES NOTHING)" >&5 # Check whether --enable-newspec or --disable-newspec was given. if test "${enable_newspec+set}" = set; then enableval="$enable_newspec"

@@ -3239,7 +3240,7 @@

INTERLACE="" echo $ac_n "checking whether to include interlacing image code""... $ac_c" 1>&6 -echo "configure:3243: checking whether to include interlacing image code" >&5 +echo "configure:3244: checking whether to include interlacing image code" >&5 # Check whether --enable-interlace or --disable-interlace was given. if test "${enable_interlace+set}" = set; then enableval="$enable_interlace"

@@ -3259,7 +3260,7 @@

ORDEREDPSEUDO="" echo $ac_n "checking whether to include Pseudocolor ordered dithering code""... $ac_c" 1>&6 -echo "configure:3263: checking whether to include Pseudocolor ordered dithering code" >&5 +echo "configure:3264: checking whether to include Pseudocolor ordered dithering code" >&5 # Check whether --enable-ordered-pseudo or --disable-ordered-pseudo was given. if test "${enable_ordered_pseudo+set}" = set; then enableval="$enable_ordered_pseudo"

@@ -3278,13 +3279,13 @@

DEBUG="" echo $ac_n "checking whether to include verbose debugging code""... $ac_c" 1>&6 -echo "configure:3282: checking whether to include verbose debugging code" >&5 +echo "configure:3283: checking whether to include verbose debugging code" >&5 # Check whether --enable-debug or --disable-debug was given. if test "${enable_debug+set}" = set; then enableval="$enable_debug" if test x$enableval = "xyes"; then echo "$ac_t""yes" 1>&6 - DEBUG="-DDEBUG" + DEBUG="-DDEBUG -fno-inline" else echo "$ac_t""no" 1>&6 fi

@@ -3297,7 +3298,7 @@

NLS="" echo $ac_n "checking whether to include NLS support""... $ac_c" 1>&6 -echo "configure:3301: checking whether to include NLS support" >&5 +echo "configure:3302: checking whether to include NLS support" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls"

@@ -3316,7 +3317,7 @@

echo $ac_n "checking for setlocale in -lxpg4""... $ac_c" 1>&6 -echo "configure:3320: checking for setlocale in -lxpg4" >&5 +echo "configure:3321: checking for setlocale in -lxpg4" >&5 ac_lib_var=`echo xpg4'_'setlocale | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6

@@ -3324,7 +3325,7 @@ else

ac_save_LIBS="$LIBS" LIBS="-lxpg4 $LIBS" cat > conftest.$ac_ext <<EOF -#line 3328 "configure" +#line 3329 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2

@@ -3335,7 +3336,7 @@ int main() {

setlocale() ; return 0; } EOF -if { (eval echo configure:3339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else

@@ -3361,7 +3362,7 @@ do

# Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3365: checking for $ac_word" >&5 +echo "configure:3366: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gencat_cmd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else

@@ -3397,7 +3398,7 @@

TIMEDCACHE="" echo $ac_n "checking whether to use the new timed pixmap cache""... $ac_c" 1>&6 -echo "configure:3401: checking whether to use the new timed pixmap cache" >&5 +echo "configure:3402: checking whether to use the new timed pixmap cache" >&5 # Check whether --enable-timed-cache or --disable-timed-cache was given. if test "${enable_timed_cache+set}" = set; then enableval="$enable_timed_cache"

@@ -3417,7 +3418,7 @@

KDE="" echo $ac_n "checking whether to have KDE slit support""... $ac_c" 1>&6 -echo "configure:3421: checking whether to have KDE slit support" >&5 +echo "configure:3422: checking whether to have KDE slit support" >&5 # Check whether --enable-kde or --disable-kde was given. if test "${enable_kde+set}" = set; then enableval="$enable_kde"

@@ -3436,7 +3437,7 @@

GNOME="" echo $ac_n "checking whether to have GNOME support""... $ac_c" 1>&6 -echo "configure:3440: checking whether to have GNOME support" >&5 +echo "configure:3441: checking whether to have GNOME support" >&5 # Check whether --enable-gnome or --disable-gnome was given. if test "${enable_gnome+set}" = set; then enableval="$enable_gnome"

@@ -3454,12 +3455,12 @@

echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3458: checking return type of signal handlers" >&5 +echo "configure:3459: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3463 "configure" +#line 3464 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h>

@@ -3476,7 +3477,7 @@ int main() {

int i; ; return 0; } EOF -if { (eval echo configure:3480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else

@@ -3496,7 +3497,7 @@

echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:3500: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:3501: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode"
M configure.inconfigure.in

@@ -160,7 +160,7 @@ AC_ARG_ENABLE(debug,

[ --enable-debug include verbose debugging code [default=no]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) - DEBUG="-DDEBUG" + DEBUG="-DDEBUG -fno-inline" else AC_MSG_RESULT([no]) fi,
M doc/Makefile.indoc/Makefile.in

@@ -107,9 +107,9 @@ GZIP_ENV = --best

all: all-redirect .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile + cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

@@ -161,6 +161,11 @@

subdir = doc distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \
M nls/C/Configmenu.mnls/C/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/blackbox-nls.hhnls/blackbox-nls.hh

@@ -34,6 +34,7 @@ #define ConfigmenuIcons 0x14

#define ConfigmenuTabPlacement 0x15 #define ConfigmenuTabRotateVertical 0x16 #define ConfigmenuSemiSloppyFocus 0x17 +#define ConfigmenuSloppyWindowGrouping 0x18 #define IconSet 0x4 #define IconIcons 0x1
M nls/da_DK/Configmenu.mnls/da_DK/Configmenu.m

@@ -44,3 +44,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/es_ES/Configmenu.mnls/es_ES/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/et_EE/Configmenu.mnls/et_EE/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/fr_FR/Configmenu.mnls/fr_FR/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/it_IT/Configmenu.mnls/it_IT/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Routa Verticalmente I Tab $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/pt_BR/Configmenu.mnls/pt_BR/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/ru_RU/Configmenu.mnls/ru_RU/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# úÁËÌÁÄËÉ ×ÅÒÔÉËÁÌØÎÏ $ #SemiSloppyFocus # òÁÚÍÙÔÙÊ ÆÏËÕÓ +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M nls/sv_SE/Configmenu.mnls/sv_SE/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotera Vertikala Flikar $ #SemiSloppyFocus # Halv hafsig fokus +$ #SloppyWindowGrouping +# Hafsig Fönster Gruppering
M nls/tr_TR/Configmenu.mnls/tr_TR/Configmenu.m

@@ -46,3 +46,5 @@ $ #TabRotateVertical

# Rotate Vertical Tabs $ #SemiSloppyFocus # Semi Sloppy Focus +$ #SloppyWindowGrouping +# Sloppy Window Grouping
M src/Configmenu.ccsrc/Configmenu.cc

@@ -36,6 +36,7 @@ #include "Window.hh"

#define CMENU_USE_TABS 8 #define CMENU_USE_ICONS 9 +#define CMENU_SLOPPY_WIN_GROUP 10 #define CMENU_TAB_ROTATE 21 Configmenu::Configmenu(BScreen *scr) : Basemenu(scr) {

@@ -128,8 +129,13 @@ #else // !NLS

0, 0, #endif // NLS "Use Icons"), CMENU_USE_ICONS); - - + insert(i18n->getMessage( +#ifdef NLS + ConfigmenuSet, ConfigmenuSloppyWindowGrouping, +#else // !NLS + 0, 0, +#endif // NLS + "Sloppy Window Grouping"), CMENU_SLOPPY_WIN_GROUP); update();

@@ -140,6 +146,7 @@ setItemSelected(6, screen->doFocusNew());

setItemSelected(7, screen->doFocusLast()); setItemSelected(CMENU_USE_TABS, Fluxbox::instance()->useTabs()); setItemSelected(CMENU_USE_ICONS, Fluxbox::instance()->useIconBar()); + setItemSelected(CMENU_SLOPPY_WIN_GROUP, screen->isSloppyWindowGrouping()); }

@@ -203,6 +210,14 @@ setItemSelected(index, fluxbox->useIconBar());

screen->reconfigure(); } break; + case CMENU_SLOPPY_WIN_GROUP: + { + screen->saveSloppyWindowGrouping(!screen->isSloppyWindowGrouping()); + setItemSelected(index, screen->isSloppyWindowGrouping()); + screen->reconfigure(); + } + break; + } } }
M src/IconBar.ccsrc/IconBar.cc

@@ -152,14 +152,14 @@ }

} if (obj) { - + Window root; unsigned int width, height; unsigned int border_width, depth; //not used int x, y; XGetGeometry(m_display, m_parent, &root, &x, &y, &width, &height, &border_width, &depth); - + //max width on every icon unsigned int icon_width = width / m_iconlist->count();

@@ -190,7 +190,7 @@ unsigned int icon_width = width / m_iconlist->count();

//load right size of theme loadTheme(icon_width, height); - + IconListIterator it(m_iconlist); for (x = 0; it.current(); it++, x+=icon_width) {

@@ -271,8 +271,7 @@

if (l < width) break; } - - + switch (m_screen->getWindowStyle()->tab.font.justify) { case Misc::Font::RIGHT: dx += width - l;

@@ -284,7 +283,7 @@ default:

break; } - //Draw title to m_tabwin + //Draw title to m_iconwin XClearWindow(m_display, iconwin);

@@ -328,6 +327,7 @@ // Tries to find a fluxboxwin icon in the iconlist

// returns pointer to IconBarObj on success else // 0 on failure //------------------------------------ + IconBarObj *IconBar::findIcon(FluxboxWindow *fluxboxwin) { IconListIterator it(m_iconlist);

@@ -341,3 +341,22 @@ }

return 0; } + +//---------- getIconWidth ------------ +// will return the width of an icon +// window +//------------------------------------ +unsigned int IconBarObj::getWidth() { + Window root; + + unsigned int width, height; + unsigned int border_width, depth; //not used + int x, y; //not used + + Display *m_display = Fluxbox::instance()->getXDisplay(); + + XGetGeometry(m_display, m_iconwin, &root, &x, &y, + &width, &height, &border_width, &depth); + + return width; +}
M src/IconBar.hhsrc/IconBar.hh

@@ -32,9 +32,10 @@ IconBarObj(FluxboxWindow *fluxboxwin, Window iconwin);

~IconBarObj(); inline Window getIconWin(void) { return m_iconwin; } inline FluxboxWindow *getFluxboxWin(void) { return m_fluxboxwin; } + unsigned int getWidth(void); private: + FluxboxWindow *m_fluxboxwin; Window m_iconwin; - FluxboxWindow *m_fluxboxwin; }; class IconBar

@@ -42,21 +43,24 @@ {

public: IconBar(BScreen *scrn, Window parent); ~IconBar(); - void draw(); + void draw(); //TODO void reconfigure(); Window addIcon(FluxboxWindow *fluxboxwin); Window delIcon(FluxboxWindow *fluxboxwin); void buttonPressEvent(XButtonEvent *be); FluxboxWindow *findWindow(Window w); + IconBarObj *findIcon(FluxboxWindow *fluxboxwin); void exposeEvent(XExposeEvent *ee); + + void draw(IconBarObj *obj, int width); private: typedef LinkedList<IconBarObj> IconList; typedef LinkedListIterator<IconBarObj> IconListIterator; - void draw(IconBarObj *obj, int width); +// void draw(IconBarObj *obj, int width); void loadTheme(unsigned int width, unsigned int height); void decorate(Window win); - IconBarObj *findIcon(FluxboxWindow *fluxboxwin); +// IconBarObj *findIcon(FluxboxWindow *fluxboxwin); void repositionIcons(void); Window createIconWindow(FluxboxWindow *fluxboxwin, Window parent); BScreen *m_screen;
M src/Screen.hhsrc/Screen.hh

@@ -27,6 +27,8 @@

#ifndef _SCREEN_HH_ #define _SCREEN_HH_ + + #include <X11/Xlib.h> #include <X11/Xresource.h>

@@ -100,6 +102,8 @@ { return root_colormap_installed; }

inline const Bool &isScreenManaged(void) const { return managed; } inline const Bool &isTabRotateVertical(void) const { return resource.tab_rotate_vertical; } + inline const Bool &isSloppyWindowGrouping(void) const + { return resource.sloppy_window_grouping; } inline const Bool &doAutoRaise(void) const { return resource.auto_raise; } inline const Bool &doImageDither(void) const { return resource.image_dither; }

@@ -203,6 +207,8 @@ inline void saveTabPlacement(unsigned int p) { resource.tab_placement = p; }

inline void saveTabAlignment(unsigned int a) { resource.tab_alignment = a; } inline void saveTabRotateVertical(Bool r) { resource.tab_rotate_vertical = r; } + inline void saveSloppyWindowGrouping(Bool s) + { resource.sloppy_window_grouping = s; } inline void iconUpdate(void) { iconmenu->update(); } inline Iconmenu *getIconmenu(void) { return iconmenu; }

@@ -305,7 +311,8 @@ struct resource {

Bool toolbar_on_top, toolbar_auto_hide, sloppy_focus, auto_raise, auto_edge_balance, image_dither, ordered_dither, opaque_move, full_max, - focus_new, focus_last, tab_rotate_vertical, semi_sloppy_focus; + focus_new, focus_last, tab_rotate_vertical, semi_sloppy_focus, + sloppy_window_grouping; int workspaces, toolbar_placement, toolbar_width_percent, placement_policy, edge_snap_threshold, row_direction, col_direction;
M src/Slit.ccsrc/Slit.cc

@@ -187,7 +187,7 @@ XSelectInput(display, frame.window, NoEventMask);

XSelectInput(display, client->window, NoEventMask); XReparentWindow(display, client->window, frame.window, 0, 0); - XMapRaised(display, client->window); + XMapRaised(display, client->window); //TODO: bbkeys bug here? XChangeSaveSet(display, client->window, SetModeInsert); XSelectInput(display, frame.window, SubstructureRedirectMask |
M src/Tab.ccsrc/Tab.cc

@@ -110,13 +110,12 @@ //set grab

XGrabButton(m_display, Button1, Mod1Mask, m_tabwin, True, ButtonReleaseMask | ButtonMotionMask, GrabModeAsync, GrabModeAsync, None, Fluxbox::instance()->getMoveCursor()); - - + //save to tabsearch Fluxbox::instance()->saveTabSearch(m_tabwin, this); XMapSubwindows(m_display, m_tabwin); - + XMapWindow(m_display, m_tabwin); decorate();

@@ -155,12 +154,13 @@ for (; first!=0; first = first->m_next)

m_win->getScreen()->raiseWindows(&first->m_tabwin, 1); } -//-------------- decorate -------------------- -// decorates the tab with current theme +//-------------- loadTheme ----------------- +// loads the texture with the correct +// width and height, this is necessary in +// vertical and relative tab modes // TODO optimize this -//-------------------------------------------- -void Tab::decorate() { - +//------------------------------------------ +void Tab::loadTheme() { BImageControl *image_ctrl = m_win->getScreen()->getImageControl(); Pixmap tmp = m_focus_pm; BTexture *texture = &(m_win->getScreen()->getWindowStyle()->tab.l_focus);

@@ -206,18 +206,24 @@ image_ctrl->renderImage(m_size_w, m_size_h, texture);

} if (tmp) image_ctrl->removeImage(tmp); - +} + +//-------------- decorate -------------------- +// decorates the tab with current theme +//-------------------------------------------- +void Tab::decorate() { + loadTheme(); + XSetWindowBorderWidth(m_display, m_tabwin, m_win->getScreen()->getWindowStyle()->tab.border_width); XSetWindowBorder(m_display, m_tabwin, m_win->getScreen()->getWindowStyle()->tab.border_color.getPixel()); } - -//-------------- deiconify ------------------- +//-------------- deiconify ----------------- // Deiconifies the tab // Used from FluxboxWindow to deiconify the tab when the window is deiconfied -//-------------------------------------------- +//------------------------------------------ void Tab::deiconify() { XMapWindow(m_display, m_tabwin); }

@@ -386,6 +392,7 @@ m_win->isShaded()) {

if (m_win->isShaded()) pos_y = m_win->frame.y + m_win->getTitleHeight() + m_win->getScreen()->getBorderWidth2x(); + else pos_y = m_win->frame.y + m_win->getHeight() + m_win->getScreen()->getBorderWidth2x();

@@ -585,70 +592,63 @@ m_win->getScreen()->getRootWindow(),

be->x_root, be->y_root, &dest_x, &dest_y, &child)) { Tab *tab = 0; + FluxboxWindow *win = 0; //search tablist for a tabwindow - if ((tab = Fluxbox::instance()->searchTab(child))!=0) { + if (((tab = Fluxbox::instance()->searchTab(child))!=0) || + (m_win->getScreen()->isSloppyWindowGrouping() && + ((win = Fluxbox::instance()->searchWindow(child))!=0) && + (tab = win->getTab())!=0)) { + + if (tab == this) // inserting ourself to ourself causes a disconnect + return; + // do only attach a hole chain if we dropped the // first tab in the dropped chain... - if (m_prev) disconnect(); - // attach this tabwindow chain to the tabwindow chain we found. + // attach this tabwindow chain to the tabwindow chain we found. tab->insert(this); } else { disconnect(); + // convinience + unsigned short int placement = m_win->getScreen()->getTabPlacement(); + // (ab)using dest_x and dest_y - switch(m_win->getScreen()->getTabPlacement()) { - case PTop: - dest_x = be->x_root; - dest_y = be->y_root; - switch(m_win->getScreen()->getTabAlignment()) { - case ACenter: - dest_x -= (m_win->frame.width / 2) - (m_size_w / 2); - break; - case ARight: - dest_x -= m_win->frame.width - m_size_w; - break; - } - break; - case PBottom: - dest_x = be->x_root; - dest_y = be->y_root - m_win->frame.height; - switch(m_win->getScreen()->getTabAlignment()) { + dest_x = be->x_root; + dest_y = be->y_root; + + if (placement == PTop || placement == PBottom || m_win->isShaded()) { + if (placement == PBottom && !m_win->isShaded()) + dest_y -= m_win->frame.height; + else if (placement != PTop && m_win->isShaded()) + dest_y -= m_win->getTitleHeight(); + else // PTop + dest_y += m_win->getTitleHeight(); + + switch(m_win->getScreen()->getTabAlignment()) { case ACenter: dest_x -= (m_win->frame.width / 2) - (m_size_w / 2); break; case ARight: - dest_x -= m_win->frame.width - m_size_w; - break; - } - break; - case PLeft: - dest_x = be->x_root; - dest_y = be->y_root; - switch(m_win->getScreen()->getTabAlignment()) { - case ACenter: - dest_y -= (m_win->frame.height / 2) - (m_size_h / 2); - break; - case ALeft: - dest_y -= m_win->frame.height - m_size_h; + dest_x -= m_win->frame.width - m_size_w; break; - } - break; - case PRight: + } + + } else { // PLeft & PRight + if (placement == PRight) dest_x = be->x_root - m_win->frame.width; - dest_y = be->y_root; - switch(m_win->getScreen()->getTabAlignment()) { + + switch(m_win->getScreen()->getTabAlignment()) { case ACenter: dest_y -= (m_win->frame.height / 2) - (m_size_h / 2); break; case ALeft: dest_y -= m_win->frame.height - m_size_h; break; - } - break; + } } //TODO: this causes an calculate increase event, even if we // only are moving a window

@@ -778,8 +778,8 @@ for (; i->m_prev != 0; i = i->m_prev);

return i; } -//-------------- getFirst() --------- -// Returns the first Tab in the chain +//-------------- getLast() --------- +// Returns the last Tab in the chain // of currentchain. //----------------------------------- Tab *Tab::getLast(Tab *current) {

@@ -918,11 +918,15 @@ // ------------ setTabWidth --------------

// Sets Tab width _including_ borders // --------------------------------------- void Tab::setTabWidth(unsigned int w) { - if (w > m_win->getScreen()->getWindowStyle()->tab.border_width_2x) { + if (w > m_win->getScreen()->getWindowStyle()->tab.border_width_2x && + w != m_size_w) { m_size_w = w; XResizeWindow(m_display, m_tabwin, m_size_w - m_win->getScreen()->getWindowStyle()->tab.border_width_2x, m_size_h - m_win->getScreen()->getWindowStyle()->tab.border_width_2x); + + loadTheme(); // rerender themes to right size + focus(); // redraw the window } }

@@ -930,11 +934,15 @@ // ------------ setTabHeight ---------

// Sets Tab height _including_ borders // --------------------------------------- void Tab::setTabHeight(unsigned int h) { - if (h > m_win->getScreen()->getWindowStyle()->tab.border_width_2x) { + if (h > m_win->getScreen()->getWindowStyle()->tab.border_width_2x && + h != m_size_h) { m_size_h = h; XResizeWindow(m_display, m_tabwin, m_size_w - m_win->getScreen()->getWindowStyle()->tab.border_width_2x, m_size_h - m_win->getScreen()->getWindowStyle()->tab.border_width_2x); + + loadTheme(); // rerender themes to right size + focus(); // redraw the window } }
M src/Tab.hhsrc/Tab.hh

@@ -93,6 +93,7 @@ int m_inc_y;

static const int m_max_tabs; bool m_focus, m_moving; // moving and focus void createTabWindow(); // creates the X win of tab + void loadTheme(); // loads the textures with right width and height void setTabWidth(unsigned int w); void setTabHeight(unsigned int h); unsigned int calcRelativeWidth();
M src/Theme.ccsrc/Theme.cc

@@ -422,8 +422,7 @@ void Theme::loadWindowStyle() {

readDatabaseTexture("window.title.focus", "Window.Title.Focus", &m_windowstyle.t_focus, - WhitePixel(m_display, - m_screennum)); + WhitePixel(m_display, m_screennum)); readDatabaseTexture("window.title.unfocus", "Window.Title.Unfocus", &m_windowstyle.t_unfocus, BlackPixel(m_display, m_screennum));

@@ -512,7 +511,7 @@

} void Theme::loadTabStyle() { - + if (!readDatabaseTexture("window.tab.title.focus", "Window.Tab.Title.Focus", &m_windowstyle.tab.t_focus, WhitePixel(m_display, m_screennum)))

@@ -532,7 +531,6 @@ if (!readDatabaseTexture("window.tab.label.unfocus", "Window.Tab.Label.Unfocus",

&m_windowstyle.tab.l_unfocus, BlackPixel(m_display, m_screennum))) m_windowstyle.tab.l_unfocus = m_windowstyle.l_unfocus; - if (!readDatabaseColor("window.tab.label.focus.textColor", "Window.Tab.Label.Focus.TextColor",

@@ -549,11 +547,10 @@

readDatabaseColor("window.tab.borderColor", "Window.Tab.BorderColor", &m_windowstyle.tab.border_color, BlackPixel(m_display, m_screennum)); - - + XrmValue value; char *value_type; - + if (XrmGetResource(m_database, "window.tab.borderWidth", "Window.Tab.BorderWidth", &value_type, &value)) { if (sscanf(value.addr, "%u", &m_windowstyle.tab.border_width) != 1)

@@ -578,7 +575,6 @@ m_windowstyle.tab.font.fontstruct = fontstruct;

} //--------- rotated font for left and right tabs - // TODO: add extra checking if (XrmGetResource(m_database, "window.tab.font", "Window.Tab.Font", &value_type, &value)) {

@@ -586,7 +582,6 @@ if (! (m_windowstyle.tab.rot_font = Misc::XRotLoadFont(m_display, value.addr, 90.0)) )

m_windowstyle.tab.rot_font = Misc::XRotLoadFont(m_display, "fixed", 90); } else m_windowstyle.tab.rot_font = Misc::XRotLoadFont(m_display, "fixed", 90); - if (XrmGetResource(m_database, "window.tab.justify", "Window.Tab.Justify", &value_type, &value)) {

@@ -668,9 +663,9 @@ void Theme::loadRootCommand() {

XrmValue value; char *value_type; Fluxbox *fb=Fluxbox::instance(); -// printf("getting root command from fb->getRootCommand()"); + const char *root_cmd=fb->getRootCommand(); -// printf("root kommandot: %s\n", root_cmd); + if (root_cmd) { #ifndef __EMX__ const int display_strlen = 1024;
M src/Toolbar.hhsrc/Toolbar.hh

@@ -130,6 +130,7 @@ inline const int &getX(void) const

{ return ((hidden) ? frame.x_hidden : frame.x); } inline const int &getY(void) const { return ((hidden) ? frame.y_hidden : frame.y); } + inline IconBar *getIconBar(void) { return iconbar; } void buttonPressEvent(XButtonEvent *); void buttonReleaseEvent(XButtonEvent *);
M src/Window.ccsrc/Window.cc

@@ -1839,7 +1839,7 @@ dh -= frame.y_border;

if (! screen->doFullMax()) dh -= screen->getToolbar()->getExposedHeight() + - screen->getBorderWidth(); + screen->getBorderWidth2x(); if (dw < client.min_width) dw = client.min_width; if (dh < client.min_height) dh = client.min_height;

@@ -1862,24 +1862,24 @@

if (screen->doFullMax()) { dy = ((screen->getHeight() - dh) / 2) - screen->getBorderWidth(); } else { - dy = (((screen->getHeight() - screen->getToolbar()->getExposedHeight()) - - dh) / 2) - screen->getBorderWidth(); + dy = (((screen->getHeight() - (screen->getToolbar()->getExposedHeight())) + - dh) / 2) - screen->getBorderWidth2x(); switch (screen->getToolbarPlacement()) { case Toolbar::TopLeft: case Toolbar::TopCenter: case Toolbar::TopRight: dy += screen->getToolbar()->getExposedHeight() + - screen->getBorderWidth(); + screen->getBorderWidth2x(); break; } } - if (decorations.tab && Fluxbox::instance()->useTabs()) { // Want to se the tabs + if (hasTab()) { switch(screen->getTabPlacement()) { case Tab::PTop: dy += screen->getTabHeight(); - dh -= screen->getTabHeight() + screen->getBorderWidth(); + dh -= screen->getTabHeight(); break; case Tab::PLeft: if (screen->isTabRotateVertical()) {

@@ -1897,11 +1897,11 @@ else

dw -= screen->getTabWidth(); break; case Tab::PBottom: - dh -= screen->getTabHeight() + screen->getBorderWidth(); + dh -= screen->getTabHeight(); break; default: dy += screen->getTabHeight(); - dh -= screen->getTabHeight() + screen->getBorderWidth(); + dh -= screen->getTabHeight(); break; } }

@@ -2365,13 +2365,11 @@ }

GC gc = ((focused) ? screen->getWindowStyle()->l_text_focus_gc : screen->getWindowStyle()->l_text_unfocus_gc); - + Misc::DrawString(display, frame.label, gc, &screen->getWindowStyle()->font, client.title_text_w, frame.label_w, frame.bevel_w, client.title); - - }

@@ -2587,8 +2585,27 @@

if (decorations.titlebar) redrawLabel(); + if (hasTab()) // update tab + getTab()->draw(false); + if (! iconic) screen->getWorkspace(workspace_number)->update(); + else if (Fluxbox::instance()->useIconBar()) { + IconBar *iconbar = 0; + IconBarObj *icon = 0; + if ((iconbar = screen->getToolbar()->getIconBar()) != 0) { + if ((icon = iconbar->findIcon(this)) != 0) + iconbar->draw(icon, icon->getWidth()); +#ifdef DEBUG + else + cerr<<__FILE__<<"("<<__LINE__<<"): can't find icon!"<<endl; +#endif //DEBUG + } +#ifdef DEBUG + else + cerr<<__FILE__<<"("<<__LINE__<<"): can't find iconbar!"<<endl; +#endif //DEBUG + } break;

@@ -2762,7 +2779,7 @@ screen->getWorkspace(workspace_number)->raiseWindow(this);

} } else if (be->button == 2 && be->window == frame.label) { screen->getWorkspace(workspace_number)->lowerWindow(this); - + } else if (windowmenu && be->button == 3 && (frame.title == be->window || frame.label == be->window || frame.handle == be->window)) {
M src/Workspacemenu.hhsrc/Workspacemenu.hh

@@ -24,7 +24,6 @@ #define _WORKSPACEMENU_HH_

// forward declaration class Workspacemenu; - class Toolbar; #include "Basemenu.hh"
M src/fluxbox.ccsrc/fluxbox.cc

@@ -1027,24 +1027,12 @@ case Keys::STICK:

focused_window->stick(); break; case Keys::VERTMAX: - //!!TODO: fix this - if (focused_window->isResizable()) { - int w = focused_window->getWidth(); - int x = focused_window->getXFrame(); - int y = focused_window->getYFrame(); - focused_window->maximize(0); - focused_window->configure(x, y, w, focused_window->getHeight()); - } + if (focused_window->isResizable()) + focused_window->maximize(3); // maximize vertically, done with mouse3 break; case Keys::HORIZMAX: - //!!TODO: fix this - if (focused_window->isResizable()) { - int h = focused_window->getHeight(); - int x = focused_window->getXFrame(); - int y = focused_window->getYFrame(); - focused_window->maximize(0); - focused_window->configure(x, y, focused_window->getWidth(), h); - } + if (focused_window->isResizable()) + focused_window->maximize(2); // maximize horisontally, done with mouse2 break; case Keys::NUDGERIGHT: focused_window->configure(

@@ -1614,6 +1602,10 @@ XrmPutLineResource(&new_blackboxrc, rc_string);

sprintf(rc_string, "session.screen%d.tab.rotatevertical: %s", screen_number, ((screen->isTabRotateVertical()) ? "True" : "False")); + XrmPutLineResource(&new_blackboxrc, rc_string); + + sprintf(rc_string, "session.screen%d.sloppywindowgrouping: %s", screen_number, + ((screen->isSloppyWindowGrouping()) ? "True" : "False")); XrmPutLineResource(&new_blackboxrc, rc_string); load_rc(screen);

@@ -2348,6 +2340,17 @@ else

screen->saveTabRotateVertical(False); } else screen->saveTabRotateVertical(False); + + sprintf(name_lookup, "session.screen%d.sloppywindowgrouping", screen_number); + sprintf(class_lookup, "Session.Screen%d.SloppyWindowGrouping", screen_number); + if (XrmGetResource(database, name_lookup, class_lookup, + &value_type, &value)) { + if (! strncasecmp("true", value.addr, value.size)) + screen->saveSloppyWindowGrouping(True); + else + screen->saveSloppyWindowGrouping(False); + } else + screen->saveSloppyWindowGrouping(False); }