summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorJim Ramsay <lack@gentoo.org>2007-06-30 04:36:42 +0000
committerJim Ramsay <lack@gentoo.org>2007-06-30 04:36:42 +0000
commit078119905d8db1d52e8da2abe3e2c808d7789bcb (patch)
treec3fca4ab8b79b0f84e2710e02b7a53176ba2ea91 /x11-wm
parentAdding ~amd64 keyword (diff)
downloadgentoo-2-078119905d8db1d52e8da2abe3e2c808d7789bcb.tar.gz
gentoo-2-078119905d8db1d52e8da2abe3e2c808d7789bcb.tar.bz2
gentoo-2-078119905d8db1d52e8da2abe3e2c808d7789bcb.zip
New snapshot, fixes all previous bugs and bug 183704
(Portage version: 2.1.3_rc4)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/fluxbox/ChangeLog10
-rw-r--r--x11-wm/fluxbox/files/1.0_rc3_p4949/gentoo_style_location.patch17
-rw-r--r--x11-wm/fluxbox/files/1.0_rc3_p4949/svn_up_from_4937.patch1471
-rw-r--r--x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3_p49493
-rw-r--r--x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild4
-rw-r--r--x11-wm/fluxbox/fluxbox-1.0_rc3_p4949.ebuild144
6 files changed, 1646 insertions, 3 deletions
diff --git a/x11-wm/fluxbox/ChangeLog b/x11-wm/fluxbox/ChangeLog
index 871dd3cb1eed..e9103e81eff1 100644
--- a/x11-wm/fluxbox/ChangeLog
+++ b/x11-wm/fluxbox/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-wm/fluxbox
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/ChangeLog,v 1.221 2007/06/29 17:39:26 lack Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/ChangeLog,v 1.222 2007/06/30 04:36:42 lack Exp $
+
+*fluxbox-1.0_rc3_p4949 (30 Jun 2007)
+
+ 30 Jun 2007; Jim Ramsay <lack@gentoo.org>
+ +files/1.0_rc3_p4949/gentoo_style_location.patch,
+ +files/1.0_rc3_p4949/svn_up_from_4937.patch, fluxbox-1.0_rc3-r2.ebuild,
+ +fluxbox-1.0_rc3_p4949.ebuild:
+ New snapshot, fixes all previous bugs and bug 183704
*fluxbox-1.0_rc3_p4944 (29 Jun 2007)
diff --git a/x11-wm/fluxbox/files/1.0_rc3_p4949/gentoo_style_location.patch b/x11-wm/fluxbox/files/1.0_rc3_p4949/gentoo_style_location.patch
new file mode 100644
index 000000000000..40f5cd50c5c4
--- /dev/null
+++ b/x11-wm/fluxbox/files/1.0_rc3_p4949/gentoo_style_location.patch
@@ -0,0 +1,17 @@
+--- util/fluxbox-generate_menu.in 2006-06-10 19:04:11.000000000 +0200
++++ util/fluxbox-generate_menu.in.new 2006-06-14 14:39:04.000000000 +0200
+@@ -1735,12 +1735,8 @@
+ append_submenu "${FBSETTINGSMENU}"
+ append "[config] (${CONFIGUREMENU})"
+
+- append_menu "[submenu] (${SYSTEMSTYLES}) {${STYLEMENUTITLE}}"
+- append "[stylesdir] (${PREFIX}/share/fluxbox/styles)"
+- append_menu_end
+-
+- append_menu "[submenu] (${USERSTYLES}) {${STYLEMENUTITLE}}"
+- append "[stylesdir] (~/.fluxbox/styles)"
++ append_submenu "Styles"
++ append "[include] (/usr/share/fluxbox/menu.d/styles/)"
+ append_menu_end
+
+ # Backgroundmenu
diff --git a/x11-wm/fluxbox/files/1.0_rc3_p4949/svn_up_from_4937.patch b/x11-wm/fluxbox/files/1.0_rc3_p4949/svn_up_from_4937.patch
new file mode 100644
index 000000000000..5337f6b9f189
--- /dev/null
+++ b/x11-wm/fluxbox/files/1.0_rc3_p4949/svn_up_from_4937.patch
@@ -0,0 +1,1471 @@
+diff -ru fluxbox-1.0rc3-svn-4937/ChangeLog fluxbox-1.0rc3-svn-4949/ChangeLog
+--- fluxbox-1.0rc3-svn-4937/ChangeLog 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/ChangeLog 2007-06-29 22:15:55.000000000 -0600
+@@ -1,5 +1,21 @@
+ (Format: Year/Month/Day)
+ Changes for 1.0.0:
++*07/06/30:
++ * Fixed the groups file, even though it's deprecated (Mark)
++ Workspace.cc Screen.cc
++ * Fix _NET_WM_STATE_DEMANDS_ATTENTION with tabbed windows, #1732392 (Mark)
++ Ewmh.cc/hh
++*07/06/29:
++ * Updates for compiling with gcc 4.3 (thanks Dmitry E. Oboukhov)
++*07/06/28:
++ * Strip off additional bits in event state set by Xorg, bug #1736252 (Mark)
++ FbTk/KeyUtil.hh
++ * Added some missing Open Office entries and window managers, plus some other
++ minor changes in fluxbox-generate_menu
++ fluxbox-generate_menu.in
++*07/06/16:
++ * Fixed compile error with --disable-remember (Mark)
++ Window.cc/hh Remember.cc/hh
+ *07/06/09:
+ * Minor change to the /bin/sh - solution (Mathias)
+ we are using now just $SHELL -c <line_here>
+diff -ru fluxbox-1.0rc3-svn-4937/config.guess fluxbox-1.0rc3-svn-4949/config.guess
+--- fluxbox-1.0rc3-svn-4937/config.guess 2006-08-30 09:55:45.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/config.guess 2007-02-20 20:38:59.000000000 -0600
+@@ -4,7 +4,7 @@
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+ # Inc.
+
+-timestamp='2006-07-02'
++timestamp='2007-01-15'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -178,6 +178,7 @@
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
++ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+@@ -797,7 +798,7 @@
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+- i*:MINGW*:*)
++ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+@@ -810,7 +811,7 @@
+ x86:Interix*:[3456]*)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+- EM64T:Interix*:[3456]*)
++ EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+@@ -967,6 +968,9 @@
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-${LIBC}
+ exit ;;
++ xtensa:Linux:*:*)
++ echo xtensa-unknown-linux-${LIBC}
++ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+@@ -1227,6 +1231,15 @@
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
++ SX-7:SUPER-UX:*:*)
++ echo sx7-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8:SUPER-UX:*:*)
++ echo sx8-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8R:SUPER-UX:*:*)
++ echo sx8r-nec-superux${UNAME_RELEASE}
++ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+diff -ru fluxbox-1.0rc3-svn-4937/config.h.in fluxbox-1.0rc3-svn-4949/config.h.in
+--- fluxbox-1.0rc3-svn-4937/config.h.in 2007-02-10 16:49:59.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/config.h.in 2007-06-29 22:23:35.000000000 -0600
+@@ -48,9 +48,6 @@
+ /* Define to 1 if you have the <dirent.h> header file. */
+ #undef HAVE_DIRENT_H
+
+-/* Define to 1 if you have the <dlfcn.h> header file. */
+-#undef HAVE_DLFCN_H
+-
+ /* Define to 1 if you have the <errno.h> header file. */
+ #undef HAVE_ERRNO_H
+
+diff -ru fluxbox-1.0rc3-svn-4937/config.sub fluxbox-1.0rc3-svn-4949/config.sub
+--- fluxbox-1.0rc3-svn-4937/config.sub 2006-08-30 09:55:45.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/config.sub 2007-02-20 20:38:59.000000000 -0600
+@@ -4,7 +4,7 @@
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+ # Inc.
+
+-timestamp='2006-07-02'
++timestamp='2007-01-18'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -245,12 +245,12 @@
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx | dvp \
+- | fr30 | frv \
++ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+- | maxq | mb | microblaze | mcore \
++ | maxq | mb | microblaze | mcore | mep \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+@@ -276,6 +276,7 @@
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
++ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+@@ -284,7 +285,7 @@
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+- | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
++ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+@@ -323,7 +324,7 @@
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
++ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+@@ -367,7 +368,7 @@
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+- | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
++ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
+ | ymp-* \
+ | z8k-*)
+@@ -927,6 +928,10 @@
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
++ sde)
++ basic_machine=mipsisa32-sde
++ os=-elf
++ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+@@ -938,6 +943,9 @@
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
++ sh5el)
++ basic_machine=sh5le-unknown
++ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+@@ -1232,7 +1240,7 @@
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+- | -skyos* | -haiku* | -rdos* | -toppers* | -irx*)
++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+@@ -1384,6 +1392,9 @@
+ # system, and we'll never get to this point.
+
+ case $basic_machine in
++ score-*)
++ os=-elf
++ ;;
+ spu-*)
+ os=-elf
+ ;;
+@@ -1424,6 +1435,9 @@
+ m68*-cisco)
+ os=-aout
+ ;;
++ mep-*)
++ os=-elf
++ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+Only in fluxbox-1.0rc3-svn-4949: .cvsignore
+diff -ru fluxbox-1.0rc3-svn-4937/data/README.style fluxbox-1.0rc3-svn-4949/data/README.style
+--- fluxbox-1.0rc3-svn-4937/data/README.style 2007-02-10 16:48:38.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/data/README.style 2007-06-29 06:58:38.000000000 -0600
+@@ -315,7 +315,7 @@
+ menuFont: lucidasans-10
+ titleFont: lucidasans-bold-10
+
+-rootCommand: bsetroot -mod 4 4 -fg rgb:6/6/5c -bg grey20
++rootCommand: fbsetroot -mod 4 4 -fg rgb:6/6/5c -bg grey20
+ ...
+
+ Alright! Our style is finished. Let's see how the sucker looks. First we
+Only in fluxbox-1.0rc3-svn-4949/data/styles/BlueFlux/pixmaps: .cvsignore
+Only in fluxbox-1.0rc3-svn-4949/data/styles/Emerge/pixmaps: .cvsignore
+Only in fluxbox-1.0rc3-svn-4937: libtool
+diff -ru fluxbox-1.0rc3-svn-4937/ltmain.sh fluxbox-1.0rc3-svn-4949/ltmain.sh
+--- fluxbox-1.0rc3-svn-4937/ltmain.sh 2006-09-01 07:14:37.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/ltmain.sh 2007-02-20 21:43:05.000000000 -0600
+@@ -1,8 +1,8 @@
+ # ltmain.sh - Provide generalized library-building support services.
+ # NOTE: Changing this file will not affect anything until you rerun configure.
+ #
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+-# Free Software Foundation, Inc.
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
++# 2007 Free Software Foundation, Inc.
+ # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -33,9 +33,6 @@
+ # function.
+ progpath="$0"
+
+-# define SED for historic ltconfig's generated by Libtool 1.3
+-test -z "$SED" && SED=sed
+-
+ # The name of this program:
+ progname=`echo "$progpath" | $SED $basename`
+ modename="$progname"
+@@ -46,21 +43,22 @@
+
+ PROGRAM=ltmain.sh
+ PACKAGE=libtool
+-VERSION=1.5.22
+-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
++VERSION=1.5.23b
++TIMESTAMP=" (1.1220.2.437 2007/02/17 09:08:45)"
+
+-# See if we are running on zsh, and set the options which allow our
+-# commands through without removal of \ escapes.
+-if test -n "${ZSH_VERSION+set}" ; then
++# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ fi
+-# Same for EGREP, and just to be sure, do LTCC as well
+-if test "X$EGREP" = X ; then
+- EGREP=egrep
+-fi
+-if test "X$LTCC" = X ; then
+- LTCC=${CC-gcc}
+-fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
+
+ # Check that we have a working $echo.
+ if test "X$1" = X--no-reexec; then
+@@ -115,12 +113,14 @@
+ # These must not be set unconditionally because not all systems understand
+ # e.g. LANG=C (notably SCO).
+ # We save the old values to restore during execute mode.
+-if test "${LC_ALL+set}" = set; then
+- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+-fi
+-if test "${LANG+set}" = set; then
+- save_LANG="$LANG"; LANG=C; export LANG
+-fi
++for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++do
++ eval "if test \"\${$lt_var+set}\" = set; then
++ save_$lt_var=\$$lt_var
++ $lt_var=C
++ export $lt_var
++ fi"
++done
+
+ # Make sure IFS has a sensible default
+ lt_nl='
+@@ -146,30 +146,8 @@
+ preserve_args=
+ lo2o="s/\\.lo\$/.${objext}/"
+ o2lo="s/\\.${objext}\$/.lo/"
+-
+-if test -z "$max_cmd_len"; then
+- i=0
+- testring="ABCD"
+- new_result=
+-
+- # If test is not a shell built-in, we'll probably end up computing a
+- # maximum length that is only half of the actual maximum length, but
+- # we can't tell.
+- while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
+- = "XX$testring") >/dev/null 2>&1 &&
+- new_result=`expr "X$testring" : ".*" 2>&1` &&
+- max_cmd_len="$new_result" &&
+- test "$i" != 17 # 1/2 MB should be enough
+- do
+- i=`expr $i + 1`
+- testring="$testring$testring"
+- done
+- testring=
+- # Add a significant safety factor because C++ compilers can tack on massive
+- # amounts of additional arguments before passing them to the linker.
+- # It appears as though 1/2 is a usable value.
+- max_cmd_len=`expr $max_cmd_len \/ 2`
+-fi
++extracted_archives=
++extracted_serial=0
+
+ #####################################
+ # Shell function definitions:
+@@ -230,7 +208,13 @@
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 | \
+- $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
++ $SED -n -e '1,100{
++ / I /{
++ s,.*,import,
++ p
++ q
++ }
++ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+@@ -375,7 +359,17 @@
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+- my_xdir="$my_gentop/$my_xlib"
++ my_xlib_u=$my_xlib
++ while :; do
++ case " $extracted_archives " in
++ *" $my_xlib_u "*)
++ extracted_serial=`expr $extracted_serial + 1`
++ my_xlib_u=lt$extracted_serial-$my_xlib ;;
++ *) break ;;
++ esac
++ done
++ extracted_archives="$extracted_archives $my_xlib_u"
++ my_xdir="$my_gentop/$my_xlib_u"
+
+ $show "${rm}r $my_xdir"
+ $run ${rm}r "$my_xdir"
+@@ -502,11 +496,12 @@
+ ;;
+
+ --version)
+- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+- $echo
+- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
+- $echo "This is free software; see the source for copying conditions. There is NO"
+- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++ echo "\
++$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
++
++Copyright (C) 2007 Free Software Foundation, Inc.
++This is free software; see the source for copying conditions. There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ exit $?
+ ;;
+
+@@ -803,9 +798,10 @@
+ *.class) xform=class ;;
+ *.cpp) xform=cpp ;;
+ *.cxx) xform=cxx ;;
+- *.f90) xform=f90 ;;
++ *.[fF][09]?) xform=[fF][09]. ;;
+ *.for) xform=for ;;
+ *.java) xform=java ;;
++ *.obj) xform=obj ;;
+ esac
+
+ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+@@ -1186,8 +1182,9 @@
+ for arg
+ do
+ case $arg in
+- -all-static | -static)
+- if test "X$arg" = "X-all-static"; then
++ -all-static | -static | -static-libtool-libs)
++ case $arg in
++ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ fi
+@@ -1195,12 +1192,20 @@
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+- else
++ ;;
++ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+- fi
++ ;;
++ -static-libtool-libs)
++ if test -z "$pic_flag" && test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ prefer_static_libs=yes
++ ;;
++ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+@@ -1648,7 +1653,7 @@
+ continue
+ ;;
+
+- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ compiler_flags="$compiler_flags $arg"
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+@@ -1668,10 +1673,11 @@
+ # -m* pass through architecture-specific compiler args for GCC
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+- # -pg pass through profiling flag for GCC
++ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
++ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # @file GCC response files
+- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
+- -t[45]*|-txscale*|@*)
++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+@@ -1760,7 +1766,7 @@
+ continue
+ ;;
+
+- -static)
++ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+@@ -2142,7 +2148,7 @@
+ lib=
+ found=no
+ case $deplib in
+- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
++ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+@@ -2538,7 +2544,9 @@
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
++ { { test "$prefer_static_libs" = no ||
++ test "$prefer_static_libs,$installed" = "built,yes"; } ||
++ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+@@ -3234,7 +3242,7 @@
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+- darwin|linux|osf|windows)
++ darwin|linux|osf|windows|none)
+ current=`expr $number_major + $number_minor`
+ age="$number_minor"
+ revision="$number_revision"
+@@ -3458,11 +3466,11 @@
+ fi
+
+ # Eliminate all temporary directories.
+- for path in $notinst_path; do
+- lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+- deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+- dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+- done
++ #for path in $notinst_path; do
++ # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
++ # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
++ # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
++ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+@@ -3563,13 +3571,12 @@
+ int main() { return 0; }
+ EOF
+ $rm conftest
+- $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
+- if test "$?" -eq 0 ; then
++ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ name=`expr $i : '-l\(.*\)'`
+ # If $name is empty we are operating on a -L argument.
+- if test "$name" != "" && test "$name" -ne "0"; then
++ if test "$name" != "" && test "$name" != "0"; then
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+@@ -3608,9 +3615,7 @@
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" && test "$name" != "0"; then
+ $rm conftest
+- $LTCC $LTCFLAGS -o conftest conftest.c $i
+- # Did it work?
+- if test "$?" -eq 0 ; then
++ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+@@ -3642,7 +3647,7 @@
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning! Library $i is needed by this library but I was not able to"
+- $echo "*** make it link in! You will probably need to install it or some"
++ $echo "*** make it link in! You will probably need to install it or some"
+ $echo "*** library that it depends on before this library will be fully"
+ $echo "*** functional. Installing it before continuing would be even better."
+ fi
+@@ -3690,13 +3695,6 @@
+ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+- # It is ok to link against an archive when
+- # building a shared library.
+- if $AR -t $potlib > /dev/null 2>&1; then
+- newdeplibs="$newdeplibs $a_deplib"
+- a_deplib=""
+- break 2
+- fi
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+ | ${SED} 10q \
+ | $EGREP "$file_magic_regex" > /dev/null; then
+@@ -3935,7 +3933,10 @@
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
++ case $archive_cmds in
++ *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
++ *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
++ esac
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+@@ -4294,12 +4295,14 @@
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+- # -Wl from whole_archive_flag_spec
++ # -Wl from whole_archive_flag_spec and hope we can get by with
++ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
++ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
++ reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ generated="$generated $gentop"
+@@ -4747,16 +4750,16 @@
+ case $host in
+ *cygwin* | *mingw* )
+ if test -f "$output_objdir/${outputname}.def" ; then
+- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
++ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ else
+- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
++ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ fi
+ ;;
+ * )
+- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
++ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ ;;
+ esac
+ ;;
+@@ -4771,13 +4774,13 @@
+ # really was required.
+
+ # Nullify the symbol file.
+- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
++ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ fi
+
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ # Replace the output file specification.
+- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+@@ -4864,7 +4867,7 @@
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
++ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
+ else
+ # fast_install is set to needless
+ relink_command=
+@@ -4901,7 +4904,7 @@
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
++ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ fi
+
+ # Quote $echo for shipping.
+@@ -5308,6 +5311,20 @@
+ Xsed='${SED} -e 1s/^X//'
+ sed_quote_subst='$sed_quote_subst'
+
++# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
++if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '\${1+\"\$@\"}'='\"\$@\"'
++ setopt NO_GLOB_SUBST
++else
++ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
++fi
++BIN_SH=xpg4; export BIN_SH # for Tru64
++DUALCASE=1; export DUALCASE # for MKS sh
++
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+@@ -5455,7 +5472,7 @@
+ ;;
+ esac
+ $echo >> $output "\
+- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
++ \$echo \"\$0: cannot exec \$program \$*\"
+ exit $EXIT_FAILURE
+ fi
+ else
+@@ -5641,7 +5658,7 @@
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
++ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+@@ -6034,9 +6051,9 @@
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
++ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
+ else
+- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
++ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
+ fi
+
+ $echo "$modename: warning: relinking \`$file'" 1>&2
+@@ -6245,7 +6262,7 @@
+ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
++ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
+
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+@@ -6456,8 +6473,10 @@
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+- exit $EXIT_FAILURE
++ if test ! -f "$dir/$dlname"; then
++ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
++ exit $EXIT_FAILURE
++ fi
+ fi
+ ;;
+
+@@ -6521,12 +6540,14 @@
+ fi
+
+ # Restore saved environment variables
+- if test "${save_LC_ALL+set}" = set; then
+- LC_ALL="$save_LC_ALL"; export LC_ALL
+- fi
+- if test "${save_LANG+set}" = set; then
+- LANG="$save_LANG"; export LANG
+- fi
++ for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
++ do
++ eval "if test \"\${save_$lt_var+set}\" = set; then
++ $lt_var=\$save_$lt_var; export $lt_var
++ else
++ $lt_unset $lt_var
++ fi"
++ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+@@ -6883,9 +6904,9 @@
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+- try to export only the symbols listed in SYMFILE
++ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+- try to export only the symbols matching REGEX
++ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+@@ -6899,9 +6920,11 @@
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+- -static do not do any dynamic linking of libtool libraries
++ -static do not do any dynamic linking of uninstalled libtool libraries
++ -static-libtool-libs
++ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+- specify library version info [each variable defaults to 0]
++ specify library version info [each variable defaults to 0]
+
+ All other options (arguments beginning with \`-') are ignored.
+
+Only in fluxbox-1.0rc3-svn-4937/src: defaults.cc
+diff -ru fluxbox-1.0rc3-svn-4937/src/Ewmh.cc fluxbox-1.0rc3-svn-4949/src/Ewmh.cc
+--- fluxbox-1.0rc3-svn-4937/src/Ewmh.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Ewmh.cc 2007-06-29 19:28:54.000000000 -0600
+@@ -42,6 +42,11 @@
+ #include <iostream>
+ #include <algorithm>
+ #include <new>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+@@ -724,11 +729,11 @@
+ // ce.data.l[1] = the first property to alter
+ // ce.data.l[2] = second property to alter (can be zero)
+ if (ce.data.l[0] == STATE_REMOVE) {
+- setState(win, ce.data.l[1], false);
+- setState(win, ce.data.l[2], false);
++ setState(win, ce.data.l[1], false, *winclient);
++ setState(win, ce.data.l[2], false, *winclient);
+ } else if (ce.data.l[0] == STATE_ADD) {
+- setState(win, ce.data.l[1], true);
+- setState(win, ce.data.l[2], true);
++ setState(win, ce.data.l[1], true, *winclient);
++ setState(win, ce.data.l[2], true, *winclient);
+ } else if (ce.data.l[0] == STATE_TOGGLE) {
+ toggleState(win, ce.data.l[1]);
+ toggleState(win, ce.data.l[2]);
+@@ -1026,8 +1031,15 @@
+ utf8_string = XInternAtom(disp, "UTF8_STRING", False);
+ }
+
+-// set window state
++// wrapper for avoiding changing every AtomHandler to include an unnecessary
++// parameter, although we need it for _NET_WM_STATE_DEMANDS_ATTENTION
+ void Ewmh::setState(FluxboxWindow &win, Atom state, bool value) {
++ setState(win, state, value, win.winClient());
++}
++
++// set window state
++void Ewmh::setState(FluxboxWindow &win, Atom state, bool value,
++ WinClient &client) {
+ if (state == m_net_wm_state_sticky) { // STICKY
+ if (value && !win.isStuck() ||
+ (!value && win.isStuck()))
+@@ -1067,10 +1079,10 @@
+ win.moveToLayer(Layer::NORMAL);
+ } else if (state == m_net_wm_state_demands_attention) {
+ if (value) { // if add attention
+- Fluxbox::instance()->attentionHandler().addAttention(win.winClient());
++ Fluxbox::instance()->attentionHandler().addAttention(client);
+ } else { // erase it
+ Fluxbox::instance()->attentionHandler().
+- update(&win.winClient().focusSig());
++ update(&client.focusSig());
+ }
+ }
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/Ewmh.hh fluxbox-1.0rc3-svn-4949/src/Ewmh.hh
+--- fluxbox-1.0rc3-svn-4937/src/Ewmh.hh 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Ewmh.hh 2007-06-29 19:28:54.000000000 -0600
+@@ -67,6 +67,8 @@
+ enum { STATE_REMOVE = 0, STATE_ADD = 1, STATE_TOGGLE = 2};
+
+ void setState(FluxboxWindow &win, Atom state, bool value);
++ void setState(FluxboxWindow &win, Atom state, bool value,
++ WinClient &client);
+ void toggleState(FluxboxWindow &win, Atom state);
+ void createAtoms();
+ void updateStrut(WinClient &winclient);
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbCommands.cc fluxbox-1.0rc3-svn-4949/src/FbCommands.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbCommands.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbCommands.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -45,6 +45,11 @@
+ #else
+ #include <stdlib.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+
+ #ifdef HAVE_CONFIG_H
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/FbPixmap.cc fluxbox-1.0rc3-svn-4949/src/FbTk/FbPixmap.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/FbPixmap.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/FbPixmap.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -30,6 +30,11 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+ #include <iostream>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/FbString.cc fluxbox-1.0rc3-svn-4949/src/FbTk/FbString.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/FbString.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/FbString.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -27,6 +27,16 @@
+ #else
+ #include <errno.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
++#ifdef HAVE_CSTDLIB
++ #include <cstdlib>
++#else
++ #include <stdlib.h>
++#endif
+
+ #include "FbString.hh"
+ #include "config.h"
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/KeyUtil.cc fluxbox-1.0rc3-svn-4949/src/FbTk/KeyUtil.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/KeyUtil.cc 2007-05-05 13:05:14.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/KeyUtil.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -15,8 +15,13 @@
+
+ #include "KeyUtil.hh"
+ #include "App.hh"
+
+ #include <string>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ namespace {
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/KeyUtil.hh fluxbox-1.0rc3-svn-4949/src/FbTk/KeyUtil.hh
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/KeyUtil.hh 2007-05-05 13:05:14.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/KeyUtil.hh 2007-06-28 16:25:35.000000000 -0600
+@@ -69,8 +69,9 @@
+ @return the cleaned state number
+ */
+ unsigned int cleanMods(unsigned int mods) {
+- //remove numlock, capslock and scrolllock
+- return mods & ~(capslock() | numlock() | scrolllock());
++ // remove numlock, capslock, and scrolllock
++ // and anything beyond Button5Mask
++ return mods & ~(capslock() | numlock() | scrolllock()) & ((1<<13) - 1);
+ }
+
+ /**
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/Menu.cc fluxbox-1.0rc3-svn-4949/src/FbTk/Menu.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/Menu.cc 2007-05-05 13:05:14.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/Menu.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -67,6 +67,9 @@
+ #endif
+ #include <typeinfo>
+
++#include <algorithm>
++
++
+ #ifdef DEBUG
+ #include <iostream>
+ using std::cout;
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/StringUtil.cc fluxbox-1.0rc3-svn-4949/src/FbTk/StringUtil.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/StringUtil.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/StringUtil.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -44,6 +44,11 @@
+ #else
+ #include <assert.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+
+ #include <memory>
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/TextBox.cc fluxbox-1.0rc3-svn-4949/src/FbTk/TextBox.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/TextBox.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/TextBox.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -32,6 +32,16 @@
+ #else
+ #include <ctype.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
++#ifdef HAVE_CSTDLIB
++ #include <cstdlib>
++#else
++ #include <stdlib.h>
++#endif
+ #include <X11/keysym.h>
+ #include <X11/Xutil.h>
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/TextureRender.cc fluxbox-1.0rc3-svn-4949/src/FbTk/TextureRender.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/TextureRender.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/TextureRender.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -39,6 +39,11 @@
+ #else
+ #include <stdio.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ // mipspro has no new(nothrow)
+ #if defined sgi && ! defined GCC
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/ThemeItems.cc fluxbox-1.0rc3-svn-4949/src/FbTk/ThemeItems.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/ThemeItems.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/ThemeItems.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -45,6 +45,16 @@
+ #else
+ #include <stdio.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
++#ifdef HAVE_CSTDLIB
++ #include <cstdlib>
++#else
++ #include <stdlib.h>
++#endif
+
+ #include <iostream>
+ #include <memory>
+diff -ru fluxbox-1.0rc3-svn-4937/src/FbTk/XFontImp.cc fluxbox-1.0rc3-svn-4949/src/FbTk/XFontImp.cc
+--- fluxbox-1.0rc3-svn-4937/src/FbTk/XFontImp.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FbTk/XFontImp.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -36,6 +36,14 @@
+ #else
+ #include <stdio.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
++
++#include <algorithm>
++
+
+ using std::cerr;
+ using std::endl;
+diff -ru fluxbox-1.0rc3-svn-4937/src/FocusControl.cc fluxbox-1.0rc3-svn-4949/src/FocusControl.cc
+--- fluxbox-1.0rc3-svn-4937/src/FocusControl.cc 2007-05-05 13:05:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/FocusControl.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -34,6 +34,11 @@
+
+ #include <string>
+ #include <iostream>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+diff -ru fluxbox-1.0rc3-svn-4937/src/Gnome.cc fluxbox-1.0rc3-svn-4949/src/Gnome.cc
+--- fluxbox-1.0rc3-svn-4937/src/Gnome.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Gnome.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -33,6 +33,11 @@
+
+ #include <iostream>
+ #include <new>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+diff -ru fluxbox-1.0rc3-svn-4937/src/IconbarTool.cc fluxbox-1.0rc3-svn-4949/src/IconbarTool.cc
+--- fluxbox-1.0rc3-svn-4937/src/IconbarTool.cc 2007-05-05 13:05:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/IconbarTool.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -49,6 +49,11 @@
+ #include <typeinfo>
+ #include <string>
+ #include <iterator>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+ using std::list;
+diff -ru fluxbox-1.0rc3-svn-4937/src/Remember.cc fluxbox-1.0rc3-svn-4949/src/Remember.cc
+--- fluxbox-1.0rc3-svn-4937/src/Remember.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Remember.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -44,6 +44,11 @@
+
+
+ #include <X11/Xlib.h>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ //use GNU extensions
+ #ifndef _GNU_SOURCE
+@@ -290,32 +295,6 @@
+ s_instance = 0;
+ }
+
+-int Remember::getDecoFromString(const string &str_label) {
+- if (strcasecmp(str_label.c_str(), "NONE") == 0)
+- return 0;
+- if (strcasecmp(str_label.c_str(), "NORMAL") == 0)
+- return FluxboxWindow::DECORM_LAST - 1;
+- if (strcasecmp(str_label.c_str(), "TINY") == 0)
+- return FluxboxWindow::DECORM_TITLEBAR
+- | FluxboxWindow::DECORM_ICONIFY
+- | FluxboxWindow::DECORM_MENU
+- | FluxboxWindow::DECORM_TAB;
+- if (strcasecmp(str_label.c_str(), "TOOL") == 0)
+- return FluxboxWindow::DECORM_TITLEBAR
+- | FluxboxWindow::DECORM_MENU;
+- if (strcasecmp(str_label.c_str(), "BORDER") == 0)
+- return FluxboxWindow::DECORM_BORDER
+- | FluxboxWindow::DECORM_MENU;
+- if (strcasecmp(str_label.c_str(), "TAB") == 0)
+- return FluxboxWindow::DECORM_BORDER
+- | FluxboxWindow::DECORM_MENU
+- | FluxboxWindow::DECORM_TAB;
+- unsigned int mask;
+- if (getuint(str_label.c_str(), mask))
+- return mask;
+- return -1;
+-}
+-
+ Application* Remember::find(WinClient &winclient) {
+ // if it is already associated with a application, return that one
+ // otherwise, check it against every pattern that we've got
+@@ -474,7 +453,7 @@
+ app.rememberIconHiddenstate((strcasecmp(str_label.c_str(), "yes") == 0));
+ app.rememberFocusHiddenstate((strcasecmp(str_label.c_str(), "yes") == 0));
+ } else if (strcasecmp(str_key.c_str(), "Deco") == 0) {
+- int deco = getDecoFromString(str_label);
++ int deco = FluxboxWindow::getDecoMaskFromString(str_label);
+ if (deco == -1)
+ had_error = 1;
+ else
+diff -ru fluxbox-1.0rc3-svn-4937/src/Remember.hh fluxbox-1.0rc3-svn-4949/src/Remember.hh
+--- fluxbox-1.0rc3-svn-4937/src/Remember.hh 2007-05-05 13:05:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Remember.hh 2007-06-16 16:50:09.000000000 -0600
+@@ -205,8 +205,6 @@
+ Remember();
+ ~Remember();
+
+- static int getDecoFromString(const std::string &str);
+-
+ Application* find(WinClient &winclient);
+ Application* add(WinClient &winclient);
+ FluxboxWindow* findGroup(Application *, BScreen &screen);
+diff -ru fluxbox-1.0rc3-svn-4937/src/Resources.cc fluxbox-1.0rc3-svn-4949/src/Resources.cc
+--- fluxbox-1.0rc3-svn-4937/src/Resources.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Resources.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -35,6 +35,11 @@
+ #include <stdio.h>
+ #include <string>
+ #include <vector>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+ using std::vector;
+diff -ru fluxbox-1.0rc3-svn-4937/src/RootTheme.cc fluxbox-1.0rc3-svn-4949/src/RootTheme.cc
+--- fluxbox-1.0rc3-svn-4937/src/RootTheme.cc 2007-05-05 13:05:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/RootTheme.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -41,6 +41,11 @@
+
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+diff -ru fluxbox-1.0rc3-svn-4937/src/Screen.cc fluxbox-1.0rc3-svn-4949/src/Screen.cc
+--- fluxbox-1.0rc3-svn-4937/src/Screen.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Screen.cc 2007-06-29 22:15:55.000000000 -0600
+@@ -135,6 +135,11 @@
+ #include <algorithm>
+ #include <functional>
+ #include <stack>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+@@ -1460,6 +1465,10 @@
+ delete win;
+ return 0;
+ }
++
++ Workspace *workspace = getWorkspace(win->workspaceNumber());
++ if (workspace && !Fluxbox::instance()->isStartup())
++ workspace->checkGrouping(*win);
+ }
+ }
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/ScreenPlacement.cc fluxbox-1.0rc3-svn-4949/src/ScreenPlacement.cc
+--- fluxbox-1.0rc3-svn-4937/src/ScreenPlacement.cc 2007-05-29 13:02:16.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/ScreenPlacement.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -34,6 +34,11 @@
+
+ #include <iostream>
+ #include <exception>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+ using std::cerr;
+ using std::endl;
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/ScreenResources.cc fluxbox-1.0rc3-svn-4949/src/ScreenResources.cc
+--- fluxbox-1.0rc3-svn-4937/src/ScreenResources.cc 2007-05-29 13:02:16.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/ScreenResources.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -27,6 +27,11 @@
+
+ #include "Screen.hh"
+ #include <string>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/Slit.cc fluxbox-1.0rc3-svn-4949/src/Slit.cc
+--- fluxbox-1.0rc3-svn-4937/src/Slit.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Slit.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -75,6 +75,11 @@
+
+ #include <iostream>
+ #include <algorithm>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+ using std::pair;
+diff -ru fluxbox-1.0rc3-svn-4937/src/WinClient.cc fluxbox-1.0rc3-svn-4949/src/WinClient.cc
+--- fluxbox-1.0rc3-svn-4937/src/WinClient.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/WinClient.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -43,6 +43,11 @@
+ #else
+ #include <assert.h>
+ #endif
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+ using std::list;
+diff -ru fluxbox-1.0rc3-svn-4937/src/Window.cc fluxbox-1.0rc3-svn-4949/src/Window.cc
+--- fluxbox-1.0rc3-svn-4937/src/Window.cc 2007-06-10 09:44:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Window.cc 2007-06-16 16:50:09.000000000 -0600
+@@ -388,7 +388,7 @@
+ m_blackbox_attrib.premax_w = m_blackbox_attrib.premax_h = 0;
+
+ // set default decorations but don't apply them
+- setDecorationMask(Remember::getDecoFromString(screen().defaultDeco()), false);
++ setDecorationMask(getDecoMaskFromString(screen().defaultDeco()), false);
+
+ functions.resize = functions.move = functions.iconify = functions.maximize
+ = functions.close = functions.tabable = true;
+@@ -4206,3 +4206,29 @@
+ evm.add(*this, client.window());
+ client.setFluxboxWindow(this);
+ }
++
++int FluxboxWindow::getDecoMaskFromString(const string &str_label) {
++ if (strcasecmp(str_label.c_str(), "NONE") == 0)
++ return 0;
++ if (strcasecmp(str_label.c_str(), "NORMAL") == 0)
++ return FluxboxWindow::DECORM_LAST - 1;
++ if (strcasecmp(str_label.c_str(), "TINY") == 0)
++ return FluxboxWindow::DECORM_TITLEBAR
++ | FluxboxWindow::DECORM_ICONIFY
++ | FluxboxWindow::DECORM_MENU
++ | FluxboxWindow::DECORM_TAB;
++ if (strcasecmp(str_label.c_str(), "TOOL") == 0)
++ return FluxboxWindow::DECORM_TITLEBAR
++ | FluxboxWindow::DECORM_MENU;
++ if (strcasecmp(str_label.c_str(), "BORDER") == 0)
++ return FluxboxWindow::DECORM_BORDER
++ | FluxboxWindow::DECORM_MENU;
++ if (strcasecmp(str_label.c_str(), "TAB") == 0)
++ return FluxboxWindow::DECORM_BORDER
++ | FluxboxWindow::DECORM_MENU
++ | FluxboxWindow::DECORM_TAB;
++ unsigned int mask = atoi(str_label.c_str());
++ if (mask)
++ return mask;
++ return -1;
++}
+diff -ru fluxbox-1.0rc3-svn-4937/src/Window.hh fluxbox-1.0rc3-svn-4949/src/Window.hh
+--- fluxbox-1.0rc3-svn-4937/src/Window.hh 2007-05-05 13:05:15.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Window.hh 2007-06-16 16:50:09.000000000 -0600
+@@ -399,6 +399,7 @@
+ int layerNum() const { return m_layernum; }
+ void setLayerNum(int layernum);
+
++ static int getDecoMaskFromString(const std::string &str);
+
+ unsigned int titlebarHeight() const;
+
+diff -ru fluxbox-1.0rc3-svn-4937/src/Workspace.cc fluxbox-1.0rc3-svn-4949/src/Workspace.cc
+--- fluxbox-1.0rc3-svn-4937/src/Workspace.cc 2007-06-01 15:06:34.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Workspace.cc 2007-06-29 22:15:55.000000000 -0600
+@@ -326,8 +326,10 @@
+ #ifdef DEBUG
+ cerr<<__FILE__<<"("<<__FUNCTION__<<"): window ("<<*wit<<") attaching window ("<<&win<<")"<<endl;
+ #endif // DEBUG
+- (*wit)->attachClient(win.winClient());
+- (*wit)->raise();
++ WinClient &client = win.winClient();
++ (*wit)->attachClient(client);
++ if (client.screen().focusControl().focusNew())
++ (*wit)->setCurrentClient(client);
+ return true; // grouping done
+
+ }
+diff -ru fluxbox-1.0rc3-svn-4937/src/Xutil.cc fluxbox-1.0rc3-svn-4949/src/Xutil.cc
+--- fluxbox-1.0rc3-svn-4937/src/Xutil.cc 2007-02-10 16:48:36.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/src/Xutil.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -32,6 +32,11 @@
+ #include <X11/Xatom.h>
+ #include <X11/Xlib.h>
+ #include <iostream>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
+
+ using std::string;
+
+diff -ru fluxbox-1.0rc3-svn-4937/util/fbrun/main.cc fluxbox-1.0rc3-svn-4949/util/fbrun/main.cc
+--- fluxbox-1.0rc3-svn-4937/util/fbrun/main.cc 2007-02-10 16:48:38.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/util/fbrun/main.cc 2007-06-29 11:25:24.000000000 -0600
+@@ -34,6 +34,16 @@
+
+ #include <string>
+ #include <iostream>
++#ifdef HAVE_CSTRING
++ #include <cstring>
++#else
++ #include <string.h>
++#endif
++#ifdef HAVE_CSTDLIB
++ #include <cstdlib>
++#else
++ #include <stdlib.h>
++#endif
+
+ using std::cerr;
+ using std::endl;
+diff -ru fluxbox-1.0rc3-svn-4937/util/fluxbox-generate_menu.in fluxbox-1.0rc3-svn-4949/util/fluxbox-generate_menu.in
+--- fluxbox-1.0rc3-svn-4937/util/fluxbox-generate_menu.in 2007-05-29 13:02:17.000000000 -0600
++++ fluxbox-1.0rc3-svn-4949/util/fluxbox-generate_menu.in 2007-06-28 14:59:04.000000000 -0600
+@@ -1318,6 +1318,7 @@
+ esac
+ }
+
++BACKUPOPTIONS=$@
+ # Get options.
+ while [ $# -gt 0 ]; do
+ case "$1" in
+@@ -1636,7 +1637,7 @@
+ normal_find xnmap nmapfe
+ append_menu_end
+
+- normal_find x3270
++ normal_find x3270 wpa_gui
+
+ append_menu_end
+
+@@ -1650,7 +1651,7 @@
+
+ append_submenu "${EDUCATIONMENU}"
+ normal_find celestia scilab geomview scigraphica oregano xcircuit electric \
+- pymol elem chemtool xdrawchem stellarium
++ pymol elem chemtool xdrawchem gperiodic stellarium
+ find_it drgeo append "[exec] (Dr. Geo) {drgeo}"
+ find_it R append "[exec] (R) {${DEFAULT_TERM} -e R --gui=gnome}"
+ cli_find maxima grace yacas octave gnuplot grass coq acl
+@@ -1704,26 +1705,29 @@
+ # older <=1.1.3 apparently have stuff like swriter, not sowriter
+ for ext in s so oo xoo; do
+ find_it ${ext}ffice2 && (
+- find_it ${ext}ffice2 append "[exec] (Open Office 2) {${ext}ffice2}"
+- find_it ${ext}base2 append "[exec] (OO Base 2) {${ext}base2}"
+- find_it ${ext}calc2 append "[exec] (OO Calc 2) {${ext}calc2}"
+- find_it ${ext}writer2 append "[exec] (OO Writer 2) {${ext}writer2}"
+- find_it ${ext}web2 append "[exec] (OO Web 2) {${ext}web2}"
+- find_it ${ext}html2 append "[exec] (OO HTML 2) {${ext}html2}"
+- find_it ${ext}impress2 append "[exec] (OO Impress 2) {${ext}impress2}"
+- find_it ${ext}draw2 append "[exec] (OO Draw 2) {${ext}draw2}"
+- find_it ${ext}math2 append "[exec] (OO Math 2) {${ext}math2}"
+- find_it ${ext}fromtemplate2 append "[exec] (OO Templates 2) {${ext}fromtemplate2}"
++ find_it ${ext}ffice2 append "[exec] (Open Office 2) {${ext}ffice2}"
++ find_it ${ext}base2 append "[exec] (OO Base 2) {${ext}base2}"
++ find_it ${ext}calc2 append "[exec] (OO Calc 2) {${ext}calc2}"
++ find_it ${ext}writer2 append "[exec] (OO Writer 2) {${ext}writer2}"
++ find_it ${ext}web2 append "[exec] (OO Web 2) {${ext}web2}"
++ find_it ${ext}html2 append "[exec] (OO HTML 2) {${ext}html2}"
++ find_it ${ext}impress2 append "[exec] (OO Impress 2) {${ext}impress2}"
++ find_it ${ext}draw2 append "[exec] (OO Draw 2) {${ext}draw2}"
++ find_it ${ext}math2 append "[exec] (OO Math 2) {${ext}math2}"
++ find_it ${ext}fromtemplate2 append "[exec] (OO Templates 2) {${ext}fromtemplate2}"
+ )
+ find_it ${ext}ffice && (
+- find_it ${ext}ffice append "[exec] (Open Office) {${ext}ffice}"
+- find_it ${ext}calc append "[exec] (OO Calc) {${ext}calc}"
+- find_it ${ext}writer append "[exec] (OO Writer) {${ext}writer}"
+- find_it ${ext}impress append "[exec] (OO Impress) {${ext}impress}"
+- find_it ${ext}draw append "[exec] (OO Draw) {${ext}draw}"
+- find_it ${ext}math append "[exec] (OO Math) {${ext}math}"
+- find_it ${ext}padmin append "[exec] (OO Printer Admin) {${ext}padmin}"
+- find_it mrproject append "[exec] (Mr.Project) {mrproject}"
++ find_it ${ext}ffice append "[exec] (Open Office) {${ext}ffice}"
++ find_it ${ext}base append "[exec] (OO Base) {${ext}base}"
++ find_it ${ext}calc append "[exec] (OO Calc) {${ext}calc}"
++ find_it ${ext}writer append "[exec] (OO Writer) {${ext}writer}"
++ find_it ${ext}web append "[exec] (OO Web) {${ext}web}"
++ find_it ${ext}impress append "[exec] (OO Impress) {${ext}impress}"
++ find_it ${ext}draw append "[exec] (OO Draw) {${ext}draw}"
++ find_it ${ext}math append "[exec] (OO Math) {${ext}math}"
++ find_it ${ext}fromtemplate append "[exec] (OO Templates) {${ext}fromtemplate}"
++ find_it ${ext}padmin append "[exec] (OO Printer Admin) {${ext}padmin}"
++ find_it mrproject append "[exec] (Mr.Project) {mrproject}"
+ )
+ done
+
+@@ -1845,7 +1849,7 @@
+
+ append "[workspaces] (${WORKSPACEMENU})"
+
+- append_submenu ${TOOLS}
++ append_submenu "${TOOLS}"
+ normal_find fluxconf fluxkeys fluxmenu
+ find_it fbpanel append "[exec] (Fluxbox panel) {fbpanel}"
+ # if gxmessage exitst use it; else use xmessage
+@@ -1858,12 +1862,12 @@
+ find_it ${LAUNCHER} append "[exec] (${RUNCOMMAND}) {${LAUNCHER} $FBRUNOPTIONS}"
+ find_it switch append "[exec] (gtk-theme-switch) {switch}"
+ find_it switch2 append "[exec] (gtk2-theme-switch) {switch2}"
+- find_it fluxbox-generate_menu append "[exec] (${REGENERATEMENU}) {fluxbox-generate_menu}"
++ find_it fluxbox-generate_menu append "[exec] (${REGENERATEMENU}) {fluxbox-generate_menu ${BACKUPOPTIONS}}"
+ append_menu_end
+
+- append_submenu ${WINDOWMANAGERS}
++ append_submenu "${WINDOWMANAGERS}"
+ #hard to properly maintain since there are so many exceptions to the rule.
+- for wm in icewm ion kde sawfish enlightenment fvwm openbox evilwm waimea xfce pekwm xfce4 fvwm2 blackbox ; do
++ for wm in mwm twm wmii beryl compiz metacity icewm ion kde sawfish enlightenment fvwm openbox evilwm waimea xfce pekwm xfce4 fvwm2 blackbox ; do
+ find_it start${wm} append "[restart] (${wm}) {start${wm}}" ||\
+ find_it ${wm} append "[restart] (${wm}) {${wm}}"
+ done
diff --git a/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3_p4949 b/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3_p4949
new file mode 100644
index 000000000000..1d8853f9559f
--- /dev/null
+++ b/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3_p4949
@@ -0,0 +1,3 @@
+MD5 e2d2ee9ceb3ab742e85c7da02715f4f1 fluxbox-1.0rc3-svn-4937.tar.bz2 864552
+RMD160 1559db3cae589b1bc576c0a5601c9fe5a008a90c fluxbox-1.0rc3-svn-4937.tar.bz2 864552
+SHA256 5b3cc757ec4f5638b2beab29068482f3abb57be0e077acdbc9be1ad720ef25d7 fluxbox-1.0rc3-svn-4937.tar.bz2 864552
diff --git a/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild b/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild
index 47057eb124d3..d03a68825588 100644
--- a/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild
+++ b/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild,v 1.2 2007/05/23 23:01:54 lack Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/fluxbox-1.0_rc3-r2.ebuild,v 1.3 2007/06/30 04:36:42 lack Exp $
inherit eutils
@@ -119,7 +119,7 @@ src_compile() {
ebegin "Creating a menu file (may take a while)"
mkdir -p "${T}/home/.fluxbox" || die "mkdir home failed"
MENUFILENAME="${S}/data/menu" MENUTITLE="Fluxbox ${PV}" \
- CHECKINIT="no. go away." HOME="${T}/home" \
+ CHECKINIT="no. go away." HOME="${T}/home" sh -x \
"${S}/util/fluxbox-generate_menu" -is -ds \
|| die "menu generation failed"
eend $?
diff --git a/x11-wm/fluxbox/fluxbox-1.0_rc3_p4949.ebuild b/x11-wm/fluxbox/fluxbox-1.0_rc3_p4949.ebuild
new file mode 100644
index 000000000000..760b20dc2972
--- /dev/null
+++ b/x11-wm/fluxbox/fluxbox-1.0_rc3_p4949.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/fluxbox-1.0_rc3_p4949.ebuild,v 1.1 2007/06/30 04:36:42 lack Exp $
+
+inherit eutils
+
+IUSE="nls xinerama truetype kde gnome imlib disableslit disabletoolbar"
+
+DESCRIPTION="Fluxbox is an X11 window manager featuring tabs and an iconbar"
+MY_P="fluxbox-1.0rc3-svn-4937"
+
+S="${WORKDIR}/${MY_P}"
+#SRC_URI="mirror://sourceforge/fluxbox/${MY_P}.tar.bz2"
+SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
+HOMEPAGE="http://www.fluxbox.org"
+
+# Please note that USE="kde gnome" simply adds support for the respective
+# protocols, and does not depend on external libraries. They do, however,
+# make the binary a fair bit bigger, so we don't want to turn them on unless
+# the user actually wants them.
+
+RDEPEND="|| ( ( x11-libs/libXpm
+ x11-libs/libXrandr
+ xinerama? ( x11-libs/libXinerama )
+ x11-apps/xmessage
+ )
+ virtual/x11
+ )
+ virtual/xft
+ truetype? ( media-libs/freetype )
+ imlib? ( >=media-libs/imlib2-1.2.0 )
+ !<x11-themes/fluxbox-styles-fluxmod-20040809-r1"
+DEPEND="!<=x11-misc/fluxconf-0.9.9
+ >=sys-devel/autoconf-2.52
+ nls? ( sys-devel/gettext )
+ || ( ( x11-proto/xextproto
+ xinerama? ( x11-proto/xineramaproto )
+ )
+ virtual/x11
+ )
+ ${RDEPEND}"
+PROVIDE="virtual/blackbox"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+pkg_setup() {
+ if use imlib ; then
+ if ! built_with_use media-libs/imlib2 X ; then
+ eerror "To build fluxbox with imlib in USE, you need an X enabled"
+ eerror "media-libs/imlib2 . Either recompile imlib2 with the X"
+ eerror "USE flag turned on or disable the imlib USE flag for fluxbox."
+ die "USE=imlib requires imlib2 with USE=X"
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${PV}/svn_up_from_4937.patch" || die "Patch failed"
+
+ # We need to be able to include directories rather than just plain
+ # files in menu [include] items. This patch will allow us to do clever
+ # things with style ebuilds.
+ epatch "${FILESDIR}/${PV}/gentoo_style_location.patch" || die "Patch failed"
+
+ # Add in the Gentoo -r number to fluxbox -version output.
+ if [[ "${PR}" == "r0" ]] ; then
+ suffix="svn-4949-gentoo"
+ else
+ suffix="svn-4949-gentoo-${PR}"
+ fi
+ sed -i \
+ -e "s~\(__fluxbox_version .@VERSION@\)~\1-${suffix}~" \
+ version.h.in || die "version sed failed"
+
+ # Turn on aa by default if possible. Fluxbox fonts are really frickin'
+ # broken, we'll do what we can to make it less painful by default.
+ use truetype 1>/dev/null && \
+ echo "session.screen0.antialias: true" >> data/init.in
+
+ # Fix broken styles
+ ebegin "Fixing backgrounds..."
+ for style in "${S}/data/styles/"* ; do
+ [[ -f "${style}" ]] || continue
+ sed -i -e 's,\([^f]\)bsetroot,\1fbsetroot,' "${style}" \
+ || die "styles sed failed on ${style}"
+ done
+ eend 0
+}
+
+src_compile() {
+ export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig:/usr/lib/pkgconfig
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable xinerama) \
+ $(use_enable truetype xft) \
+ $(use_enable kde) \
+ $(use_enable gnome) \
+ $(use_enable imlib imlib2) \
+ $(use_enable !disableslit slit ) \
+ $(use_enable !disabletoolbar toolbar ) \
+ --sysconfdir=/etc/X11/${PN} \
+ --with-style=/usr/share/fluxbox/styles/Emerge \
+ ${myconf} || die "configure failed"
+
+ emake || die "make failed"
+
+ ebegin "Creating a menu file (may take a while)"
+ mkdir -p "${T}/home/.fluxbox" || die "mkdir home failed"
+ MENUFILENAME="${S}/data/menu" MENUTITLE="Fluxbox ${PV}" \
+ CHECKINIT="no. go away." HOME="${T}/home" \
+ "${S}/util/fluxbox-generate_menu" -is -ds \
+ || die "menu generation failed"
+ eend $?
+}
+
+src_install() {
+ dodir /usr/share/fluxbox
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc README* AUTHORS TODO* ChangeLog NEWS
+
+ dodir /usr/share/xsessions
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/${PN}.desktop"
+
+ dodir /etc/X11/Sessions
+ echo "/usr/bin/startfluxbox" > "${D}/etc/X11/Sessions/fluxbox"
+ fperms a+x /etc/X11/Sessions/fluxbox
+
+ dodir /usr/share/fluxbox/menu.d
+
+ # Styles menu framework
+ dodir /usr/share/fluxbox/menu.d/styles
+ insinto /usr/share/fluxbox/menu.d/styles
+ doins "${FILESDIR}/styles-menu-fluxbox" || die
+ doins "${FILESDIR}/styles-menu-commonbox" || die
+ doins "${FILESDIR}/styles-menu-user" || die
+}
+