diff --git a/Makefile.am b/Makefile.am
index 71bb22758cc6796c671269bbac1352765e3bf7c1..4f36a6493aa992e0066f5e2f58539d5207821ad4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@ noinst_DATA = example.xfwm4rc
 
 EXTRA_DIST = example.xfwm4rc.in example.gtkrc-2.0 xfwm4.spec.in
 
-SUBDIRS = po common src mcs-plugin defaults themes
+SUBDIRS = po src mcs-plugin defaults themes
 
 distclean-local:
 	rm -rf example.xfwm4rc xfwm4.spec *.cache
diff --git a/Makefile.in b/Makefile.in
index be11840bbff84a8502638dd3c90414799bcc8223..5cfcc4d1b6cee864691729d12f7fe7ce4efd98bf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -175,7 +175,7 @@ noinst_DATA = example.xfwm4rc
 
 EXTRA_DIST = example.xfwm4rc.in example.gtkrc-2.0 xfwm4.spec.in
 
-SUBDIRS = po common src mcs-plugin defaults themes
+SUBDIRS = po src mcs-plugin defaults themes
 
 ACLOCAL_AMFLAGS = -I m4
 subdir = .
@@ -216,7 +216,7 @@ $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 $(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
 	cd $(srcdir) && $(AUTOCONF)
 
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac m4/X11.m4 m4/debug.m4 m4/depends.m4 m4/i18n.m4 m4/rpath.m4
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac m4/debug.m4 m4/depends.m4 m4/i18n.m4 m4/rpath.m4 m4/X11.m4
 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 
 config.h: stamp-h1
diff --git a/aclocal.m4 b/aclocal.m4
index 62edc3b12ea9753b50d95a098248336723df5f27..756ed35615242ad5a3e9df9d888435307099165a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -848,33 +848,6 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 
 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
 
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
-  [
-    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
-    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
-  ]
-)
-
 
 # serial 46 AC_PROG_LIBTOOL
 AC_DEFUN([AC_PROG_LIBTOOL],
@@ -1918,8 +1891,6 @@ glib_DEFUN([GLIB_WITH_NLS],
 	    [CATOBJEXT=.mo
              DATADIRNAME=lib])
 	  INSTOBJEXT=.mo
-	else
-	  gt_cv_have_gettext=no
 	fi
       fi
     ])
@@ -2213,6 +2184,18 @@ AC_HELP_STRING([--disable-rpath], [Do not use -rpath (use with care!!)]),
   fi
 ])
 
+AC_DEFUN([BM_PKG_LDFLAGS], [
+  AC_REQUIRE([BM_RPATH_SUPPORT])
+  AC_MSG_CHECKING([which pkg-config LDFLAGS to use])
+  if test "x$LD_RPATH" == "x"; then
+    $1_LDFLAGS="-L\${libdir}"
+  else
+    $1_LDFLAGS="$LD_RPATH\${libdir} -L\${libdir}"
+  fi
+  AC_MSG_RESULT([$$1_LDFLAGS])
+  AC_SUBST($1_LDFLAGS)
+])
+
 dnl From Benedikt Meurer (benedikt.meurer@unix-ag.uni-siegen.de)
 dnl
 dnl
@@ -2313,13 +2296,13 @@ AC_HELP_STRING([--enable-debug[=yes|no|full]], [Build with debugging support])
 AC_HELP_STRING([--disable-debug], [Include no debugging support [default]]),
     [ac_cv_debug=$enableval], [ac_cv_debug=no])
   AC_MSG_CHECKING([whether to build with debugging support])
-  if test "x$ac_cv_debug" != "xno"; then
+  if test x$ac_cv_debug != xno; then
     AC_DEFINE(DEBUG, 1, Define for debugging support)
-    if test "x$ac_cv_debug" == "xfull"; then
-      CFLAGS="$CFLAGS -g3 -Wall -Werror"
+    if test x$ac_cv_debug == xfull; then
+      CFLAGS="$CFLAGS -g3 -Wall -Werror -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       AC_MSG_RESULT([full])
     else
-      CFLAGS="$CFLAGS -g -Wall -Werror"
+      CFLAGS="$CFLAGS -g -Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       AC_MSG_RESULT([yes])
     fi
   else
diff --git a/common/Makefile.am b/common/Makefile.am
deleted file mode 100644
index 764f724d9d8cce6080e357d078b32758db3fdbc8..0000000000000000000000000000000000000000
--- a/common/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-noinst_DATA = my_intl.h
-EXTRA_DIST = my_intl.h
diff --git a/common/Makefile.in b/common/Makefile.in
deleted file mode 100644
index 7ce932fa22caf261f54852f4d7796fb716e4a837..0000000000000000000000000000000000000000
--- a/common/Makefile.in
+++ /dev/null
@@ -1,325 +0,0 @@
-# Makefile.in generated by automake 1.7.2 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_triplet = @host@
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_REQUIRED_VERSION = @GLIB_REQUIRED_VERSION@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_LIBS = @GTK_LIBS@
-GTK_REQUIRED_VERSION = @GTK_REQUIRED_VERSION@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSTARTUP_NOTIFICATION_CFLAGS = @LIBSTARTUP_NOTIFICATION_CFLAGS@
-LIBSTARTUP_NOTIFICATION_LIBS = @LIBSTARTUP_NOTIFICATION_LIBS@
-LIBSTARTUP_NOTIFICATION_REQUIRED_VERSION = @LIBSTARTUP_NOTIFICATION_REQUIRED_VERSION@
-LIBTOOL = @LIBTOOL@
-LIBX11_CFLAGS = @LIBX11_CFLAGS@
-LIBX11_LDFLAGS = @LIBX11_LDFLAGS@
-LIBX11_LIBS = @LIBX11_LIBS@
-LIBXFCE4MCS_CLIENT_CFLAGS = @LIBXFCE4MCS_CLIENT_CFLAGS@
-LIBXFCE4MCS_CLIENT_LIBS = @LIBXFCE4MCS_CLIENT_LIBS@
-LIBXFCE4MCS_CLIENT_REQUIRED_VERSION = @LIBXFCE4MCS_CLIENT_REQUIRED_VERSION@
-LIBXFCE4MCS_MANAGER_CFLAGS = @LIBXFCE4MCS_MANAGER_CFLAGS@
-LIBXFCE4MCS_MANAGER_LIBS = @LIBXFCE4MCS_MANAGER_LIBS@
-LIBXFCE4MCS_MANAGER_REQUIRED_VERSION = @LIBXFCE4MCS_MANAGER_REQUIRED_VERSION@
-LIBXFCE4UTIL_CFLAGS = @LIBXFCE4UTIL_CFLAGS@
-LIBXFCE4UTIL_LIBS = @LIBXFCE4UTIL_LIBS@
-LIBXFCE4UTIL_REQUIRED_VERSION = @LIBXFCE4UTIL_REQUIRED_VERSION@
-LIBXFCEGUI4_CFLAGS = @LIBXFCEGUI4_CFLAGS@
-LIBXFCEGUI4_LIBS = @LIBXFCEGUI4_LIBS@
-LIBXFCEGUI4_REQUIRED_VERSION = @LIBXFCEGUI4_REQUIRED_VERSION@
-LIBXPM_CFLAGS = @LIBXPM_CFLAGS@
-LIBXPM_LDFLAGS = @LIBXPM_LDFLAGS@
-LIBXPM_LIBS = @LIBXPM_LIBS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-XFCE_MCS_MANAGER_CFLAGS = @XFCE_MCS_MANAGER_CFLAGS@
-XFCE_MCS_MANAGER_LIBS = @XFCE_MCS_MANAGER_LIBS@
-XFCE_MCS_MANAGER_REQUIRED_VERSION = @XFCE_MCS_MANAGER_REQUIRED_VERSION@
-XGETTEXT = @XGETTEXT@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__include = @am__include@
-am__quote = @am__quote@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-noinst_DATA = my_intl.h
-EXTRA_DIST = my_intl.h
-subdir = common
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-DIST_SOURCES =
-DATA = $(noinst_DATA)
-
-DIST_COMMON = Makefile.am Makefile.in
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  common/Makefile
-Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-	list='$(DISTFILES)'; for file in $$list; do \
-	  case $$file in \
-	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-	  esac; \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-	    dir="/$$dir"; \
-	    $(mkinstalldirs) "$(distdir)$$dir"; \
-	  else \
-	    dir=''; \
-	  fi; \
-	  if test -d $$d/$$file; then \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-
-installdirs:
-
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	distclean distclean-generic distclean-libtool distdir dvi \
-	dvi-am info info-am install install-am install-data \
-	install-data-am install-exec install-exec-am install-info \
-	install-info-am install-man install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-	uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/common/my_intl.h b/common/my_intl.h
deleted file mode 100644
index e9277796727c7e6fc49ad615b41050b5efe12973..0000000000000000000000000000000000000000
--- a/common/my_intl.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __MY_INTL_H__
-#define __MY_INTL_H__
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-#  include <libintl.h>
-#  undef _
-#  define _(String) dgettext (PACKAGE, String)
-#  ifdef gettext_noop
-#    define N_(String) gettext_noop (String)
-#  else
-#    define N_(String) (String)
-#  endif
-#else
-#  define textdomain(String) (String)
-#  define gettext(String) (String)
-#  define dgettext(Domain,Message) (Message)
-#  define dcgettext(Domain,Message,Type) (Message)
-#  define bindtextdomain(Domain,Directory) (Domain)
-#  define _(String) (String)
-#  define N_(String) (String)
-#endif
-
-#endif
diff --git a/configure b/configure
index b69b68b4f9f0802182a136a76c50b2f1fccc6191..29ab85c3eef8cf7176dd6ced32edadb3196fc789 100755
--- a/configure
+++ b/configure
@@ -3014,14 +3014,13 @@ fi
 rm -f conftest*
 
 
-
-        echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
-echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
-if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
+if test "${ac_cv_search_strerror+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
+ac_cv_search_strerror=no
 cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 /* confdefs.h.  */
@@ -3057,23 +3056,69 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_cposix_strerror=yes
+  ac_cv_search_strerror="none required"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_cposix_strerror=no
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+if test "$ac_cv_search_strerror" = no; then
+  for ac_lib in cposix; do
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char strerror ();
+int
+main ()
+{
+strerror ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_search_strerror="-l$ac_lib"
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
-echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
-if test $ac_cv_lib_cposix_strerror = yes; then
-  LIBS="$LIBS -lcposix"
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  done
 fi
+LIBS=$ac_func_search_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6
+if test "$ac_cv_search_strerror" != no; then
+  test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
 
-
+fi
 
 echo "$as_me:$LINENO: checking for ANSI C header files" >&5
 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
@@ -5060,7 +5105,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5063 "configure"' > conftest.$ac_ext
+  echo '#line 5108 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6608,8 +6653,6 @@ CATOBJEXT=.mo
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 	  INSTOBJEXT=.mo
-	else
-	  gt_cv_have_gettext=no
 	fi
       fi
 
@@ -8959,18 +9002,18 @@ else
 fi;
   echo "$as_me:$LINENO: checking whether to build with debugging support" >&5
 echo $ECHO_N "checking whether to build with debugging support... $ECHO_C" >&6
-  if test "x$ac_cv_debug" != "xno"; then
+  if test x$ac_cv_debug != xno; then
 
 cat >>confdefs.h <<\_ACEOF
 #define DEBUG 1
 _ACEOF
 
-    if test "x$ac_cv_debug" == "xfull"; then
-      CFLAGS="$CFLAGS -g3 -Wall -Werror"
+    if test x$ac_cv_debug == xfull; then
+      CFLAGS="$CFLAGS -g3 -Wall -Werror -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       echo "$as_me:$LINENO: result: full" >&5
 echo "${ECHO_T}full" >&6
     else
-      CFLAGS="$CFLAGS -g -Wall -Werror"
+      CFLAGS="$CFLAGS -g -Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6
     fi
@@ -8980,7 +9023,7 @@ echo "${ECHO_T}no" >&6
   fi
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files xfwm4.spec Makefile common/Makefile defaults/Makefile mcs-plugin/Makefile po/Makefile.in src/Makefile themes/Makefile themes/adept/Makefile themes/agua/Makefile themes/atlanta/Makefile themes/atlanta2/Makefile themes/b5/Makefile themes/b6/Makefile themes/bbs/Makefile themes/beastie/Makefile themes/biz/Makefile themes/coldsteel/Makefile themes/coolclean/Makefile themes/crux/Makefile themes/cruxish/Makefile themes/curve/Makefile themes/default/Makefile themes/default.keys/Makefile themes/eazel-blue/Makefile themes/elberg/Makefile themes/exocet/Makefile themes/fbx/Makefile themes/g2/Makefile themes/gaudy/Makefile themes/gnububble/Makefile themes/gorilla/Makefile themes/gtk/Makefile themes/iceg/Makefile themes/kde/Makefile themes/keramik/Makefile themes/kindaker/Makefile themes/koynacity/Makefile themes/linea/Makefile themes/meenee/Makefile themes/metabox/Makefile themes/microcurve/Makefile themes/microdeck/Makefile themes/microdeck2/Makefile themes/microdeck3/Makefile themes/microgui/Makefile themes/mofit/Makefile themes/next/Makefile themes/ops/Makefile themes/oroborus/Makefile themes/pills/Makefile themes/piranha/Makefile themes/platinum/Makefile themes/quiet-purple/Makefile themes/quinx/Makefile themes/r9x/Makefile themes/redmond/Makefile themes/redmondxp/Makefile themes/retro/Makefile themes/silverado/Makefile themes/slick/Makefile themes/slimline/Makefile themes/tabs/Makefile themes/tgc/Makefile themes/totem/Makefile themes/trench/Makefile themes/tux/Makefile themes/variation/Makefile themes/xfce/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ac_config_files="$ac_config_files xfwm4.spec Makefile defaults/Makefile mcs-plugin/Makefile po/Makefile.in src/Makefile themes/Makefile themes/adept/Makefile themes/agua/Makefile themes/atlanta/Makefile themes/atlanta2/Makefile themes/b5/Makefile themes/b6/Makefile themes/bbs/Makefile themes/beastie/Makefile themes/biz/Makefile themes/coldsteel/Makefile themes/coolclean/Makefile themes/crux/Makefile themes/cruxish/Makefile themes/curve/Makefile themes/default/Makefile themes/default.keys/Makefile themes/eazel-blue/Makefile themes/elberg/Makefile themes/exocet/Makefile themes/fbx/Makefile themes/g2/Makefile themes/gaudy/Makefile themes/gnububble/Makefile themes/gorilla/Makefile themes/gtk/Makefile themes/iceg/Makefile themes/kde/Makefile themes/keramik/Makefile themes/kindaker/Makefile themes/koynacity/Makefile themes/linea/Makefile themes/meenee/Makefile themes/metabox/Makefile themes/microcurve/Makefile themes/microdeck/Makefile themes/microdeck2/Makefile themes/microdeck3/Makefile themes/microgui/Makefile themes/mofit/Makefile themes/next/Makefile themes/ops/Makefile themes/oroborus/Makefile themes/pills/Makefile themes/piranha/Makefile themes/platinum/Makefile themes/quiet-purple/Makefile themes/quinx/Makefile themes/r9x/Makefile themes/redmond/Makefile themes/redmondxp/Makefile themes/retro/Makefile themes/silverado/Makefile themes/slick/Makefile themes/slimline/Makefile themes/tabs/Makefile themes/tgc/Makefile themes/totem/Makefile themes/trench/Makefile themes/tux/Makefile themes/variation/Makefile themes/xfce/Makefile"
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -9546,7 +9589,6 @@ do
   # Handling of arguments.
   "xfwm4.spec" ) CONFIG_FILES="$CONFIG_FILES xfwm4.spec" ;;
   "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "common/Makefile" ) CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
   "defaults/Makefile" ) CONFIG_FILES="$CONFIG_FILES defaults/Makefile" ;;
   "mcs-plugin/Makefile" ) CONFIG_FILES="$CONFIG_FILES mcs-plugin/Makefile" ;;
   "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
diff --git a/configure.ac b/configure.ac
index 1c5538bc6cecc40e46acf2f2a9f722742b335775..dc3277de21d4bc657cbb3bb2d0475a540d680948 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,7 +53,6 @@ BM_DEBUG_SUPPORT
 AC_OUTPUT([ 
 xfwm4.spec
 Makefile
-common/Makefile
 defaults/Makefile
 mcs-plugin/Makefile
 po/Makefile.in 
diff --git a/ltcf-c.sh b/ltcf-c.sh
index d9bbae95441e9f0c55bf9eb72e570ceb2469b2ef..570aa4541701f4d971f75fdba7c1954326365912 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -173,23 +173,13 @@ EOF
       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
     ;;
 
-  darwin* | rhapsody*)
-    allow_undefined_flag='-undefined suppress'
-    archive_cmds='$CC `test .$module = .yes && echo -bundle || echo -dynamiclib` $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname `test -n "$verstring" -a x$verstring != x0.0 && echo $verstring`'
-    # We need to add '_' to the symbols in $export_symbols first
-    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
-    hardcode_direct=yes
-    hardcode_shlibpath_var=no
-    whole_archive_flag_spec='-all_load $convenience'
-    ;;
-
   netbsd*)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
       wlarc=
     else
-      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
     fi
     ;;
 
@@ -379,6 +369,23 @@ else
     fix_srcfile_path='`cygpath -w "$srcfile"`'
     ;;
 
+  darwin* | rhapsody*)
+    case "$host_os" in
+    rhapsody* | darwin1.[012])
+      allow_undefined_flag='-undefined suppress'
+      ;;
+    *) # Darwin 1.3 on
+      allow_undefined_flag='-flat_namespace -undefined suppress'
+      ;;
+    esac
+    archive_cmds='$CC $(if test .$module = .yes; then echo -bundle; else echo -dynamiclib; fi) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $verstring'
+    # We need to add '_' to the symbols in $export_symbols first
+    #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    whole_archive_flag_spec='-all_load $convenience'
+    ;;
+
   freebsd1*)
     ld_shlibs=no
     ;;
@@ -644,7 +651,7 @@ else
     darwin* | rhapsody*)
       # PIC is the default on this platform
       # Common symbols not allowed in MH_DYLIB files
-      lt_cv_prog_cc_pic='-fno-common'
+      ac_cv_prog_cc_pic='-fno-common'
       ;;
     *djgpp*)
       # DJGPP does not support shared libraries at all
diff --git a/ltconfig b/ltconfig
index 1eb4072f95de2d917e086337ad3a336def6ca818..354dc1e18c330a059b4cbc7da23317bee345da6d 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1104,7 +1104,7 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.$`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`'
+  library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`'
   soname_spec='${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib`'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
@@ -1116,16 +1116,17 @@ freebsd1*)
 
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+  version_type=sunos
+  case $objformat in
+    elf*)
+      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+      soname_spec='${libname}${release}.so$major'
       need_version=no
       need_lc=no
       need_lib_prefix=no
       ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+    *)
+      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
       need_version=yes
       ;;
   esac
@@ -1198,7 +1199,7 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
 
 # This must be Linux ELF.
 linux-gnu*)
-  version_type=linux
+  version_type=sunos
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
@@ -1236,6 +1237,8 @@ netbsd*)
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  sys_lib_search_path_spec="/usr/lib"
   ;;
 
 newsos6)
@@ -1282,7 +1285,7 @@ sco3.2v5*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=sunos
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
@@ -1427,11 +1430,11 @@ void nm_test_func(){}
 int main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-  echo "$progname:1430: checking if global_symbol_pipe works" >&5
-  if { (eval echo $progname:1431: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
+  echo "$progname:1433: checking if global_symbol_pipe works" >&5
+  if { (eval echo $progname:1434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { echo "$progname:1434: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+    if { echo "$progname:1437: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
 
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
@@ -1483,7 +1486,7 @@ EOF
 	  save_CFLAGS="$CFLAGS"
 	  LIBS="conftstm.$objext"
 	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if { (eval echo $progname:1486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+	  if { (eval echo $progname:1489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
 	    pipe_works=yes
 	  else
 	    echo "$progname: failed program was:" >&5
@@ -1587,14 +1590,14 @@ else
 if test "X${lt_cv_dlopen+set}" != Xset; then
   lt_cv_dlopen=no lt_cv_dlopen_libs=
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "$progname:1590: checking for dlopen in -ldl" >&5
+echo "$progname:1593: checking for dlopen in -ldl" >&5
 if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1597 "ltconfig"
+#line 1600 "ltconfig"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
@@ -1607,7 +1610,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo $progname:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_dl_dlopen=yes
 else
@@ -1626,12 +1629,12 @@ if test "X$ac_cv_lib_dl_dlopen" = Xyes; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "$progname:1629: checking for dlopen" >&5
+echo "$progname:1632: checking for dlopen" >&5
 if test "X${ac_cv_func_dlopen+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1634 "ltconfig"
+#line 1637 "ltconfig"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dlopen(); below.  */
 #include <assert.h>
@@ -1656,7 +1659,7 @@ dlopen();
 
 ; return 0; }
 EOF
-if { (eval echo $progname:1659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_dlopen=yes
 else
@@ -1673,14 +1676,14 @@ if test "X$ac_cv_func_dlopen" = Xyes; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "$progname:1676: checking for dlopen in -lsvld" >&5
+echo "$progname:1679: checking for dlopen in -lsvld" >&5
 if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lsvld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1683 "ltconfig"
+#line 1686 "ltconfig"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
@@ -1693,7 +1696,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo $progname:1696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_svld_dlopen=yes
 else
@@ -1712,14 +1715,14 @@ if test "X$ac_cv_lib_svld_dlopen" = Xyes; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
-echo "$progname:1715: checking for dld_link in -ldld" >&5
+echo "$progname:1718: checking for dld_link in -ldld" >&5
 if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1722 "ltconfig"
+#line 1725 "ltconfig"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
@@ -1732,7 +1735,7 @@ int main() {
 dld_link()
 ; return 0; }
 EOF
-if { (eval echo $progname:1735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_dld_dld_link=yes
 else
@@ -1751,12 +1754,12 @@ if test "X$ac_cv_lib_dld_dld_link" = Xyes; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "$progname:1754: checking for shl_load" >&5
+echo "$progname:1757: checking for shl_load" >&5
 if test "X${ac_cv_func_shl_load+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1759 "ltconfig"
+#line 1762 "ltconfig"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shl_load(); below.  */
 #include <assert.h>
@@ -1781,7 +1784,7 @@ shl_load();
 
 ; return 0; }
 EOF
-if { (eval echo $progname:1784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_shl_load=yes
 else
@@ -1799,14 +1802,14 @@ if test "X$ac_cv_func_shl_load" = Xyes; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "$progname:1802: checking for shl_load in -ldld" >&5
+echo "$progname:1805: checking for shl_load in -ldld" >&5
 if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1809 "ltconfig"
+#line 1812 "ltconfig"
 #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
@@ -1820,7 +1823,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo $progname:1823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo $progname:1826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_dld_shl_load=yes
 else
@@ -1867,18 +1870,18 @@ fi
 for ac_hdr in dlfcn.h; do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "$progname:1870: checking for $ac_hdr" >&5
+echo "$progname:1873: checking for $ac_hdr" >&5
 if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1875 "ltconfig"
+#line 1878 "ltconfig"
 #include <$ac_hdr>
 int fnord = 0;
 int main () { return(0); }
 EOF
 ac_try="$ac_compile >/dev/null 2>conftest.out"
-{ (eval echo $progname:1881: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo $progname:1884: \"$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*
@@ -1906,7 +1909,7 @@ done
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
   echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:1909: checking whether a program can dlopen itself" >&5
+echo "$progname:1912: checking whether a program can dlopen itself" >&5
 if test "X${lt_cv_dlopen_self+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1914,7 +1917,7 @@ else
     lt_cv_dlopen_self=cross
   else
     cat > conftest.$ac_ext <<EOF
-#line 1917 "ltconfig"
+#line 1920 "ltconfig"
 
 #if HAVE_DLFCN_H
 #include <dlfcn.h>
@@ -1961,7 +1964,7 @@ int main() {
                if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
 
 EOF
-if { (eval echo $progname:1964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo $progname:1967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   lt_cv_dlopen_self=yes
 else
@@ -1980,7 +1983,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
   if test "$lt_cv_dlopen_self" = yes; then
     LDFLAGS="$LDFLAGS $link_static_flag"
   echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "$progname:1983: checking whether a statically linked program can dlopen itself" >&5
+echo "$progname:1986: checking whether a statically linked program can dlopen itself" >&5
 if test "X${lt_cv_dlopen_self_static+set}" = Xset; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1988,7 +1991,7 @@ else
     lt_cv_dlopen_self_static=cross
   else
     cat > conftest.$ac_ext <<EOF
-#line 1991 "ltconfig"
+#line 1994 "ltconfig"
 
 #if HAVE_DLFCN_H
 #include <dlfcn.h>
@@ -2035,7 +2038,7 @@ int main() {
     if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
 
 EOF
-if { (eval echo $progname:2038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo $progname:2041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   lt_cv_dlopen_self_static=yes
 else
diff --git a/ltmain.sh b/ltmain.sh
index 25e0cf9d99ae6e9344f9fab8006d1870d2c167ad..ecc7e6dfe824032c2599f152ec4946ae6b56ed07 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -211,6 +211,8 @@ do
   --mode) prevopt="--mode" prev=mode ;;
   --mode=*) mode="$optarg" ;;
 
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
   --quiet | --silent)
     show=:
     ;;
@@ -256,7 +258,7 @@ if test -z "$show_help"; then
   # Infer the operation mode.
   if test -z "$mode"; then
     case $nonopt in
-    *cc | *++ | gcc* | *-gcc*)
+    *cc | *++ | gcc* | *-gcc* | *CC)
       mode=link
       for arg
       do
@@ -494,11 +496,21 @@ if test -z "$show_help"; then
     # command doesn't match the default compiler.
     if test -n "$available_tags" && test -z "$tagname"; then
       case $base_compile in
-      "$CC "*) ;;
+      "$CC "*) tagname=CC ;;
       # Blanks in the command may have been stripped by the calling shell,
       # but not from the CC environment variable when ltconfig was run.
-      "`$echo $CC` "*) ;;
-      *)
+      "`$echo $CC` "*) tagname=CC ;;
+      *)   base_compiler=`echo $base_compile | awk '{ print $1 }'`
+	   case $base_compiler in
+	   *cc)	tagname=CC ;;
+	   *++)
+	     tagname=CXX
+	     eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
+	     ;;
+	   esac ;;
+      esac
+    fi
+    if test -n "$available_tags" && test -z "$tagname"; then
         for z in $available_tags; do
           if grep "^### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
 	    # Evaluate the configuration.
@@ -528,8 +540,6 @@ if test -z "$show_help"; then
 #        else
 #          echo "$modename: using $tagname tagged configuration"
         fi
-	;;
-      esac
     fi
 
     objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
@@ -1528,11 +1538,21 @@ EOF
     # command doesn't match the default compiler.
     if test -n "$available_tags" && test -z "$tagname"; then
       case $base_compile in
-      "$CC "*) ;;
+      "$CC "*) tagname=CC ;;
       # Blanks in the command may have been stripped by the calling shell,
       # but not from the CC environment variable when ltconfig was run.
-      "`$echo $CC` "*) ;;
-      *)
+      "`$echo $CC` "*) tagname=CC ;;
+      *)   base_compiler=`echo $base_compile | awk '{ print $1 }'`
+	   case $base_compiler in
+	   *cc)	tagname=CC ;;
+	   *++)
+	     tagname=CXX
+	     eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
+	     ;;
+	   esac ;;
+      esac
+    fi
+    if test -n "$available_tags" && test -z "$tagname"; then
         for z in $available_tags; do
           if grep "^### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
 	    # Evaluate the configuration.
@@ -1562,8 +1582,6 @@ EOF
 #       else
 #         echo "$modename: using $tagname tagged configuration"
         fi
-	;;
-      esac
     fi
 
     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
@@ -1619,9 +1637,11 @@ EOF
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
+      if test "X$duplicate_deps" = "Xyes" ; then
       case "$libs " in
       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
       esac
+      fi
       libs="$libs $deplib"
     done
 
@@ -1632,12 +1652,14 @@ EOF
       # $postdeps and mark them as special (i.e., whose duplicates are
       # not to be eliminated).
       pre_post_deps=
+      if test "X$duplicate_deps" = "Xyes" ; then
       for pre_post_dep in $predeps $postdeps; do
         case "$pre_post_deps " in
 	*" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
 	esac
 	pre_post_deps="$pre_post_deps $pre_post_dep"
       done
+      fi
       pre_post_deps=
     fi
 
@@ -1861,9 +1883,11 @@ EOF
 	    tmp_libs=
 	    for deplib in $dependency_libs; do
 	      deplibs="$deplib $deplibs"
+              if test "X$duplicate_deps" = "Xyes" ; then
 	      case "$tmp_libs " in
 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	      esac
+              fi
 	      tmp_libs="$tmp_libs $deplib"
 	    done
 	  elif test $linkmode != prog && test $linkmode != lib; then
@@ -1986,9 +2010,11 @@ EOF
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
+	    if test "X$duplicate_deps" = "Xyes" ; then
 	    case "$tmp_libs " in
 	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	    esac
+	    fi
 	    tmp_libs="$tmp_libs $deplib"
 	  done # for deplib
 	  continue
@@ -2287,9 +2313,11 @@ EOF
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    newdependency_libs="$deplib $newdependency_libs"
+	    if test "X$duplicate_deps" = "Xyes" ; then
 	    case "$tmp_libs " in
 	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	    esac
+	    fi
 	    tmp_libs="$tmp_libs $deplib"
 	  done
 
@@ -2582,7 +2610,7 @@ EOF
 	  ;;
 
 	irix)
-	  major=`expr $current - $age + 1`
+	  major=`expr $current - $age`
 	  verstring="sgi$major.$revision"
 
 	  # Add in all the interfaces that we are compatible with.
@@ -2642,7 +2670,16 @@ EOF
 	# Clear the version info if we defaulted, and they specified a release.
 	if test -z "$vinfo" && test -n "$release"; then
 	  major=
-	  verstring="0.0"
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
 	  if test "$need_version" = no; then
 	    versuffix=
 	  else
@@ -5053,7 +5090,7 @@ relink_command=\"$relink_command\""
       fi
 
       # Now prepare to actually exec the command.
-      exec_cmd='"$cmd"$args'
+      exec_cmd="\$cmd$args"
     else
       # Display what would be done.
       if test -n "$shlibpath_var"; then
diff --git a/m4/debug.m4 b/m4/debug.m4
index e13af24dcec4fba0a7e8b41dcbb539413d2c6949..279bdc29dbafda9eceda2a0b28ccec4877f98679 100644
--- a/m4/debug.m4
+++ b/m4/debug.m4
@@ -13,13 +13,13 @@ AC_HELP_STRING([--enable-debug[=yes|no|full]], [Build with debugging support])
 AC_HELP_STRING([--disable-debug], [Include no debugging support [default]]),
     [ac_cv_debug=$enableval], [ac_cv_debug=no])
   AC_MSG_CHECKING([whether to build with debugging support])
-  if test "x$ac_cv_debug" != "xno"; then
+  if test x$ac_cv_debug != xno; then
     AC_DEFINE(DEBUG, 1, Define for debugging support)
-    if test "x$ac_cv_debug" == "xfull"; then
-      CFLAGS="$CFLAGS -g3 -Wall -Werror"
+    if test x$ac_cv_debug == xfull; then
+      CFLAGS="$CFLAGS -g3 -Wall -Werror -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       AC_MSG_RESULT([full])
     else
-      CFLAGS="$CFLAGS -g -Wall -Werror"
+      CFLAGS="$CFLAGS -g -Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
       AC_MSG_RESULT([yes])
     fi
   else
diff --git a/m4/rpath.m4 b/m4/rpath.m4
index bf0cccc9df51a8f4041aea37050dcffd2b4f89da..a95b2b31f29a3a5371852046b711282e7ed8375d 100644
--- a/m4/rpath.m4
+++ b/m4/rpath.m4
@@ -19,3 +19,15 @@ AC_HELP_STRING([--disable-rpath], [Do not use -rpath (use with care!!)]),
     AC_MSG_RESULT([no])
   fi
 ])
+
+AC_DEFUN([BM_PKG_LDFLAGS], [
+  AC_REQUIRE([BM_RPATH_SUPPORT])
+  AC_MSG_CHECKING([which pkg-config LDFLAGS to use])
+  if test "x$LD_RPATH" == "x"; then
+    $1_LDFLAGS="-L\${libdir}"
+  else
+    $1_LDFLAGS="$LD_RPATH\${libdir} -L\${libdir}"
+  fi
+  AC_MSG_RESULT([$$1_LDFLAGS])
+  AC_SUBST($1_LDFLAGS)
+])
diff --git a/mcs-plugin/margins_plugin.c b/mcs-plugin/margins_plugin.c
index faad20451d1c35d0a6a3aaa0769eecb2a05a053d..34cd5e9b6c56d512b2f27ae427725a9d9cd040cd 100644
--- a/mcs-plugin/margins_plugin.c
+++ b/mcs-plugin/margins_plugin.c
@@ -18,7 +18,7 @@
 */
 
 #ifdef HAVE_CONFIG_H
-#  include <config.h>
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
@@ -39,12 +39,12 @@
 
 #include <libxfce4mcs/mcs-common.h>
 #include <libxfce4mcs/mcs-manager.h>
+#include <libxfce4util/i18n.h>
 #include <libxfce4util/util.h>
 #include <xfce-mcs-manager/manager-plugin.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include "margins-icon.h"
 #include "monitor-icon.h"
-#include "my_intl.h"
 
 #define RCFILE "margins.xml"
 #define PLUGIN_NAME "xfwm_margins"
diff --git a/mcs-plugin/xfwm4_plugin.c b/mcs-plugin/xfwm4_plugin.c
index 6c8982bff1f516a51b5ec701aadb4130b4939421..14758fe39a5483d3c6983ca1d1248603753d4412 100644
--- a/mcs-plugin/xfwm4_plugin.c
+++ b/mcs-plugin/xfwm4_plugin.c
@@ -18,7 +18,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include <config.h>
+#include <config.h>
 #endif
 
 #include <string.h>
@@ -37,11 +37,11 @@
 
 #include <libxfce4mcs/mcs-common.h>
 #include <libxfce4mcs/mcs-manager.h>
+#include <libxfce4util/i18n.h>
 #include <libxfce4util/util.h>
 #include <xfce-mcs-manager/manager-plugin.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include "xfwm4-icon.h"
-#include "my_intl.h"
 
 #define RCDIR   "settings"
 #define RCFILE  "xfwm4.xml"
diff --git a/src/client.c b/src/client.c
index 1c9874be85de67537bcf535900d7b81bbc68bc00..55a57d749a662008a76ee6cbc9818199ff0c5fcb 100644
--- a/src/client.c
+++ b/src/client.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
@@ -32,6 +32,8 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
 #include <glib.h>
+
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 
 #include "main.h"
@@ -46,7 +48,6 @@
 #include "session.h"
 #include "startup_notification.h"
 #include "debug.h"
-#include "my_intl.h"
 
 /* Event mask definition */
 
@@ -104,7 +105,9 @@ static void clientSetWidth(Client * c, int w1);
 static void clientSetHeight(Client * c, int h1);
 static inline void clientApplyStackList(GSList * list);
 static inline Client *clientGetLowestTransient(Client * c);
+#if 0 /* NEVER USED */
 static inline Client *clientGetHighestTransient(Client * c);
+#endif
 static inline Client *clientGetNextTopMost(int layer, Client * exclude);
 static inline Client *clientGetTopMostFocusable(int layer, Client * exclude);
 static inline Client *clientGetBottomMost(int layer, Client * exclude);
@@ -1396,6 +1399,7 @@ static inline Client *clientGetLowestTransient(Client * c)
     return lowest_transient;
 }
 
+#if 0
 static inline Client *clientGetHighestTransient(Client * c)
 {
     Client *highest_transient = NULL;
@@ -1438,6 +1442,7 @@ static inline Client *clientGetHighestTransient(Client * c)
 
     return highest_transient;
 }
+#endif
 
 static inline Client *clientGetNextTopMost(int layer, Client * exclude)
 {
@@ -1449,7 +1454,7 @@ static inline Client *clientGetNextTopMost(int layer, Client * exclude)
     for(index = windows_stack; index; index = g_slist_next(index))
     {
         c = (Client *) index->data;
-        DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, c->win_layer);
+        DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, (int)c->win_layer);
         if(!exclude || (c != exclude))
         {
             if(c->win_layer > layer)
@@ -1473,7 +1478,7 @@ static inline Client *clientGetTopMostFocusable(int layer, Client * exclude)
     for(index = windows_stack; index; index = g_slist_next(index))
     {
         c = (Client *) index->data;
-        DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, c->win_layer);
+        DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, (int)c->win_layer);
         if(!exclude || (c != exclude))
         {
             if((c->win_layer <= layer) && clientAcceptFocus(c) && !CLIENT_FLAG_TEST(c, CLIENT_FLAG_HIDDEN))
@@ -1502,7 +1507,7 @@ static inline Client *clientGetBottomMost(int layer, Client * exclude)
         c = (Client *) index->data;
         if(c)
         {
-            DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, c->win_layer);
+            DBG("*** stack window \"%s\" (0x%lx), layer %i\n", c->name, c->window, (int)c->win_layer);
             if(!exclude || (c != exclude))
             {
                 if(c->win_layer < layer)
@@ -1530,7 +1535,7 @@ static inline void clientConstraintPos(Client * c, gboolean show_full)
     gboolean leftMostHead, rightMostHead, topMostHead, bottomMostHead;
 
     g_return_if_fail(c != NULL);
-    DBG("entering clientConstraintPos %s\n", show_title ? "(with show full)" : "(w/out show full)");
+    DBG("entering clientConstraintPos %s\n", show_full ? "(with show full)" : "(w/out show full)");
     DBG("client \"%s\" (0x%lx)\n", c->name, c->window);
 
     if(CLIENT_FLAG_TEST(c, CLIENT_FLAG_FULLSCREEN))
@@ -1740,7 +1745,7 @@ static void clientInitPosition(Client * c)
                     count_overlaps += overlap(frame_x, frame_y, frame_x + frame_width, frame_y + frame_height, frameX(c2), frameY(c2), frameX(c2) + frameWidth(c2), frameY(c2) + frameHeight(c2));
                 }
             }
-            DBG("overlaps so far is %u\n", count_overlaps);
+            DBG("overlaps so far is %u\n", (unsigned int)count_overlaps);
             if(count_overlaps == 0)
             {
                 DBG("overlaps is 0 so it's the best we can get\n");
@@ -1748,7 +1753,7 @@ static void clientInitPosition(Client * c)
             }
             else if((count_overlaps < best_overlaps) || (first))
             {
-                DBG("overlaps %u is better than the best we have %u\n", count_overlaps, best_overlaps);
+                DBG("overlaps %u is better than the best we have %u\n", (unsigned int)count_overlaps, (unsigned int)best_overlaps);
                 best_x = test_x;
                 best_y = test_y;
                 best_overlaps = count_overlaps;
diff --git a/src/events.c b/src/events.c
index e1cc214a5f77dcbf0ac2326fc2f8e25ac953a8e4..5c462f8bde16127cf0ae103b41374c1d92978c56 100644
--- a/src/events.c
+++ b/src/events.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
@@ -27,6 +27,7 @@
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include "main.h"
 #include "workspaces.h"
@@ -37,7 +38,6 @@
 #include "menu.h"
 #include "startup_notification.h"
 #include "debug.h"
-#include "my_intl.h"
 
 static guint raise_timeout = 0;
 static gulong button_handler_id = 0;
@@ -845,7 +845,7 @@ static inline void handleEnterNotify(XCrossingEvent * ev)
 
 static inline void handleFocusIn(XFocusChangeEvent * ev)
 {
-    Client *c, *c2;
+    Client *c;
 
     DBG("entering handleFocusIn\n");
 
@@ -891,7 +891,9 @@ static inline void handleFocusIn(XFocusChangeEvent * ev)
 
 static inline void handleFocusOut(XFocusChangeEvent * ev)
 {
+#if 0
     DBG("entering handleFocusOut - Window (0x%lx)\n", w);
+#endif
 }
 
 static inline void handlePropertyNotify(XPropertyEvent * ev)
diff --git a/src/frame.c b/src/frame.c
index 1e1eaf55ea4f767a5070aa517bd77f885aef3cb0..bbf2f9168c0a2347a28d2eb8710952fc8aa250ab 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <pango/pango.h>
diff --git a/src/hints.c b/src/hints.c
index 881551419598d90dee0174b181d81b2d48ef415f..1016e1df3aee263798c9cc8f6af83892ed540376 100644
--- a/src/hints.c
+++ b/src/hints.c
@@ -20,7 +20,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
@@ -34,13 +34,13 @@
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <X11/Xmd.h>
+#include <libxfce4util/i18n.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include "main.h"
 #include "hints.h"
 #include "debug.h"
-#include "my_intl.h"
 
 Atom gnome_panel_desktop_area;
 Atom motif_wm_hints;
diff --git a/src/keyboard.c b/src/keyboard.c
index 68dfefa246e9650858f7773ab31deb8086f67428..a4d96b7de198c3dacb2630d2b016ae06ea142493 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
diff --git a/src/main.c b/src/main.c
index 5757f0e1cb112fc52a3b0dd5625cdfacee1e839d..a0e461c867163905bd56f09b90499f1d179cf5d3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <sys/time.h>
@@ -37,6 +37,7 @@
 #include <gdk/gdkx.h>
 #include <glib.h>
 #include <X11/Xlib.h>
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 
 #include "main.h"
@@ -51,7 +52,6 @@
 #include "startup_notification.h"
 #include "spinning_cursor.h"
 #include "debug.h"
-#include "my_intl.h"
 
 #define MAIN_EVENT_MASK         SubstructureNotifyMask|\
     StructureNotifyMask|\
diff --git a/src/menu.c b/src/menu.c
index 0e3868b9f25f9c5aa52d8b1deb1517aeeea1cc07..ac8198930991945ad3703be39b6ade869cbee34e 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
@@ -32,10 +32,10 @@
 #include <gtk/gtk.h>
 #include <X11/Xlib.h>
 #include <unistd.h>
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include "menu.h"
 #include "debug.h"
-#include "my_intl.h"
 
 static GtkWidget *menu_open = NULL;
 static MenuItem menuitems[] = {
diff --git a/src/misc.c b/src/misc.c
index 3c31bd93b71c4aaf37b4d20fb46c0115ba735173..f807286d7141a72aad42aa389d6d7e6f28e6ff37 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
diff --git a/src/mypixmap.c b/src/mypixmap.c
index 8665557e6eee9e0c6446ee11ab3e81d7734f9e95..494dbd11f61166b92dbc3ad9f3c75d0d6f68a9a2 100644
--- a/src/mypixmap.c
+++ b/src/mypixmap.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
diff --git a/src/mywindow.c b/src/mywindow.c
index f10b93c2558a3fa88233476b0dc7c95523ec031c..b7e7d3e6da584a28873ae571001edb0dc743ac3a 100644
--- a/src/mywindow.c
+++ b/src/mywindow.c
@@ -18,7 +18,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
diff --git a/src/parserc.c b/src/parserc.c
index 08d575955043aa1d4e9fd1279f8ef0d1a50cef91..39e9807c20a221105db77ef2043aa67a5da9d91d 100644
--- a/src/parserc.c
+++ b/src/parserc.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
diff --git a/src/session.c b/src/session.c
index f4c35b3b1890d66a9fdbbab5ba1497f637c5000d..f31667a79522a8979908401dd8ffb08dbf06a4d3 100644
--- a/src/session.c
+++ b/src/session.c
@@ -16,7 +16,7 @@
 /* Initially inspired by xfwm, fvwm2, enlightment and twm implementations */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <stdio.h>
@@ -352,7 +352,7 @@ gboolean sessionLoadWindowStates(gchar * filename)
             sscanf(s, "%4000s", s1);
             if(!strcmp(s1, "[CLIENT]"))
             {
-                sscanf(s, "%*s 0x%ls", &w);
+                sscanf(s, "%*s 0x%ls", (int *)&w);
                 num_match++;
                 matches = g_realloc(matches, sizeof(Match) * num_match);
                 matches[num_match - 1].win = w;
diff --git a/src/settings.c b/src/settings.c
index 4451cbb43b71aca8bb133c3cf0f4750330c6b5df..49a28f736b944b14032d2921270225414daf5d0b 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -18,7 +18,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef GDK_MULTIHEAD_SAFE
@@ -30,6 +30,7 @@
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
 #include <gtk/gtk.h>
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include <libxfce4mcs/mcs-client.h>
 #include "main.h"
@@ -38,7 +39,6 @@
 #include "client.h"
 #include "workspaces.h"
 #include "debug.h"
-#include "my_intl.h"
 
 #define CHANNEL1 "xfwm4"
 #define CHANNEL2 "margins"
diff --git a/src/spinning_cursor.c b/src/spinning_cursor.c
index 9793f415d0265f3e6efcf4f6389e8be98f3cae9c..db7e6880cbbd0f0d77eff52080ebdc91deaac0a2 100644
--- a/src/spinning_cursor.c
+++ b/src/spinning_cursor.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
diff --git a/src/startup_notification.c b/src/startup_notification.c
index f61bc3d813292d46ada4fa03b695324b7f346422..fb41e41ddaedc98284e2837440fb9058e8ee6cca 100644
--- a/src/startup_notification.c
+++ b/src/startup_notification.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #ifdef HAVE_LIBSTARTUP_NOTIFICATION
diff --git a/src/tabwin.c b/src/tabwin.c
index c08fa4f8464452c5d8e67a513e7149eff2be195e..07ec783a2b537be4adee7b0284c52e71d09e41bb 100644
--- a/src/tabwin.c
+++ b/src/tabwin.c
@@ -18,18 +18,18 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <glib.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
 #include <gtk/gtk.h>
+#include <libxfce4util/i18n.h>
 #include <libxfcegui4/libxfcegui4.h>
 #include "inline-tabwin-icon.h"
 #include "tabwin.h"
 #include "debug.h"
-#include "my_intl.h"
 
 Tabwin *tabwinCreate(gchar * label)
 {
diff --git a/src/workspaces.c b/src/workspaces.c
index ceb40084caf9d1c764146d54fd8724ef00cc1a3d..479c0a3a5d924ba533097283dfe36d328e4976a3 100644
--- a/src/workspaces.c
+++ b/src/workspaces.c
@@ -19,7 +19,7 @@
  */
 
 #ifdef HAVE_CONFIG_H
-#  include "config.h"
+#include <config.h>
 #endif
 
 #include <X11/Xlib.h>
@@ -188,7 +188,7 @@ void workspaceUpdateArea(CARD32 * margins, CARD32 * gnome_margins)
             margins[MARGIN_BOTTOM] = MAX(margins[MARGIN_BOTTOM], c->struts[MARGIN_BOTTOM]);
         }
     }
-    DBG("Desktop area computed : (%d,%d,%d,%d)\n", margins[0], margins[1], margins[2], margins[3]);
+    DBG("Desktop area computed : (%d,%d,%d,%d)\n", (int)margins[0], (int)margins[1], (int)margins[2], (int)margins[3]);
     if((prev_top != margins[MARGIN_TOP]) || (prev_left != margins[MARGIN_LEFT]) || (prev_right != margins[MARGIN_RIGHT]) || (prev_bottom != margins[MARGIN_BOTTOM]))
     {
         DBG("Margins have changed, updating net_workarea\n");