[Pkg-cli-apps-commits] [SCM] smuxi branch, master, updated. upstream/0.7.1-4-gc50c63d

Mirco Bauer meebey at meebey.net
Thu Jul 22 23:38:15 UTC 2010


The following commit has been merged in the master branch:
commit f58e3678bcddf0968897b94b8052a6494759b641
Author: Mirco Bauer <meebey at meebey.net>
Date:   Fri Jul 23 00:50:29 2010 +0200

    Imported Upstream version 0.7.2

diff --git a/Makefile.am b/Makefile.am
index 41ac447..8b70d57 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -49,6 +49,12 @@ update-po:
 		$(MAKE) -C $$PODIR $@ | egrep -e '(:$$|messages)'; \
 	done
 
+update-pot:
+	for PODIR in $(PODIRS); do \
+		echo $$PODIR; \
+		$(MAKE) -C $$PODIR check; \
+	done
+
 mail-po: update-po
 	for PODIR in $(PODIRS); do \
 		echo $$PODIR; \
diff --git a/Makefile.in b/Makefile.in
index f228e91..9b8e1d1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -113,6 +113,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -122,6 +123,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -147,6 +149,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -198,6 +201,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -796,6 +801,12 @@ update-po:
 		$(MAKE) -C $$PODIR $@ | egrep -e '(:$$|messages)'; \
 	done
 
+update-pot:
+	for PODIR in $(PODIRS); do \
+		echo $$PODIR; \
+		$(MAKE) -C $$PODIR check; \
+	done
+
 mail-po: update-po
 	for PODIR in $(PODIRS); do \
 		echo $$PODIR; \
diff --git a/aclocal.m4 b/aclocal.m4
index f558bc7..765b76a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -19,8 +19,8 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# gettext.m4 serial 60 (gettext-0.17)
-dnl Copyright (C) 1995-2007 Free Software Foundation, Inc.
+# gettext.m4 serial 63 (gettext-0.18)
+dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -36,7 +36,7 @@ dnl They are *not* in the public domain.
 
 dnl Authors:
 dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2006.
+dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2006, 2008-2010.
 
 dnl Macro to add for using GNU gettext.
 
@@ -81,6 +81,8 @@ AC_DEFUN([AM_GNU_GETTEXT],
   ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
     [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
 ])])])])])
+  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
   ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
     [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
 ])])])])
@@ -144,11 +146,11 @@ AC_DEFUN([AM_GNU_GETTEXT],
     gt_use_preinstalled_gnugettext=no
     ifelse(gt_included_intl, yes, [
       AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH(included-gettext,
+      AC_ARG_WITH([included-gettext],
         [  --with-included-gettext use the GNU gettext library included here],
         nls_cv_force_use_gnu_gettext=$withval,
         nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
 
       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
@@ -288,7 +290,7 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a
 
     if test "$gt_use_preinstalled_gnugettext" = "yes" \
        || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE(ENABLE_NLS, 1,
+      AC_DEFINE([ENABLE_NLS], [1],
         [Define to 1 if translation of program messages to the user's native language
    is requested.])
     else
@@ -322,9 +324,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a
       fi
 
       dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE(HAVE_GETTEXT, 1,
+      AC_DEFINE([HAVE_GETTEXT], [1],
        [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE(HAVE_DCGETTEXT, 1,
+      AC_DEFINE([HAVE_DCGETTEXT], [1],
        [Define if the GNU dcgettext() function is already present or preinstalled.])
     fi
 
@@ -340,9 +342,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a
     fi
 
     dnl Make all variables we use known to autoconf.
-    AC_SUBST(BUILD_INCLUDED_LIBINTL)
-    AC_SUBST(USE_INCLUDED_LIBINTL)
-    AC_SUBST(CATOBJEXT)
+    AC_SUBST([BUILD_INCLUDED_LIBINTL])
+    AC_SUBST([USE_INCLUDED_LIBINTL])
+    AC_SUBST([CATOBJEXT])
 
     dnl For backward compatibility. Some configure.ins may be using this.
     nls_cv_header_intl=
@@ -350,36 +352,36 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a
 
     dnl For backward compatibility. Some Makefiles may be using this.
     DATADIRNAME=share
-    AC_SUBST(DATADIRNAME)
+    AC_SUBST([DATADIRNAME])
 
     dnl For backward compatibility. Some Makefiles may be using this.
     INSTOBJEXT=.mo
-    AC_SUBST(INSTOBJEXT)
+    AC_SUBST([INSTOBJEXT])
 
     dnl For backward compatibility. Some Makefiles may be using this.
     GENCAT=gencat
-    AC_SUBST(GENCAT)
+    AC_SUBST([GENCAT])
 
     dnl For backward compatibility. Some Makefiles may be using this.
     INTLOBJS=
     if test "$USE_INCLUDED_LIBINTL" = yes; then
       INTLOBJS="\$(GETTOBJS)"
     fi
-    AC_SUBST(INTLOBJS)
+    AC_SUBST([INTLOBJS])
 
     dnl Enable libtool support if the surrounding package wishes it.
     INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
   ])
 
   dnl For backward compatibility. Some Makefiles may be using this.
   INTLLIBS="$LIBINTL"
-  AC_SUBST(INTLLIBS)
+  AC_SUBST([INTLLIBS])
 
   dnl Make all documented variables known to autoconf.
-  AC_SUBST(LIBINTL)
-  AC_SUBST(LTLIBINTL)
-  AC_SUBST(POSUB)
+  AC_SUBST([LIBINTL])
+  AC_SUBST([LTLIBINTL])
+  AC_SUBST([POSUB])
 ])
 
 
@@ -401,8 +403,8 @@ AC_DEFUN([AM_GNU_GETTEXT_NEED],
 dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
 AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
 
-# iconv.m4 serial AM6 (gettext-0.17)
-dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
+# iconv.m4 serial 11 (gettext-0.18.1)
+dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -437,7 +439,7 @@ AC_DEFUN([AM_ICONV_LINK],
   am_save_CPPFLAGS="$CPPFLAGS"
   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
 
-  AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
     AC_TRY_LINK([#include <stdlib.h>
@@ -445,7 +447,7 @@ AC_DEFUN([AM_ICONV_LINK],
       [iconv_t cd = iconv_open("","");
        iconv(cd,NULL,NULL,NULL,NULL);
        iconv_close(cd);],
-      am_cv_func_iconv=yes)
+      [am_cv_func_iconv=yes])
     if test "$am_cv_func_iconv" != yes; then
       am_save_LIBS="$LIBS"
       LIBS="$LIBS $LIBICONV"
@@ -454,14 +456,14 @@ AC_DEFUN([AM_ICONV_LINK],
         [iconv_t cd = iconv_open("","");
          iconv(cd,NULL,NULL,NULL,NULL);
          iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
       LIBS="$am_save_LIBS"
     fi
   ])
   if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [
-      dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10.
       am_save_LIBS="$LIBS"
       if test $am_cv_lib_iconv = yes; then
         LIBS="$LIBS $LIBICONV"
@@ -490,6 +492,25 @@ int main ()
           return 1;
       }
   }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          return 1;
+      }
+  }
 #if 0 /* This bug could be worked around by the caller.  */
   /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
   {
@@ -537,7 +558,7 @@ int main ()
     am_func_iconv=no am_cv_lib_iconv=no
   fi
   if test "$am_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1,
+    AC_DEFINE([HAVE_ICONV], [1],
       [Define if you have the iconv() function and it works.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
@@ -550,16 +571,31 @@ int main ()
     LIBICONV=
     LTLIBICONV=
   fi
-  AC_SUBST(LIBICONV)
-  AC_SUBST(LTLIBICONV)
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
 ])
 
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [[AC_DEFUN(
+        [$1], [$2])]]))
+gl_iconv_AC_DEFUN([AM_ICONV],
 [
   AM_ICONV_LINK
   if test "$am_cv_func_iconv" = yes; then
     AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
+    AC_CACHE_VAL([am_cv_proto_iconv], [
       AC_TRY_COMPILE([
 #include <stdlib.h>
 #include <iconv.h>
@@ -572,18 +608,18 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si
 #else
 size_t iconv();
 #endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
       am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
       [Define as const if the declaration of iconv() needs const.])
   fi
 ])
 
-# intlmacosx.m4 serial 1 (gettext-0.17)
-dnl Copyright (C) 2004-2007 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 3 (gettext-0.18)
+dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -603,7 +639,7 @@ AC_DEFUN([gt_INTL_MACOSX],
 [
   dnl Check for API introduced in MacOS X 10.2.
   AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_cv_func_CFPreferencesCopyAppValue],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
@@ -612,11 +648,11 @@ AC_DEFUN([gt_INTL_MACOSX],
        [gt_cv_func_CFPreferencesCopyAppValue=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
       [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
   fi
   dnl Check for API introduced in MacOS X 10.3.
-  AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
     [gt_save_LIBS="$LIBS"
      LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
      AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
@@ -624,7 +660,7 @@ AC_DEFUN([gt_INTL_MACOSX],
        [gt_cv_func_CFLocaleCopyCurrent=no])
      LIBS="$gt_save_LIBS"])
   if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
       [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
   fi
   INTL_MACOSX_LIBS=
@@ -634,8 +670,8 @@ AC_DEFUN([gt_INTL_MACOSX],
   AC_SUBST([INTL_MACOSX_LIBS])
 ])
 
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+# lib-ld.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -646,7 +682,7 @@ dnl with libtool.m4.
 
 dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
 AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
 case `$LD -v 2>&1 </dev/null` in
 *GNU* | *'with BFD'*)
@@ -659,7 +695,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
 
 dnl From libtool-1.4. Sets the variable LD.
 AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
+[AC_ARG_WITH([gnu-ld],
 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
 AC_REQUIRE([AC_PROG_CC])dnl
@@ -695,7 +731,7 @@ if test "$GCC" = yes; then
       # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
       ;;
@@ -713,7 +749,7 @@ elif test "$with_gnu_ld" = yes; then
 else
   AC_MSG_CHECKING([for non-GNU ld])
 fi
-AC_CACHE_VAL(acl_cv_path_LD,
+AC_CACHE_VAL([acl_cv_path_LD],
 [if test -z "$LD"; then
   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
   for ac_dir in $PATH; do
@@ -725,9 +761,9 @@ AC_CACHE_VAL(acl_cv_path_LD,
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
       *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
+        test "$with_gnu_ld" != no && break ;;
       *)
-	test "$with_gnu_ld" != yes && break ;;
+        test "$with_gnu_ld" != yes && break ;;
       esac
     fi
   done
@@ -737,23 +773,23 @@ else
 fi])
 LD="$acl_cv_path_LD"
 if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
+  AC_MSG_RESULT([$LD])
 else
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([no])
 fi
 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
 AC_LIB_PROG_LD_GNU
 ])
 
-# lib-link.m4 serial 13 (gettext-0.17)
-dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
+# lib-link.m4 serial 21 (gettext-0.18)
+dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Bruno Haible.
 
-AC_PREREQ(2.54)
+AC_PREREQ([2.54])
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
@@ -765,9 +801,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
@@ -786,16 +822,17 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
   dnl results of this search when this library appears as a dependency.
   HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
+  popdef([NAME])
+  popdef([Name])
 ])
 
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
 dnl searches for libname and the libraries corresponding to explicit and
 dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
 dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
@@ -804,9 +841,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([Name],[translit([$1],[./-], [___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
 
   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   dnl accordingly.
@@ -820,13 +857,25 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 
   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+    dnl because these -l options might require -L options that are present in
+    dnl LIBS. -l options benefit only from the -L options listed before it.
+    dnl Otherwise, add it to the front of LIBS, because it may be a static
+    dnl library that depends on another static library that is present in LIBS.
+    dnl Static libraries benefit only from the static libraries listed after
+    dnl it.
+    case " $LIB[]NAME" in
+      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+      *)       LIBS="$LIB[]NAME $LIBS" ;;
+    esac
+    AC_TRY_LINK([$3], [$4],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
     LIBS="$ac_save_LIBS"
   ])
   if test "$ac_cv_lib[]Name" = yes; then
     HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
     AC_MSG_CHECKING([how to link with lib[]$1])
     AC_MSG_RESULT([$LIB[]NAME])
   else
@@ -842,8 +891,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
   AC_SUBST([LIB]NAME[_PREFIX])
-  undefine([Name])
-  undefine([NAME])
+  popdef([NAME])
+  popdef([Name])
 ])
 
 dnl Determine the platform dependent parameters needed to use rpath:
@@ -861,7 +910,7 @@ AC_DEFUN([AC_LIB_RPATH],
   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
     . ./conftest.sh
@@ -878,11 +927,32 @@ AC_DEFUN([AC_LIB_RPATH],
   acl_hardcode_direct="$acl_cv_hardcode_direct"
   acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
   dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
+  AC_ARG_ENABLE([rpath],
     [  --disable-rpath         do not hardcode runtime library paths],
     :, enable_rpath=yes)
 ])
 
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_frompackage_]NAME, [$2])
+  popdef([NAME])
+  pushdef([PACK],[$2])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  define([acl_libsinpackage_]PACKUP,
+    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+  popdef([PACKUP])
+  popdef([PACK])
+])
+
 dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
@@ -891,19 +961,23 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
   dnl Autoconf >= 2.61 supports dots in --with options.
-  define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])
+  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
     eval additional_includedir=\"$includedir\"
     eval additional_libdir=\"$libdir\"
   ])
-  AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],
-[  --with-lib]N_A_M_E[-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib]N_A_M_E[-prefix     don't search for lib$1 in includedir and libdir],
+  AC_ARG_WITH(P_A_C_K[-prefix],
+[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
+  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -916,6 +990,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 ])
@@ -925,6 +1003,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
   LTLIB[]NAME=
   INC[]NAME=
   LIB[]NAME[]_PREFIX=
+  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+  dnl computed. So it has to be reset here.
+  HAVE_LIB[]NAME=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -1074,7 +1155,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl Linking with a shared library. We attempt to hardcode its
               dnl directory into the executable's runpath, unless it's the
               dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -1162,7 +1245,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
             case "$found_dir" in
               */$acl_libdirstem | */$acl_libdirstem/)
                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                LIB[]NAME[]_PREFIX="$basedir"
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = '$1'; then
+                  LIB[]NAME[]_PREFIX="$basedir"
+                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -1223,9 +1315,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -1356,6 +1450,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
     done
   fi
+  popdef([P_A_C_K])
+  popdef([PACKLIBS])
+  popdef([PACKUP])
+  popdef([PACK])
+  popdef([NAME])
 ])
 
 dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
@@ -1401,7 +1500,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
         if test -n "$next"; then
           dir="$next"
           dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem"; then
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
             rpathdirs="$rpathdirs $dir"
           fi
           next=
@@ -1410,7 +1510,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
             -L) next=yes ;;
             -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
                  dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem"; then
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
                    rpathdirs="$rpathdirs $dir"
                  fi
                  next= ;;
@@ -1455,8 +1556,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
   AC_SUBST([$1])
 ])
 
-# lib-prefix.m4 serial 5 (gettext-0.15)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -1610,39 +1711,79 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
   prefix="$acl_save_prefix"
 ])
 
-dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
-dnl the basename of the libdir, either "lib" or "lib64".
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
 AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
 [
-  dnl There is no formal standard regarding lib and lib64. The current
-  dnl practice is that on a system supporting 32-bit and 64-bit instruction
-  dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
-  dnl libraries go under $prefix/lib. We determine the compiler's default
-  dnl mode by looking at the compiler's library search path. If at least
-  dnl of its elements ends in /lib64 or points to a directory whose absolute
-  dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
-  dnl default, namely "lib".
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
   acl_libdirstem=lib
-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-  if test -n "$searchpath"; then
-    acl_save_IFS="${IFS= 	}"; IFS=":"
-    for searchdir in $searchpath; do
-      if test -d "$searchdir"; then
-        case "$searchdir" in
-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-          *) searchdir=`cd "$searchdir" && pwd`
-             case "$searchdir" in
-               */lib64 ) acl_libdirstem=lib64 ;;
-             esac ;;
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+      dnl symlink is missing, so we set acl_libdirstem2 too.
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+        ])
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
         esac
       fi
-    done
-    IFS="$acl_save_IFS"
-  fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 ])
 
-# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
+dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -1660,20 +1801,21 @@ dnl Authors:
 dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
 dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
 
 AC_DEFUN([AM_NLS],
 [
   AC_MSG_CHECKING([whether NLS is requested])
   dnl Default is enabled NLS
-  AC_ARG_ENABLE(nls,
+  AC_ARG_ENABLE([nls],
     [  --disable-nls           do not use Native Language Support],
     USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT($USE_NLS)
-  AC_SUBST(USE_NLS)
+  AC_MSG_RESULT([$USE_NLS])
+  AC_SUBST([USE_NLS])
 ])
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
 # 
 # Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
 #
@@ -1701,7 +1843,10 @@ AC_DEFUN([AM_NLS],
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
 fi
@@ -1714,7 +1859,6 @@ if test -n "$PKG_CONFIG"; then
 		AC_MSG_RESULT([no])
 		PKG_CONFIG=""
 	fi
-		
 fi[]dnl
 ])# PKG_PROG_PKG_CONFIG
 
@@ -1723,34 +1867,31 @@ fi[]dnl
 # Check to see whether a particular set of modules exists.  Similar
 # to PKG_CHECK_MODULES(), but does not set variables or print errors.
 #
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
 # --------------------------------------------------------------
 AC_DEFUN([PKG_CHECK_EXISTS],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 if test -n "$PKG_CONFIG" && \
     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_ifval([$2], [$2], [:])
+  m4_default([$2], [:])
 m4_ifvaln([$3], [else
   $3])dnl
 fi])
 
-
 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
 # ---------------------------------------------
 m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
-    if test -n "$$1"; then
-        pkg_cv_[]$1="$$1"
-    else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-			 [pkg_failed=yes])
-    fi
-else
-	pkg_failed=untried
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
 fi[]dnl
 ])# _PKG_CONFIG
 
@@ -1792,16 +1933,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.])
 
 if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
         else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-	ifelse([$4], , [AC_MSG_ERROR(dnl
+	m4_default([$4], [AC_MSG_ERROR(
 [Package requirements ($2) were not met:
 
 $$1_PKG_ERRORS
@@ -1809,30 +1951,29 @@ $$1_PKG_ERRORS
 Consider adjusting the PKG_CONFIG_PATH environment variable if you
 installed software in a non-standard prefix.
 
-_PKG_TEXT
-])],
-		[AC_MSG_RESULT([no])
-                $4])
+_PKG_TEXT])dnl
+        ])
 elif test $pkg_failed = untried; then
-	ifelse([$4], , [AC_MSG_FAILURE(dnl
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
 _PKG_TEXT
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
-		[$4])
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl
+        ])
 else
 	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
 	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
         AC_MSG_RESULT([yes])
-	ifelse([$3], , :, [$3])
+	$3
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# po.m4 serial 15 (gettext-0.17)
-dnl Copyright (C) 1995-2007 Free Software Foundation, Inc.
+# po.m4 serial 17 (gettext-0.18)
+dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -1850,7 +1991,7 @@ dnl Authors:
 dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
 dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
 
 dnl Checks for all prerequisites of the po subdirectory.
 AC_DEFUN([AM_PO_SUBDIRS],
@@ -1862,7 +2003,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
 
   dnl Release version of the gettext macros. This is used to ensure that
   dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
+  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
 
   dnl Perform the following tests also if --disable-nls has been given,
   dnl because they are needed for "make dist" to work.
@@ -1874,7 +2015,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
     [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
      (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
     :)
-  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
 
   dnl Test whether it is GNU msgfmt >= 0.15.
 changequote(,)dnl
@@ -2281,8 +2422,8 @@ AC_DEFUN([AM_XGETTEXT_OPTION],
   XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
 ])
 
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+# progtest.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -2299,7 +2440,7 @@ dnl They are *not* in the public domain.
 dnl Authors:
 dnl   Ulrich Drepper <drepper at cygnus.com>, 1996.
 
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
 
 # Search path for a program which passes the given test.
 
@@ -2338,7 +2479,7 @@ rm -f conf$$.file
 # Extract the first word of "$2", so it can be a program name with args.
 set dummy $2; ac_word=[$]2
 AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
+AC_CACHE_VAL([ac_cv_path_$1],
 [case "[$]$1" in
   [[\\/]]* | ?:[[\\/]]*)
     ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
@@ -2367,11 +2508,11 @@ ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
 esac])dnl
 $1="$ac_cv_path_$1"
 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
+  AC_MSG_RESULT([$][$1])
 else
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([no])
 fi
-AC_SUBST($1)dnl
+AC_SUBST([$1])dnl
 ])
 
 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
diff --git a/configure b/configure
index d392a22..df796a8 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for smuxi 0.7.1.
+# Generated by GNU Autoconf 2.65 for smuxi 0.7.2.
 #
 # Report bugs to <http://www.smuxi.org/newticket>.
 #
@@ -172,7 +172,8 @@ test x\$exitcode = x0 || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
   if (eval "$as_required") 2>/dev/null; then :
   as_have_required=yes
 else
@@ -551,8 +552,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='smuxi'
 PACKAGE_TARNAME='smuxi'
-PACKAGE_VERSION='0.7.1'
-PACKAGE_STRING='smuxi 0.7.1'
+PACKAGE_VERSION='0.7.2'
+PACKAGE_STRING='smuxi 0.7.2'
 PACKAGE_BUGREPORT='http://www.smuxi.org/newticket'
 PACKAGE_URL=''
 
@@ -617,6 +618,8 @@ MCS
 MONO
 MONO_MODULE_LIBS
 MONO_MODULE_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
 expanded_libdir
 LTLIBINTL
 LIBINTL
@@ -624,6 +627,9 @@ INTLLIBS
 LTLIBICONV
 LIBICONV
 INTL_MACOSX_LIBS
+EGREP
+GREP
+CPP
 host_os
 host_vendor
 host_cpu
@@ -797,7 +803,10 @@ CFLAGS
 LDFLAGS
 LIBS
 CPPFLAGS
+CPP
 PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
 MONO_MODULE_CFLAGS
 MONO_MODULE_LIBS
 LOG4NET_CFLAGS
@@ -1359,7 +1368,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures smuxi 0.7.1 to adapt to many kinds of systems.
+\`configure' configures smuxi 0.7.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1429,7 +1438,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of smuxi 0.7.1:";;
+     short | recursive ) echo "Configuration of smuxi 0.7.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1476,7 +1485,12 @@ Some influential environment variables:
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
   PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
   MONO_MODULE_CFLAGS
               C compiler flags for MONO_MODULE, overriding pkg-config
   MONO_MODULE_LIBS
@@ -1582,7 +1596,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-smuxi configure 0.7.1
+smuxi configure 0.7.2
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1747,6 +1761,43 @@ $as_echo "$ac_res" >&6; }
 
 } # ac_fn_c_check_func
 
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
 # ac_fn_c_try_run LINENO
 # ----------------------
 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
@@ -1792,7 +1843,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by smuxi $as_me 0.7.1, which was
+It was created by smuxi $as_me 0.7.2, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -2603,7 +2654,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='smuxi'
- VERSION='0.7.1'
+ VERSION='0.7.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4395,7 +4446,7 @@ _ACEOF
 
 
 
-      GETTEXT_MACRO_VERSION=0.17
+      GETTEXT_MACRO_VERSION=0.18
 
 
 
@@ -4806,7 +4857,7 @@ $as_echo_n "checking for ld used by GCC... " >&6; }
       # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
       ;;
@@ -4840,9 +4891,9 @@ else
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
       *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
+        test "$with_gnu_ld" != no && break ;;
       *)
-	test "$with_gnu_ld" != yes && break ;;
+        test "$with_gnu_ld" != yes && break ;;
       esac
     fi
   done
@@ -4913,24 +4964,339 @@ else
 fi
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
 
-                  acl_libdirstem=lib
-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-  if test -n "$searchpath"; then
-    acl_save_IFS="${IFS= 	}"; IFS=":"
-    for searchdir in $searchpath; do
-      if test -d "$searchdir"; then
-        case "$searchdir" in
-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-          *) searchdir=`cd "$searchdir" && pwd`
-             case "$searchdir" in
-               */lib64 ) acl_libdirstem=lib64 ;;
-             esac ;;
-        esac
-      fi
     done
-    IFS="$acl_save_IFS"
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if test "${gl_cv_solaris_64bit+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+  gl_cv_solaris_64bit=yes
+else
+  gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+        esac
+      fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS= 	}"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              */../ | */.. )
+                # Better ignore directories of this form. They are misleading.
+                ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
 
 
 
@@ -4976,6 +5342,10 @@ if test "${with_libiconv_prefix+set}" = set; then :
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 
@@ -4985,6 +5355,7 @@ fi
   LTLIBICONV=
   INCICONV=
   LIBICONV_PREFIX=
+      HAVE_LIBICONV=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -5127,7 +5498,9 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                                 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
               else
                                                                                 haveit=
@@ -5194,7 +5567,16 @@ fi
             case "$found_dir" in
               */$acl_libdirstem | */$acl_libdirstem/)
                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                LIBICONV_PREFIX="$basedir"
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'iconv'; then
+                  LIBICONV_PREFIX="$basedir"
+                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -5243,9 +5625,11 @@ fi
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -5395,6 +5779,12 @@ fi
 
 
 
+
+
+
+
+
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
 if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then :
@@ -5667,6 +6057,25 @@ int main ()
           return 1;
       }
   }
+  /* Test against Solaris 10 bug: Failures are not distinguishable from
+     successful returns.  */
+  {
+    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+    if (cd_ascii_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\263";
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_ascii_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          return 1;
+      }
+  }
 #if 0 /* This bug could be worked around by the caller.  */
   /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
   {
@@ -5745,6 +6154,9 @@ $as_echo "$LIBICONV" >&6; }
 
 
 
+
+
+
     use_additional=yes
 
   acl_save_prefix="$prefix"
@@ -5781,6 +6193,10 @@ if test "${with_libintl_prefix+set}" = set; then :
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 
@@ -5790,6 +6206,7 @@ fi
   LTLIBINTL=
   INCINTL=
   LIBINTL_PREFIX=
+      HAVE_LIBINTL=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -5932,7 +6349,9 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                                 LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
               else
                                                                                 haveit=
@@ -5999,7 +6418,16 @@ fi
             case "$found_dir" in
               */$acl_libdirstem | */$acl_libdirstem/)
                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                LIBINTL_PREFIX="$basedir"
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
+                additional_includedir="$basedir/include"
+                ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                if test "$name" = 'intl'; then
+                  LIBINTL_PREFIX="$basedir"
+                fi
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -6048,9 +6476,11 @@ fi
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -6176,6 +6606,11 @@ fi
     done
   fi
 
+
+
+
+
+
           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
 $as_echo_n "checking for GNU gettext in libintl... " >&6; }
 if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then :
@@ -6373,6 +6808,10 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
 
 
 
+
+
+
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -6485,7 +6924,6 @@ $as_echo "yes" >&6; }
 $as_echo "no" >&6; }
 		PKG_CONFIG=""
 	fi
-
 fi
 
 
@@ -6493,11 +6931,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MONO_MODULE" >&5
 $as_echo_n "checking for MONO_MODULE... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$MONO_MODULE_CFLAGS"; then
-        pkg_cv_MONO_MODULE_CFLAGS="$MONO_MODULE_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$MONO_MODULE_CFLAGS"; then
+    pkg_cv_MONO_MODULE_CFLAGS="$MONO_MODULE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= 1.9.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "mono >= 1.9.1") 2>&5
   ac_status=$?
@@ -6507,15 +6944,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$MONO_MODULE_LIBS"; then
-        pkg_cv_MONO_MODULE_LIBS="$MONO_MODULE_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$MONO_MODULE_LIBS"; then
+    pkg_cv_MONO_MODULE_LIBS="$MONO_MODULE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= 1.9.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "mono >= 1.9.1") 2>&5
   ac_status=$?
@@ -6525,14 +6960,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -6540,9 +6976,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        MONO_MODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mono >= 1.9.1"`
+	        MONO_MODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "mono >= 1.9.1" 2>&1`
         else
-	        MONO_MODULE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mono >= 1.9.1"`
+	        MONO_MODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors "mono >= 1.9.1" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$MONO_MODULE_PKG_ERRORS" >&5
@@ -6556,9 +6992,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables MONO_MODULE_CFLAGS
 and MONO_MODULE_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -6576,7 +7013,7 @@ else
 	MONO_MODULE_LIBS=$pkg_cv_MONO_MODULE_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 
 
@@ -6772,11 +7209,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG4NET" >&5
 $as_echo_n "checking for LOG4NET... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LOG4NET_CFLAGS"; then
-        pkg_cv_LOG4NET_CFLAGS="$LOG4NET_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LOG4NET_CFLAGS"; then
+    pkg_cv_LOG4NET_CFLAGS="$LOG4NET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"log4net\""; } >&5
   ($PKG_CONFIG --exists --print-errors "log4net") 2>&5
   ac_status=$?
@@ -6786,15 +7222,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$LOG4NET_LIBS"; then
-        pkg_cv_LOG4NET_LIBS="$LOG4NET_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$LOG4NET_LIBS"; then
+    pkg_cv_LOG4NET_LIBS="$LOG4NET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"log4net\""; } >&5
   ($PKG_CONFIG --exists --print-errors "log4net") 2>&5
   ac_status=$?
@@ -6804,14 +7238,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -6819,9 +7254,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        LOG4NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "log4net"`
+	        LOG4NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "log4net" 2>&1`
         else
-	        LOG4NET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "log4net"`
+	        LOG4NET_PKG_ERRORS=`$PKG_CONFIG --print-errors "log4net" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$LOG4NET_PKG_ERRORS" >&5
@@ -6835,9 +7270,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables LOG4NET_CFLAGS
 and LOG4NET_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -6855,7 +7291,7 @@ else
 	LOG4NET_LIBS=$pkg_cv_LOG4NET_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 
 if test -n "$PKG_CONFIG" && \
@@ -6874,11 +7310,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NINI" >&5
 $as_echo_n "checking for NINI... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$NINI_CFLAGS"; then
-        pkg_cv_NINI_CFLAGS="$NINI_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$NINI_CFLAGS"; then
+    pkg_cv_NINI_CFLAGS="$NINI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nini-1.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "nini-1.1") 2>&5
   ac_status=$?
@@ -6888,15 +7323,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$NINI_LIBS"; then
-        pkg_cv_NINI_LIBS="$NINI_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$NINI_LIBS"; then
+    pkg_cv_NINI_LIBS="$NINI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nini-1.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "nini-1.1") 2>&5
   ac_status=$?
@@ -6906,14 +7339,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -6921,9 +7355,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        NINI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "nini-1.1"`
+	        NINI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "nini-1.1" 2>&1`
         else
-	        NINI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nini-1.1"`
+	        NINI_PKG_ERRORS=`$PKG_CONFIG --print-errors "nini-1.1" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$NINI_PKG_ERRORS" >&5
@@ -6937,9 +7371,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables NINI_CFLAGS
 and NINI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -6957,7 +7392,7 @@ else
 	NINI_LIBS=$pkg_cv_NINI_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 else
 
@@ -6965,11 +7400,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NINI" >&5
 $as_echo_n "checking for NINI... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$NINI_CFLAGS"; then
-        pkg_cv_NINI_CFLAGS="$NINI_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$NINI_CFLAGS"; then
+    pkg_cv_NINI_CFLAGS="$NINI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nini >= 1.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "nini >= 1.1") 2>&5
   ac_status=$?
@@ -6979,15 +7413,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$NINI_LIBS"; then
-        pkg_cv_NINI_LIBS="$NINI_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$NINI_LIBS"; then
+    pkg_cv_NINI_LIBS="$NINI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nini >= 1.1\""; } >&5
   ($PKG_CONFIG --exists --print-errors "nini >= 1.1") 2>&5
   ac_status=$?
@@ -6997,14 +7429,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7012,9 +7445,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        NINI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "nini >= 1.1"`
+	        NINI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "nini >= 1.1" 2>&1`
         else
-	        NINI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "nini >= 1.1"`
+	        NINI_PKG_ERRORS=`$PKG_CONFIG --print-errors "nini >= 1.1" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$NINI_PKG_ERRORS" >&5
@@ -7028,9 +7461,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables NINI_CFLAGS
 and NINI_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -7048,7 +7482,7 @@ else
 	NINI_LIBS=$pkg_cv_NINI_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 fi
 
@@ -7067,11 +7501,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SMARTIRC4NET" >&5
 $as_echo_n "checking for SMARTIRC4NET... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$SMARTIRC4NET_CFLAGS"; then
-        pkg_cv_SMARTIRC4NET_CFLAGS="$SMARTIRC4NET_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$SMARTIRC4NET_CFLAGS"; then
+    pkg_cv_SMARTIRC4NET_CFLAGS="$SMARTIRC4NET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"smartirc4net >= 0.4.5\""; } >&5
   ($PKG_CONFIG --exists --print-errors "smartirc4net >= 0.4.5") 2>&5
   ac_status=$?
@@ -7081,15 +7514,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$SMARTIRC4NET_LIBS"; then
-        pkg_cv_SMARTIRC4NET_LIBS="$SMARTIRC4NET_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$SMARTIRC4NET_LIBS"; then
+    pkg_cv_SMARTIRC4NET_LIBS="$SMARTIRC4NET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"smartirc4net >= 0.4.5\""; } >&5
   ($PKG_CONFIG --exists --print-errors "smartirc4net >= 0.4.5") 2>&5
   ac_status=$?
@@ -7099,14 +7530,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7114,17 +7546,17 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        SMARTIRC4NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "smartirc4net >= 0.4.5"`
+	        SMARTIRC4NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "smartirc4net >= 0.4.5" 2>&1`
         else
-	        SMARTIRC4NET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "smartirc4net >= 0.4.5"`
+	        SMARTIRC4NET_PKG_ERRORS=`$PKG_CONFIG --print-errors "smartirc4net >= 0.4.5" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$SMARTIRC4NET_PKG_ERRORS" >&5
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                IRC_SUPPORT=no
+	IRC_SUPPORT=no
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	IRC_SUPPORT=no
 else
 	SMARTIRC4NET_CFLAGS=$pkg_cv_SMARTIRC4NET_CFLAGS
@@ -7163,11 +7595,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSCARLIB" >&5
 $as_echo_n "checking for OSCARLIB... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$OSCARLIB_CFLAGS"; then
-        pkg_cv_OSCARLIB_CFLAGS="$OSCARLIB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$OSCARLIB_CFLAGS"; then
+    pkg_cv_OSCARLIB_CFLAGS="$OSCARLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oscarlib\""; } >&5
   ($PKG_CONFIG --exists --print-errors "oscarlib") 2>&5
   ac_status=$?
@@ -7177,15 +7608,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$OSCARLIB_LIBS"; then
-        pkg_cv_OSCARLIB_LIBS="$OSCARLIB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$OSCARLIB_LIBS"; then
+    pkg_cv_OSCARLIB_LIBS="$OSCARLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oscarlib\""; } >&5
   ($PKG_CONFIG --exists --print-errors "oscarlib") 2>&5
   ac_status=$?
@@ -7195,14 +7624,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7210,17 +7640,17 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        OSCARLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "oscarlib"`
+	        OSCARLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "oscarlib" 2>&1`
         else
-	        OSCARLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "oscarlib"`
+	        OSCARLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "oscarlib" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$OSCARLIB_PKG_ERRORS" >&5
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                OSCAR_SUPPORT=no
+	OSCAR_SUPPORT=no
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	OSCAR_SUPPORT=no
 else
 	OSCARLIB_CFLAGS=$pkg_cv_OSCARLIB_CFLAGS
@@ -7259,11 +7689,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JABBER_NET" >&5
 $as_echo_n "checking for JABBER_NET... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$JABBER_NET_CFLAGS"; then
-        pkg_cv_JABBER_NET_CFLAGS="$JABBER_NET_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$JABBER_NET_CFLAGS"; then
+    pkg_cv_JABBER_NET_CFLAGS="$JABBER_NET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"jabber-net\""; } >&5
   ($PKG_CONFIG --exists --print-errors "jabber-net") 2>&5
   ac_status=$?
@@ -7273,15 +7702,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$JABBER_NET_LIBS"; then
-        pkg_cv_JABBER_NET_LIBS="$JABBER_NET_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$JABBER_NET_LIBS"; then
+    pkg_cv_JABBER_NET_LIBS="$JABBER_NET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"jabber-net\""; } >&5
   ($PKG_CONFIG --exists --print-errors "jabber-net") 2>&5
   ac_status=$?
@@ -7291,14 +7718,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7306,17 +7734,17 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        JABBER_NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "jabber-net"`
+	        JABBER_NET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "jabber-net" 2>&1`
         else
-	        JABBER_NET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "jabber-net"`
+	        JABBER_NET_PKG_ERRORS=`$PKG_CONFIG --print-errors "jabber-net" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$JABBER_NET_PKG_ERRORS" >&5
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                XMPP_SUPPORT=no
+	XMPP_SUPPORT=no
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	XMPP_SUPPORT=no
 else
 	JABBER_NET_CFLAGS=$pkg_cv_JABBER_NET_CFLAGS
@@ -7355,11 +7783,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MSNPSHARP" >&5
 $as_echo_n "checking for MSNPSHARP... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$MSNPSHARP_CFLAGS"; then
-        pkg_cv_MSNPSHARP_CFLAGS="$MSNPSHARP_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$MSNPSHARP_CFLAGS"; then
+    pkg_cv_MSNPSHARP_CFLAGS="$MSNPSHARP_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"msnp-sharp\""; } >&5
   ($PKG_CONFIG --exists --print-errors "msnp-sharp") 2>&5
   ac_status=$?
@@ -7369,15 +7796,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$MSNPSHARP_LIBS"; then
-        pkg_cv_MSNPSHARP_LIBS="$MSNPSHARP_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$MSNPSHARP_LIBS"; then
+    pkg_cv_MSNPSHARP_LIBS="$MSNPSHARP_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"msnp-sharp\""; } >&5
   ($PKG_CONFIG --exists --print-errors "msnp-sharp") 2>&5
   ac_status=$?
@@ -7387,14 +7812,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7402,17 +7828,17 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        MSNPSHARP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "msnp-sharp"`
+	        MSNPSHARP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "msnp-sharp" 2>&1`
         else
-	        MSNPSHARP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "msnp-sharp"`
+	        MSNPSHARP_PKG_ERRORS=`$PKG_CONFIG --print-errors "msnp-sharp" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$MSNPSHARP_PKG_ERRORS" >&5
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-                MSNP_SUPPORT=no
+	MSNP_SUPPORT=no
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	MSNP_SUPPORT=no
 else
 	MSNPSHARP_CFLAGS=$pkg_cv_MSNPSHARP_CFLAGS
@@ -7515,11 +7941,10 @@ pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB_SHARP_20" >&5
 $as_echo_n "checking for GLIB_SHARP_20... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_SHARP_20_CFLAGS"; then
-        pkg_cv_GLIB_SHARP_20_CFLAGS="$GLIB_SHARP_20_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLIB_SHARP_20_CFLAGS"; then
+    pkg_cv_GLIB_SHARP_20_CFLAGS="$GLIB_SHARP_20_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7529,15 +7954,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_SHARP_20_LIBS"; then
-        pkg_cv_GLIB_SHARP_20_LIBS="$GLIB_SHARP_20_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLIB_SHARP_20_LIBS"; then
+    pkg_cv_GLIB_SHARP_20_LIBS="$GLIB_SHARP_20_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7547,14 +7970,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7562,9 +7986,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-sharp-2.0 >= 2.8"`
+	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-sharp-2.0 >= 2.8" 2>&1`
         else
-	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-sharp-2.0 >= 2.8"`
+	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-sharp-2.0 >= 2.8" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GLIB_SHARP_20_PKG_ERRORS" >&5
@@ -7578,9 +8002,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables GLIB_SHARP_20_CFLAGS
 and GLIB_SHARP_20_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -7598,18 +8023,17 @@ else
 	GLIB_SHARP_20_LIBS=$pkg_cv_GLIB_SHARP_20_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK_SHARP_20" >&5
 $as_echo_n "checking for GTK_SHARP_20... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTK_SHARP_20_CFLAGS"; then
-        pkg_cv_GTK_SHARP_20_CFLAGS="$GTK_SHARP_20_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GTK_SHARP_20_CFLAGS"; then
+    pkg_cv_GTK_SHARP_20_CFLAGS="$GTK_SHARP_20_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7619,15 +8043,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GTK_SHARP_20_LIBS"; then
-        pkg_cv_GTK_SHARP_20_LIBS="$GTK_SHARP_20_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GTK_SHARP_20_LIBS"; then
+    pkg_cv_GTK_SHARP_20_LIBS="$GTK_SHARP_20_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7637,14 +8059,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7652,9 +8075,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk-sharp-2.0 >= 2.8"`
+	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk-sharp-2.0 >= 2.8" 2>&1`
         else
-	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk-sharp-2.0 >= 2.8"`
+	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk-sharp-2.0 >= 2.8" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GTK_SHARP_20_PKG_ERRORS" >&5
@@ -7668,9 +8091,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables GTK_SHARP_20_CFLAGS
 and GTK_SHARP_20_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -7688,18 +8112,17 @@ else
 	GTK_SHARP_20_LIBS=$pkg_cv_GTK_SHARP_20_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLADE_SHARP_20" >&5
 $as_echo_n "checking for GLADE_SHARP_20... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLADE_SHARP_20_CFLAGS"; then
-        pkg_cv_GLADE_SHARP_20_CFLAGS="$GLADE_SHARP_20_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLADE_SHARP_20_CFLAGS"; then
+    pkg_cv_GLADE_SHARP_20_CFLAGS="$GLADE_SHARP_20_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glade-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glade-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7709,15 +8132,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLADE_SHARP_20_LIBS"; then
-        pkg_cv_GLADE_SHARP_20_LIBS="$GLADE_SHARP_20_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLADE_SHARP_20_LIBS"; then
+    pkg_cv_GLADE_SHARP_20_LIBS="$GLADE_SHARP_20_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glade-sharp-2.0 >= 2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glade-sharp-2.0 >= 2.8") 2>&5
   ac_status=$?
@@ -7727,14 +8148,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-	pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -7742,9 +8164,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GLADE_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glade-sharp-2.0 >= 2.8"`
+	        GLADE_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glade-sharp-2.0 >= 2.8" 2>&1`
         else
-	        GLADE_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glade-sharp-2.0 >= 2.8"`
+	        GLADE_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --print-errors "glade-sharp-2.0 >= 2.8" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GLADE_SHARP_20_PKG_ERRORS" >&5
@@ -7758,9 +8180,10 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables GLADE_SHARP_20_CFLAGS
 and GLADE_SHARP_20_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
@@ -7778,7 +8201,7 @@ else
 	GLADE_SHARP_20_LIBS=$pkg_cv_GLADE_SHARP_20_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-	:
+
 fi
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-sharp version >= 2.10" >&5
@@ -8580,7 +9003,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by smuxi $as_me 0.7.1, which was
+This file was extended by smuxi $as_me 0.7.2, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8637,7 +9060,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-smuxi config.status 0.7.1
+smuxi config.status 0.7.2
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index f0d12f9..5e48989 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.54])
-AC_INIT([smuxi], [0.7.1], [http://www.smuxi.org/newticket])
+AC_INIT([smuxi], [0.7.2], [http://www.smuxi.org/newticket])
 # using the --foreign option makes automake less strict about GNU policy 
 AC_CONFIG_MACRO_DIR([.])
 AM_INIT_AUTOMAKE([foreign])
diff --git a/glade/smuxi-frontend-gnome.glade b/glade/smuxi-frontend-gnome.glade
index 7de54ad..f1808b8 100644
--- a/glade/smuxi-frontend-gnome.glade
+++ b/glade/smuxi-frontend-gnome.glade
@@ -1,14 +1,17 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--*- mode: xml -*-->
+<?xml version="1.0"?>
 <glade-interface>
+  <!-- interface-requires gtk+ 2.6 -->
+  <!-- interface-naming-policy toplevel-contextual -->
   <widget class="GtkDialog" id="PreferencesDialog">
     <property name="visible">True</property>
     <property name="title" translatable="yes">Smuxi - Preferences</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="default_width">700</property>
+    <property name="default_height">600</property>
+    <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
+        <property name="orientation">vertical</property>
         <child>
           <widget class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
@@ -18,9 +21,9 @@
                 <property name="width_request">128</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                <property name="shadow_type">GTK_SHADOW_IN</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">in</property>
                 <child>
                   <widget class="GtkTreeView" id="MenuTreeView">
                     <property name="visible">True</property>
@@ -32,6 +35,7 @@
               </widget>
               <packing>
                 <property name="expand">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
@@ -43,6 +47,7 @@
                   <widget class="GtkVBox" id="vbox1">
                     <property name="visible">True</property>
                     <property name="border_width">5</property>
+                    <property name="orientation">vertical</property>
                     <property name="spacing">5</property>
                     <child>
                       <widget class="GtkTable" id="table1">
@@ -56,7 +61,6 @@
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="tooltip" translatable="yes">The nickname to use. You can specify extra nicknames (separated by spaces) which will be used as fallbacks when the first choice is not available. By default $nick_ and $nick__ will be used as fallbacks.</property>
-                            <property name="invisible_char">*</property>
                             <signal name="changed" handler="_OnChanged"/>
                           </widget>
                           <packing>
@@ -69,7 +73,6 @@
                           <widget class="GtkEntry" id="ConnectionUsernameEntry">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                             <signal name="changed" handler="_OnChanged"/>
                           </widget>
                           <packing>
@@ -84,7 +87,6 @@
                           <widget class="GtkEntry" id="ConnectionRealnameEntry">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="invisible_char">*</property>
                             <signal name="changed" handler="_OnChanged"/>
                           </widget>
                           <packing>
@@ -106,6 +108,7 @@
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -133,6 +136,7 @@
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -162,6 +166,7 @@
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -210,14 +215,17 @@
                       </widget>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkVBox" id="vbox2">
                         <property name="visible">True</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <widget class="GtkVBox" id="vbox3">
                             <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
                             <child>
                               <widget class="GtkHBox" id="hbox2">
                                 <property name="visible">True</property>
@@ -229,6 +237,7 @@
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -243,6 +252,7 @@
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -251,15 +261,15 @@
                                 <property name="height_request">100</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <property name="hscrollbar_policy">automatic</property>
+                                <property name="shadow_type">in</property>
                                 <child>
                                   <widget class="GtkTextView" id="OnConnectCommandsTextView">
                                     <property name="width_request">152</property>
                                     <property name="height_request">168</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="wrap_mode">GTK_WRAP_WORD</property>
+                                    <property name="wrap_mode">word</property>
                                   </widget>
                                 </child>
                               </widget>
@@ -268,10 +278,14 @@
                               </packing>
                             </child>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
                           <widget class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
                             <child>
                               <widget class="GtkHBox" id="hbox3">
                                 <property name="visible">True</property>
@@ -283,6 +297,7 @@
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -297,6 +312,7 @@
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
@@ -305,15 +321,15 @@
                                 <property name="height_request">100</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <property name="hscrollbar_policy">automatic</property>
+                                <property name="shadow_type">in</property>
                                 <child>
                                   <widget class="GtkTextView" id="OnStartupCommandsTextView">
                                     <property name="width_request">152</property>
                                     <property name="height_request">168</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="wrap_mode">GTK_WRAP_WORD</property>
+                                    <property name="wrap_mode">word</property>
                                   </widget>
                                 </child>
                               </widget>
@@ -341,8 +357,8 @@
                     <property name="mnemonic_widget">Notebook</property>
                   </widget>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
                 <child>
@@ -353,6 +369,7 @@
                     <child>
                       <widget class="GtkVBox" id="vbox10">
                         <property name="visible">True</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <widget class="GtkTable" id="table5">
                             <property name="visible">True</property>
@@ -372,6 +389,7 @@
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -399,6 +417,7 @@
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -428,6 +447,7 @@
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -496,7 +516,6 @@ tt = AM/PM
 dd = day
 MM = month
 yy/yyyy = year</property>
-                                <property name="invisible_char">*</property>
                                 <property name="text">HH:mm</property>
                                 <signal name="changed" handler="_OnChanged"/>
                               </widget>
@@ -510,13 +529,14 @@ yy/yyyy = year</property>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
                           <widget class="GtkCheckButton" id="StripColorsCheckButton">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="response_id">0</property>
+                            <property name="receives_default">False</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="_OnChanged"/>
                             <child>
@@ -536,6 +556,7 @@ yy/yyyy = year</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -565,7 +586,7 @@ yy/yyyy = year</property>
                           <widget class="GtkCheckButton" id="StripFormattingsCheckButton">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="response_id">0</property>
+                            <property name="receives_default">False</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="_OnChanged"/>
                             <child>
@@ -585,6 +606,7 @@ yy/yyyy = year</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -615,7 +637,7 @@ yy/yyyy = year</property>
                             <property name="visible">True</property>
                             <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
-                            <property name="response_id">0</property>
+                            <property name="receives_default">False</property>
                             <property name="draw_indicator">True</property>
                             <signal name="toggled" handler="_OnChanged"/>
                             <child>
@@ -635,6 +657,7 @@ yy/yyyy = year</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
@@ -669,14 +692,15 @@ yy/yyyy = year</property>
                         <property name="label" translatable="yes">General</property>
                       </widget>
                       <packing>
-                        <property name="type">tab</property>
                         <property name="tab_fill">False</property>
+                        <property name="type">tab</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkVBox" id="vbox5">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="orientation">vertical</property>
                         <property name="spacing">5</property>
                         <child>
                           <widget class="GtkFrame" id="frame1">
@@ -689,11 +713,12 @@ yy/yyyy = year</property>
                                 <child>
                                   <widget class="GtkVBox" id="vbox6">
                                     <property name="visible">True</property>
+                                    <property name="orientation">vertical</property>
                                     <child>
                                       <widget class="GtkRadioButton" id="TabPositionRadioButtonTop">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="draw_indicator">True</property>
                                         <signal name="toggled" handler="_OnChanged"/>
                                         <child>
@@ -713,6 +738,7 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
@@ -735,13 +761,14 @@ yy/yyyy = year</property>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkRadioButton" id="TabPositionRadioButtonBottom">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">TabPositionRadioButtonTop</property>
                                         <signal name="toggled" handler="_OnChanged"/>
@@ -762,6 +789,7 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
@@ -791,7 +819,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkRadioButton" id="TabPositionRadioButtonLeft">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">TabPositionRadioButtonTop</property>
@@ -813,6 +841,7 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
@@ -842,7 +871,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkRadioButton" id="TabPositionRadioButtonRight">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">TabPositionRadioButtonTop</property>
                                         <signal name="toggled" handler="_OnChanged"/>
@@ -863,6 +892,7 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
@@ -890,11 +920,11 @@ yy/yyyy = year</property>
                                     </child>
                                     <child>
                                       <widget class="GtkRadioButton" id="TabPositionRadioButtonNone">
+                                        <property name="label" translatable="yes">None</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">None</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">TabPositionRadioButtonTop</property>
                                         <signal name="toggled" handler="_OnChanged"/>
@@ -922,6 +952,7 @@ yy/yyyy = year</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -943,7 +974,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkColorButton" id="ActivityColorButton">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <signal name="color_set" handler="_OnChanged"/>
                                       </widget>
                                       <packing>
@@ -959,7 +990,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkColorButton" id="ModeColorButton">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <signal name="color_set" handler="_OnChanged"/>
                                       </widget>
                                       <packing>
@@ -975,7 +1006,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkColorButton" id="NoActivityColorButton">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <signal name="color_set" handler="_OnChanged"/>
                                       </widget>
                                       <packing>
@@ -1039,7 +1070,7 @@ yy/yyyy = year</property>
                                       <widget class="GtkColorButton" id="HighlightColorButton">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <signal name="color_set" handler="_OnChanged"/>
                                       </widget>
                                       <packing>
@@ -1083,9 +1114,9 @@ yy/yyyy = year</property>
                         <property name="label" translatable="yes">Tabs</property>
                       </widget>
                       <packing>
-                        <property name="type">tab</property>
                         <property name="position">1</property>
                         <property name="tab_fill">False</property>
+                        <property name="type">tab</property>
                       </packing>
                     </child>
                     <child>
@@ -1099,6 +1130,7 @@ yy/yyyy = year</property>
                             <child>
                               <widget class="GtkVBox" id="vbox7">
                                 <property name="visible">True</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">5</property>
                                 <child>
                                   <widget class="GtkTable" id="table4">
@@ -1119,6 +1151,7 @@ yy/yyyy = year</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -1146,6 +1179,7 @@ yy/yyyy = year</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -1175,6 +1209,7 @@ yy/yyyy = year</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -1217,7 +1252,6 @@ yy/yyyy = year</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="max_length">1</property>
-                                        <property name="invisible_char">*</property>
                                         <property name="text">/</property>
                                         <signal name="changed" handler="_OnChanged"/>
                                       </widget>
@@ -1235,7 +1269,6 @@ yy/yyyy = year</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="max_length">1</property>
-                                        <property name="invisible_char">*</property>
                                         <property name="text">:</property>
                                         <signal name="changed" handler="_OnChanged"/>
                                       </widget>
@@ -1249,15 +1282,16 @@ yy/yyyy = year</property>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkCheckButton" id="BashStyleCompletionCheckButton">
+                                    <property name="label" translatable="yes">Bash-Style Completion</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Bash-Style Completion</property>
+                                    <property name="receives_default">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
                                     <property name="draw_indicator">True</property>
                                     <signal name="toggled" handler="_OnChanged"/>
                                   </widget>
@@ -1293,15 +1327,16 @@ yy/yyyy = year</property>
                         <property name="label" translatable="yes">Input</property>
                       </widget>
                       <packing>
-                        <property name="type">tab</property>
                         <property name="position">2</property>
                         <property name="tab_fill">False</property>
+                        <property name="type">tab</property>
                       </packing>
                     </child>
                     <child>
                       <widget class="GtkVBox" id="vbox8">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="orientation">vertical</property>
                         <child>
                           <widget class="GtkFrame" id="frame2">
                             <property name="visible">True</property>
@@ -1319,11 +1354,11 @@ yy/yyyy = year</property>
                                     <property name="row_spacing">2</property>
                                     <child>
                                       <widget class="GtkCheckButton" id="NickColorsCheckButton">
+                                        <property name="label" translatable="yes">Nick Colors</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
                                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                        <property name="label" translatable="yes">Nick Colors</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                         <signal name="toggled" handler="_OnChanged"/>
                                       </widget>
@@ -1344,11 +1379,12 @@ yy/yyyy = year</property>
                                             <child>
                                               <widget class="GtkVBox" id="vbox17">
                                                 <property name="visible">True</property>
+                                                <property name="orientation">vertical</property>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="UserListPositionRadioButtonLeft">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="active">True</property>
                                                     <property name="draw_indicator">True</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1362,26 +1398,27 @@ yy/yyyy = year</property>
                                                             <property name="visible">True</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                              <widget class="GtkImage" id="image3">
-                                                                <property name="visible">True</property>
-                                                                <property name="stock">gtk-goto-first</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                              </packing>
+                                                            <widget class="GtkImage" id="image3">
+                                                            <property name="visible">True</property>
+                                                            <property name="stock">gtk-goto-first</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                              <widget class="GtkLabel" id="label48">
-                                                                <property name="visible">True</property>
-                                                                <property name="label" translatable="yes">Left</property>
-                                                                <property name="use_underline">True</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                                <property name="position">1</property>
-                                                              </packing>
+                                                            <widget class="GtkLabel" id="label48">
+                                                            <property name="visible">True</property>
+                                                            <property name="label" translatable="yes">Left</property>
+                                                            <property name="use_underline">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
                                                           </widget>
                                                         </child>
@@ -1391,13 +1428,14 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="UserListPositionRadioButtonRight">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="draw_indicator">True</property>
                                                     <property name="group">UserListPositionRadioButtonLeft</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1411,26 +1449,27 @@ yy/yyyy = year</property>
                                                             <property name="visible">True</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                              <widget class="GtkImage" id="image4">
-                                                                <property name="visible">True</property>
-                                                                <property name="stock">gtk-goto-last</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                              </packing>
+                                                            <widget class="GtkImage" id="image4">
+                                                            <property name="visible">True</property>
+                                                            <property name="stock">gtk-goto-last</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                              <widget class="GtkLabel" id="label49">
-                                                                <property name="visible">True</property>
-                                                                <property name="label" translatable="yes">Right</property>
-                                                                <property name="use_underline">True</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                                <property name="position">1</property>
-                                                              </packing>
+                                                            <widget class="GtkLabel" id="label49">
+                                                            <property name="visible">True</property>
+                                                            <property name="label" translatable="yes">Right</property>
+                                                            <property name="use_underline">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
                                                           </widget>
                                                         </child>
@@ -1445,11 +1484,11 @@ yy/yyyy = year</property>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="UserListPositionRadioButtonNone">
+                                                    <property name="label" translatable="yes">None</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="label" translatable="yes">None</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="use_underline">True</property>
-                                                    <property name="response_id">0</property>
                                                     <property name="draw_indicator">True</property>
                                                     <property name="group">UserListPositionRadioButtonLeft</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1493,13 +1532,16 @@ yy/yyyy = year</property>
                                                 <property name="visible">True</property>
                                                 <child>
                                                   <widget class="GtkCheckButton" id="OverrideFontCheckButton">
+                                                    <property name="label" translatable="yes">Override</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="label" translatable="yes">Override</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="draw_indicator">True</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
                                                   </widget>
+                                                  <packing>
+                                                    <property name="position">0</property>
+                                                  </packing>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkFontButton" id="FontButton">
@@ -1507,7 +1549,6 @@ yy/yyyy = year</property>
                                                     <property name="sensitive">False</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="receives_default">True</property>
-                                                    <property name="response_id">0</property>
                                                     <signal name="font_set" handler="_OnChanged"/>
                                                   </widget>
                                                   <packing>
@@ -1547,11 +1588,12 @@ yy/yyyy = year</property>
                                             <child>
                                               <widget class="GtkVBox" id="vbox15">
                                                 <property name="visible">True</property>
+                                                <property name="orientation">vertical</property>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="TopicPositionRadioButtonTop">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="active">True</property>
                                                     <property name="draw_indicator">True</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1565,26 +1607,27 @@ yy/yyyy = year</property>
                                                             <property name="visible">True</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                              <widget class="GtkImage" id="image7">
-                                                                <property name="visible">True</property>
-                                                                <property name="stock">gtk-goto-top</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                              </packing>
+                                                            <widget class="GtkImage" id="image7">
+                                                            <property name="visible">True</property>
+                                                            <property name="stock">gtk-goto-top</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                              <widget class="GtkLabel" id="label52">
-                                                                <property name="visible">True</property>
-                                                                <property name="label" translatable="yes">Top</property>
-                                                                <property name="use_underline">True</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                                <property name="position">1</property>
-                                                              </packing>
+                                                            <widget class="GtkLabel" id="label52">
+                                                            <property name="visible">True</property>
+                                                            <property name="label" translatable="yes">Top</property>
+                                                            <property name="use_underline">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
                                                           </widget>
                                                         </child>
@@ -1594,13 +1637,14 @@ yy/yyyy = year</property>
                                                   <packing>
                                                     <property name="expand">False</property>
                                                     <property name="fill">False</property>
+                                                    <property name="position">0</property>
                                                   </packing>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="TopicPositionRadioButtonBottom">
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="draw_indicator">True</property>
                                                     <property name="group">TopicPositionRadioButtonTop</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1614,26 +1658,27 @@ yy/yyyy = year</property>
                                                             <property name="visible">True</property>
                                                             <property name="spacing">2</property>
                                                             <child>
-                                                              <widget class="GtkImage" id="image6">
-                                                                <property name="visible">True</property>
-                                                                <property name="stock">gtk-goto-bottom</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                              </packing>
+                                                            <widget class="GtkImage" id="image6">
+                                                            <property name="visible">True</property>
+                                                            <property name="stock">gtk-goto-bottom</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">0</property>
+                                                            </packing>
                                                             </child>
                                                             <child>
-                                                              <widget class="GtkLabel" id="label51">
-                                                                <property name="visible">True</property>
-                                                                <property name="label" translatable="yes">Bottom</property>
-                                                                <property name="use_underline">True</property>
-                                                              </widget>
-                                                              <packing>
-                                                                <property name="expand">False</property>
-                                                                <property name="fill">False</property>
-                                                                <property name="position">1</property>
-                                                              </packing>
+                                                            <widget class="GtkLabel" id="label51">
+                                                            <property name="visible">True</property>
+                                                            <property name="label" translatable="yes">Bottom</property>
+                                                            <property name="use_underline">True</property>
+                                                            </widget>
+                                                            <packing>
+                                                            <property name="expand">False</property>
+                                                            <property name="fill">False</property>
+                                                            <property name="position">1</property>
+                                                            </packing>
                                                             </child>
                                                           </widget>
                                                         </child>
@@ -1648,11 +1693,11 @@ yy/yyyy = year</property>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkRadioButton" id="TopicPositionRadioButtonNone">
+                                                    <property name="label" translatable="yes">None</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="label" translatable="yes">None</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="use_underline">True</property>
-                                                    <property name="response_id">0</property>
                                                     <property name="draw_indicator">True</property>
                                                     <property name="group">TopicPositionRadioButtonTop</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
@@ -1730,7 +1775,6 @@ yy/yyyy = year</property>
                                                     <property name="sensitive">False</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="receives_default">True</property>
-                                                    <property name="response_id">0</property>
                                                     <property name="color">#000000000000</property>
                                                     <signal name="color_set" handler="_OnChanged"/>
                                                   </widget>
@@ -1746,7 +1790,6 @@ yy/yyyy = year</property>
                                                     <property name="sensitive">False</property>
                                                     <property name="can_focus">True</property>
                                                     <property name="receives_default">True</property>
-                                                    <property name="response_id">0</property>
                                                     <property name="color">#000000000000</property>
                                                     <signal name="color_set" handler="_OnChanged"/>
                                                   </widget>
@@ -1760,10 +1803,10 @@ yy/yyyy = year</property>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkCheckButton" id="OverrideForegroundColorCheckButton">
+                                                    <property name="label" translatable="yes">Override</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="label" translatable="yes">Override</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="draw_indicator">True</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
                                                   </widget>
@@ -1773,10 +1816,10 @@ yy/yyyy = year</property>
                                                 </child>
                                                 <child>
                                                   <widget class="GtkCheckButton" id="OverrideBackgroundColorCheckButton">
+                                                    <property name="label" translatable="yes">Override</property>
                                                     <property name="visible">True</property>
                                                     <property name="can_focus">True</property>
-                                                    <property name="label" translatable="yes">Override</property>
-                                                    <property name="response_id">0</property>
+                                                    <property name="receives_default">False</property>
                                                     <property name="draw_indicator">True</property>
                                                     <signal name="toggled" handler="_OnChanged"/>
                                                   </widget>
@@ -1821,6 +1864,7 @@ yy/yyyy = year</property>
                                           </widget>
                                           <packing>
                                             <property name="expand">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
@@ -1856,6 +1900,7 @@ yy/yyyy = year</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
@@ -1870,8 +1915,11 @@ yy/yyyy = year</property>
                                   <widget class="GtkVBox" id="vbox11">
                                     <property name="visible">True</property>
                                     <property name="border_width">5</property>
+                                    <property name="orientation">vertical</property>
                                     <child>
                                       <widget class="GtkVBox" id="vbox12">
+                                        <property name="visible">True</property>
+                                        <property name="orientation">vertical</property>
                                         <child>
                                           <widget class="GtkLabel" id="label62">
                                             <property name="visible">True</property>
@@ -1881,15 +1929,16 @@ yy/yyyy = year</property>
                                           <packing>
                                             <property name="expand">False</property>
                                             <property name="fill">False</property>
+                                            <property name="position">0</property>
                                           </packing>
                                         </child>
                                         <child>
                                           <widget class="GtkScrolledWindow" id="scrolledwindow4">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                            <property name="shadow_type">GTK_SHADOW_IN</property>
+                                            <property name="hscrollbar_policy">automatic</property>
+                                            <property name="vscrollbar_policy">automatic</property>
+                                            <property name="shadow_type">in</property>
                                             <child>
                                               <widget class="GtkTextView" id="HighlightWordsTextView">
                                                 <property name="visible">True</property>
@@ -1902,14 +1951,17 @@ yy/yyyy = year</property>
                                           </packing>
                                         </child>
                                       </widget>
+                                      <packing>
+                                        <property name="position">0</property>
+                                      </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkCheckButton" id="BeepOnHighlightCheckButton">
+                                        <property name="label" translatable="yes">Beep on highlight</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Beep on highlight</property>
+                                        <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <property name="response_id">0</property>
                                         <property name="draw_indicator">True</property>
                                         <signal name="toggled" handler="_OnChanged"/>
                                       </widget>
@@ -1950,9 +2002,9 @@ yy/yyyy = year</property>
                         <property name="label" translatable="yes">Output</property>
                       </widget>
                       <packing>
-                        <property name="type">tab</property>
                         <property name="position">3</property>
                         <property name="tab_fill">False</property>
+                        <property name="type">tab</property>
                       </packing>
                     </child>
                     <child>
@@ -1966,40 +2018,44 @@ yy/yyyy = year</property>
                             <child>
                               <widget class="GtkVBox" id="vbox9">
                                 <property name="visible">True</property>
+                                <property name="orientation">vertical</property>
                                 <child>
                                   <widget class="GtkCheckButton" id="NotificationAreaIconCheckButton">
+                                    <property name="label" translatable="yes">Enable</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Enable</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
                                     <property name="draw_indicator">True</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <widget class="GtkVBox" id="vbox19">
                                     <property name="visible">True</property>
+                                    <property name="orientation">vertical</property>
                                     <child>
                                       <widget class="GtkRadioButton" id="NotificationAreaIconRadioButtonAlways">
+                                        <property name="label" translatable="yes">Show always</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Show always</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <widget class="GtkRadioButton" id="NotificationAreaIconRadioButtonMinimized">
+                                        <property name="label" translatable="yes">Show when window is minimized</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Show when window is minimized</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">NotificationAreaIconRadioButtonAlways</property>
@@ -2011,10 +2067,10 @@ yy/yyyy = year</property>
                                     </child>
                                     <child>
                                       <widget class="GtkRadioButton" id="NotificationAreaIconRadioButtonClosed">
+                                        <property name="label" translatable="yes">Show when window is closed</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="label" translatable="yes">Show when window is closed</property>
-                                        <property name="response_id">0</property>
+                                        <property name="receives_default">False</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">NotificationAreaIconRadioButtonAlways</property>
@@ -2054,9 +2110,9 @@ yy/yyyy = year</property>
                         <property name="label" translatable="yes">Notification</property>
                       </widget>
                       <packing>
-                        <property name="type">tab</property>
                         <property name="position">4</property>
                         <property name="tab_fill">False</property>
+                        <property name="type">tab</property>
                       </packing>
                     </child>
                   </widget>
@@ -2072,9 +2128,9 @@ yy/yyyy = year</property>
                     <property name="mnemonic_widget">Notebook</property>
                   </widget>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="position">1</property>
                     <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
                 <child>
@@ -2085,9 +2141,9 @@ yy/yyyy = year</property>
                       <widget class="GtkScrolledWindow" id="scrolledwindow3">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
                         <child>
                           <widget class="GtkTreeView" id="ServersTreeView">
                             <property name="visible">True</property>
@@ -2095,45 +2151,58 @@ yy/yyyy = year</property>
                           </widget>
                         </child>
                       </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkVButtonBox" id="vbuttonbox1">
                         <property name="visible">True</property>
                         <property name="border_width">5</property>
-                        <property name="layout_style">GTK_BUTTONBOX_START</property>
+                        <property name="orientation">vertical</property>
+                        <property name="layout_style">start</property>
                         <child>
                           <widget class="GtkButton" id="ServersAddButton">
+                            <property name="label">gtk-add</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="can_default">True</property>
-                            <property name="label">gtk-add</property>
+                            <property name="receives_default">False</property>
                             <property name="use_stock">True</property>
-                            <property name="response_id">0</property>
                           </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
                           <widget class="GtkButton" id="ServersEditButton">
+                            <property name="label">gtk-edit</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="can_default">True</property>
-                            <property name="label">gtk-edit</property>
+                            <property name="receives_default">False</property>
                             <property name="use_stock">True</property>
-                            <property name="response_id">0</property>
                           </widget>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
                           <widget class="GtkButton" id="ServersRemoveButton">
+                            <property name="label">gtk-remove</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
                             <property name="can_default">True</property>
-                            <property name="label">gtk-remove</property>
+                            <property name="receives_default">False</property>
                             <property name="use_stock">True</property>
-                            <property name="response_id">0</property>
                           </widget>
                           <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
                             <property name="position">2</property>
                           </packing>
                         </child>
@@ -2156,138 +2225,157 @@ yy/yyyy = year</property>
                     <property name="mnemonic_widget">Notebook</property>
                   </widget>
                   <packing>
-                    <property name="type">tab</property>
                     <property name="position">2</property>
                     <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox13">
+                  <widget class="GtkEventBox" id="FilterListEventBox">
                     <property name="visible">True</property>
                     <property name="border_width">5</property>
                     <child>
-                      <widget class="GtkFrame" id="frame12">
+                      <placeholder/>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label63">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">_Filters</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">Notebook</property>
+                  </widget>
+                  <packing>
+                    <property name="position">3</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkTable" id="table2">
+                    <property name="visible">True</property>
+                    <property name="border_width">5</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">5</property>
+                    <property name="row_spacing">5</property>
+                    <child>
+                      <widget class="GtkCheckButton" id="LoggingEnabledCheckButton">
+                        <property name="label" translatable="yes">Enabled</property>
                         <property name="visible">True</property>
-                        <property name="sensitive">False</property>
-                        <property name="label_xalign">0</property>
-                        <child>
-                          <widget class="GtkAlignment" id="alignment28">
-                            <property name="visible">True</property>
-                            <property name="left_padding">12</property>
-                            <child>
-                              <widget class="GtkVBox" id="vbox14">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkScrolledWindow" id="scrolledwindow5">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                                    <property name="shadow_type">GTK_SHADOW_IN</property>
-                                    <child>
-                                      <widget class="GtkTreeView" id="ChannelFiltersTreeView">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                      </widget>
-                                    </child>
-                                  </widget>
-                                </child>
-                                <child>
-                                  <widget class="GtkHButtonBox" id="hbuttonbox1">
-                                    <property name="visible">True</property>
-                                    <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
-                                    <child>
-                                      <widget class="GtkButton" id="ChannelFiltersAddButton">
-                                        <property name="visible">True</property>
-                                        <property name="sensitive">False</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="can_default">True</property>
-                                        <property name="label">gtk-add</property>
-                                        <property name="use_stock">True</property>
-                                        <property name="response_id">0</property>
-                                      </widget>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="ChannelFiltersRemoveButton">
-                                        <property name="visible">True</property>
-                                        <property name="sensitive">False</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="can_default">True</property>
-                                        <property name="label">gtk-remove</property>
-                                        <property name="use_stock">True</property>
-                                        <property name="response_id">0</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                            </child>
-                          </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label64">
-                            <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>Channel Filters</b></property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="type">label_item</property>
-                          </packing>
-                        </child>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="_OnChanged"/>
                       </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
                     </child>
                     <child>
-                      <widget class="GtkFrame" id="frame13">
+                      <widget class="GtkFixed" id="fixed1">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkFixed" id="fixed2">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkFixed" id="fixed3">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkCheckButton" id="LoggingLogFilteredMessagesCheckButton">
+                        <property name="label" translatable="yes">Log Filtered Messages</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="_OnChanged"/>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox10">
                         <property name="visible">True</property>
-                        <property name="sensitive">False</property>
-                        <property name="label_xalign">0</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment29">
+                          <widget class="GtkButton" id="LoggingOpenButton">
+                            <property name="label">gtk-open</property>
                             <property name="visible">True</property>
-                            <property name="left_padding">12</property>
-                            <child>
-                              <placeholder/>
-                            </child>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="use_stock">True</property>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label65">
+                          <widget class="GtkFixed" id="fixed4">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes"><b>User Filters</b></property>
-                            <property name="use_markup">True</property>
                           </widget>
                           <packing>
-                            <property name="type">label_item</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                       </widget>
                       <packing>
-                        <property name="position">1</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                   </widget>
                   <packing>
-                    <property name="position">3</property>
+                    <property name="position">4</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label63">
+                  <widget class="GtkLabel" id="label5">
                     <property name="visible">True</property>
-                    <property name="label" translatable="yes">_Filters</property>
+                    <property name="label" translatable="yes">_Logging</property>
                     <property name="use_underline">True</property>
-                    <property name="mnemonic_widget">Notebook</property>
                   </widget>
                   <packing>
-                    <property name="type">tab</property>
-                    <property name="position">3</property>
+                    <property name="position">4</property>
                     <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
               </widget>
@@ -2303,48 +2391,61 @@ yy/yyyy = year</property>
         <child internal-child="action_area">
           <widget class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="CancelButton">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="ApplyButton">
+                <property name="label">gtk-apply</property>
+                <property name="response_id">-10</property>
                 <property name="visible">True</property>
                 <property name="sensitive">False</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-apply</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-10</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
               <widget class="GtkButton" id="OKButton">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-ok</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">2</property>
               </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
@@ -2354,9 +2455,9 @@ yy/yyyy = year</property>
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Smuxi - Server</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">gtk-preferences</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <child internal-child="vbox">
       <widget class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
@@ -2366,6 +2467,7 @@ yy/yyyy = year</property>
           <widget class="GtkVBox" id="vbox16">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="orientation">vertical</property>
             <child>
               <widget class="GtkTable" id="table2">
                 <property name="visible">True</property>
@@ -2384,16 +2486,23 @@ yy/yyyy = year</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="visibility">False</property>
                       </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkCheckButton" id="ShowPasswordCheckButton">
+                        <property name="label" translatable="yes">Show Password</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Show Password</property>
-                        <property name="response_id">0</property>
+                        <property name="receives_default">False</property>
                         <property name="draw_indicator">True</property>
                       </widget>
                       <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
@@ -2407,11 +2516,11 @@ yy/yyyy = year</property>
                 </child>
                 <child>
                   <widget class="GtkCheckButton" id="OnStartupConnectCheckButton">
+                    <property name="label" translatable="yes">Automatically connect to server at startup</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="label" translatable="yes">Automatically connect to server at startup</property>
-                    <property name="response_id">0</property>
                     <property name="draw_indicator">True</property>
                   </widget>
                   <packing>
@@ -2461,13 +2570,6 @@ yy/yyyy = year</property>
                   <widget class="GtkComboBoxEntry" id="NetworkComboBoxEntry">
                     <property name="visible">True</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <child internal-child="entry">
-                      <widget class="GtkEntry" id="comboboxentry-entry1">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                      </widget>
-                    </child>
                   </widget>
                   <packing>
                     <property name="left_attach">1</property>
@@ -2486,6 +2588,9 @@ yy/yyyy = year</property>
                         <property name="can_focus">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                       </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
                       <widget class="GtkHBox" id="hbox11">
@@ -2498,6 +2603,9 @@ yy/yyyy = year</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <property name="label" translatable="yes">Port:</property>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
                           <widget class="GtkSpinButton" id="PortSpinButton">
@@ -2574,11 +2682,13 @@ yy/yyyy = year</property>
               </widget>
               <packing>
                 <property name="expand">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
               <widget class="GtkVBox" id="vbox18">
                 <property name="visible">True</property>
+                <property name="orientation">vertical</property>
                 <child>
                   <widget class="GtkHBox" id="hbox20">
                     <property name="visible">True</property>
@@ -2590,6 +2700,7 @@ yy/yyyy = year</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
@@ -2605,6 +2716,7 @@ yy/yyyy = year</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
@@ -2613,15 +2725,15 @@ yy/yyyy = year</property>
                     <property name="height_request">100</property>
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="shadow_type">in</property>
                     <child>
                       <widget class="GtkTextView" id="OnConnectCommandsTextView1">
                         <property name="width_request">152</property>
                         <property name="height_request">168</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="wrap_mode">GTK_WRAP_WORD</property>
+                        <property name="wrap_mode">word</property>
                       </widget>
                     </child>
                   </widget>
@@ -2644,36 +2756,44 @@ yy/yyyy = year</property>
           <widget class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
               <widget class="GtkButton" id="CancelButton1">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-cancel</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
               </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
               <widget class="GtkButton" id="OKButton1">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label">gtk-ok</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-5</property>
               </widget>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
           </widget>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
       </widget>
diff --git a/lib/Makefile.in b/lib/Makefile.in
index a013cba..e1defd8 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -97,6 +97,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -106,6 +107,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -131,6 +133,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -182,6 +185,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/lib/Twitterizer.Framework/Makefile.am b/lib/Twitterizer.Framework/Makefile.am
index 8de6969..1116489 100644
--- a/lib/Twitterizer.Framework/Makefile.am
+++ b/lib/Twitterizer.Framework/Makefile.am
@@ -6,7 +6,7 @@ ASSEMBLY_NAME = Twitterizer.Framework.dll
 ASSEMBLY_TARGET = $(OUTPUT_DIR)/$(ASSEMBLY_NAME)
 KEY_FILE = $(srcdir)/Twitterizer.Framework.snk
 BUILD_FILE = $(srcdir)/Twitterizer.Framework.vs2008.csproj
-XBUILD_FLAGS = /p:Configuration=Debug /p:NoWarn=CS0168 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/
+XBUILD_FLAGS = /p:Configuration=Debug /p:NoWarn=0168 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/
 
 # magic automake variables
 if ENABLE_ENGINE_TWITTER
diff --git a/lib/Twitterizer.Framework/Makefile.in b/lib/Twitterizer.Framework/Makefile.in
index a5f9acf..02b5db7 100644
--- a/lib/Twitterizer.Framework/Makefile.in
+++ b/lib/Twitterizer.Framework/Makefile.in
@@ -81,6 +81,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -90,6 +91,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -115,6 +117,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -166,6 +169,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -238,7 +243,7 @@ ASSEMBLY_NAME = Twitterizer.Framework.dll
 ASSEMBLY_TARGET = $(OUTPUT_DIR)/$(ASSEMBLY_NAME)
 KEY_FILE = $(srcdir)/Twitterizer.Framework.snk
 BUILD_FILE = $(srcdir)/Twitterizer.Framework.vs2008.csproj
-XBUILD_FLAGS = /p:Configuration=Debug /p:NoWarn=CS0168 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/
+XBUILD_FLAGS = /p:Configuration=Debug /p:NoWarn=0168 /p:OutputPath=$(abspath $(OUTPUT_DIR)) /p:BaseIntermediateOutputPath=$(abspath $(OBJECT_DIR))/
 
 # magic automake variables
 @ENABLE_ENGINE_TWITTER_TRUE at pkglib_DATA = $(ASSEMBLY_TARGET) $(ASSEMBLY_TARGET).mdb
diff --git a/lib/Twitterizer.Framework/Method_Classes/TwitterStatusMethods.cs b/lib/Twitterizer.Framework/Method_Classes/TwitterStatusMethods.cs
index 64563fa..3531987 100644
--- a/lib/Twitterizer.Framework/Method_Classes/TwitterStatusMethods.cs
+++ b/lib/Twitterizer.Framework/Method_Classes/TwitterStatusMethods.cs
@@ -169,6 +169,51 @@ namespace Twitterizer.Framework
         }
 
         /// <summary>
+        /// Returns the 20 most recent statuses posted by the authenticating user and that user's friends. This is the equivalent of /home on the Web.
+        /// </summary>
+        /// <returns></returns>
+        public TwitterStatusCollection HomeTimeline()
+        {
+            return FriendsTimeline(null);
+        }
+
+        /// <summary>
+        /// Returns the 20 most recent statuses posted by the authenticating user and that user's friends. This is the equivalent of /home on the Web.
+        /// </summary>
+        /// <param name="Parameters">Accepts Since, SinceID, Count, and Page parameters.</param>
+        /// <returns></returns>
+        /// <remarks>See: http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses-friends_timeline </remarks>
+        public TwitterStatusCollection HomeTimeline(TwitterParameters Parameters)
+        {
+            TwitterRequest Request = new TwitterRequest(proxyUri);
+            TwitterRequestData Data = new TwitterRequestData();
+            Data.UserName = userName;
+            Data.Password = password;
+
+            // Validate the parameters that are given.
+            if (Parameters != null)
+                foreach (TwitterParameterNames param in Parameters.Keys)
+                    switch (param)
+                    {
+                        case TwitterParameterNames.SinceID:
+                        case TwitterParameterNames.MaxID:
+                        case TwitterParameterNames.Count:
+                        case TwitterParameterNames.Page:
+                            break;
+                        default:
+                            throw new InvalidTwitterParameterException(param, InvalidTwitterParameterReason.ParameterNotSupported);
+                    }
+
+
+            string actionUri = (Parameters == null ? "http://twitter.com/statuses/home_timeline.xml" : Parameters.BuildActionUri("http://twitter.com/statuses/home_timeline.xml"));
+            Data.ActionUri = new Uri(actionUri);
+
+            Data = Request.PerformWebRequest(Data, "GET");
+
+            return Data.Statuses;
+        }
+
+        /// <summary>
         /// Updates the authenticating user's status.
         /// </summary>
         /// <param name="Status">Required.  The text of your status update.</param>
diff --git a/po-Engine-IRC/LINGUAS b/po-Engine-IRC/LINGUAS
index 900dc7a..c8280af 100644
--- a/po-Engine-IRC/LINGUAS
+++ b/po-Engine-IRC/LINGUAS
@@ -1,3 +1,4 @@
+ca
 cs
 da
 de
@@ -6,4 +7,5 @@ es
 es_AR
 fr
 it
+pt
 sv
diff --git a/po-Engine-IRC/ca.po b/po-Engine-IRC/ca.po
new file mode 100644
index 0000000..ea177de
--- /dev/null
+++ b/po-Engine-IRC/ca.po
@@ -0,0 +1,314 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Smuxi\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>\n"
+"Language-Team: Siegfried-Angel Gevatter Pujals <siegfried at gevatter.com>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
+"X-Poedit-Language: Catalan\n"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
+msgid "away"
+msgstr "absent"
+
+#. TRANSLATOR: {0} is the amount of seconds
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
+#, csharp-format
+msgid "lag: {0} seconds"
+msgstr "retard: {0} segons"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "no esteu connectat"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
+#, csharp-format
+msgid "Connecting to {0} port {1}..."
+msgstr "S'està connectant a {0} al port {1}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
+#, csharp-format
+msgid "Connection to {0} established"
+msgstr "S'ha establert la connexió a {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
+msgid "Logging in..."
+msgstr "S'està iniciant sessió..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
+msgid "Connection failed!"
+msgstr "Ha fallat la connexió!"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
+msgid "Connection failed! Reason: "
+msgstr "Ha fallat la connexió! Motiu:"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
+msgid "Disconnecting..."
+msgstr "S'està desconnectant..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
+#, csharp-format
+msgid "Disconnecting from {0}..."
+msgstr "S'està desconnectant de {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
+#, csharp-format
+msgid "Disconnected from {0}"
+msgstr "S'ha desconnectat de {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
+msgid "Connection closed"
+msgstr "S'ha tancat la connexió"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
+msgid "Not connected"
+msgstr "No esteu connectat"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "S'està tornant a connectar..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "S'està tornant a connectar a {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Error al tornar a connectar"
+
+#. TRANSLATOR: this line is used as label / category for a
+#. list of commands below
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
+msgid "IrcProtocolManager Commands"
+msgstr "Ordres del protocol IRC"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
+#, csharp-format
+msgid "Invalid port: {0}"
+msgstr "Port invàlid: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr ""
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
+#, csharp-format
+msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
+msgstr "Ja esteu a la sala {0}. Escriviu /window {0} per a canviar-hi."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr ""
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr ""
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr ""
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr ""
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr ""
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
+msgid "IRC Op"
+msgstr "Operador d'IRC"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
+msgid "Op"
+msgstr "Op"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
+msgid "Voice"
+msgstr "Dóna veu"
+
+#. For translators: do NOT change the position of {1}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
+#, csharp-format
+msgid "Topic for {0}: {1}"
+msgstr "Títol de {0}: {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
+#, csharp-format
+msgid "No topic set for {0}"
+msgstr "No hi ha cap títol a {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
+msgid "ban"
+msgstr "expulsa"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
+msgid "No bans in channel"
+msgstr "No hi ha bandejaments en aquesta sala"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
+#, csharp-format
+msgid "Inviting {0} to {1}"
+msgstr "S'està invitant {0} a {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
+#, csharp-format
+msgid "{0} is already on {1}"
+msgstr "{0} ja està a {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
+msgid "Users"
+msgstr "Usuaris"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
+#, csharp-format
+msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
+msgstr "Total de {0} usuaris [{1} operadors, {2} amb veus, {3} normals]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
+msgid "Connection error! Reason: "
+msgstr "Error de connexió! Motiu:"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
+#, csharp-format
+msgid "Not enough parameters for {0} command"
+msgstr "No heu proporcionat preu paràmetres per a l'ordre {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
+msgid "Not connected to server"
+msgstr "No esteu connectat al servidor"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
+#, csharp-format
+msgid "{0}: No such nick/channel"
+msgstr "{0}: No existeix aquest usuari o aquesta sala"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid "Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr "S'ha incrementat el retard de l'enviament a {0}ms per evitar ser expulsat un altre cop pel control d'inundacions del servidor."
+
+#. TRANSLATOR: the final line will look like this:
+#. -!- Nick {0} is already in use
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
+msgid "Nick"
+msgstr "El nom d'usuari"
+
+#. TRANSLATOR: the final line will look like this:
+#. -!- Nick {0} is already in use
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
+msgid "is already in use"
+msgstr "ja està en ús"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
+msgid "Cannot join to channel:"
+msgstr "No podeu unir-vos a la sala:"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
+msgid "You are banned"
+msgstr "Esteu bandejats"
+
+#. TRANSLATOR: {0}: nickname, {1}: ident at host,
+#. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
+#. example:
+#. meebey [meebey at example.com] requested CTCP VERSION from meebey:
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
+#, csharp-format
+msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
+msgstr "{0} [{1}] ha enviat una petició CTCP {2} a {3}: {4}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
+#, csharp-format
+msgid "CTCP PING reply from {0}: {1} seconds"
+msgstr "Resposta a CTCP PING de {0}: {1} segons"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
+#, csharp-format
+msgid "CTCP {0} reply from {1}: {2}"
+msgstr "Resposta a CTCP {0} de {1}: {2}"
+
+#. For translators: do NOT change the position of {0}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
+#, csharp-format
+msgid "{0} [{1}] has joined {2}"
+msgstr "{0} [{1}] s'ha unit a {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
+#, csharp-format
+msgid "{0} [{1}] has left {2} [{3}]"
+msgstr "{0} [{1}] ha deixat {2} [{3}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
+#, csharp-format
+msgid "You were kicked from {0} by {1} [{2}]"
+msgstr "Heu estat expulsat de {0} per {1} [{2}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
+#, csharp-format
+msgid "{0} was kicked from {1} by {2} [{3}]"
+msgstr "{0} ha estat expulsat de {1} per {2} [{3}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
+#, csharp-format
+msgid "You're now known as {0}"
+msgstr "El vostre sobrenom ha canviat a {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
+#, csharp-format
+msgid "{0} is now known as {1}"
+msgstr "{0} s'ha canviat el sobrenom per {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
+#, csharp-format
+msgid "{0} changed the topic of {1} to: {2}"
+msgstr "{0} ha canviat el títol de {1} a: {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
+#, csharp-format
+msgid "Mode change [{0}] for user {1}"
+msgstr "S'ha canviat el mode [{0}] a l'usuari {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
+#, csharp-format
+msgid "mode/{0} [{1}] by {2}"
+msgstr "mode/{0} [{1}] per {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
+#, csharp-format
+msgid "{0} [{1}] has quit [{2}]"
+msgstr "{0} [{1}] ha sortit [{2}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
+#, csharp-format
+msgid "{0} is away: {1}"
+msgstr "{0} està absent: {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
+msgid "You are no longer marked as being away"
+msgstr "Ja no esteu marcat com a absent"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
+msgid "You have been marked as being away"
+msgstr "Heu estat marcat com a absent"
+
diff --git a/po-Engine-IRC/cs.po b/po-Engine-IRC/cs.po
index e66f699..0abed7a 100644
--- a/po-Engine-IRC/cs.po
+++ b/po-Engine-IRC/cs.po
@@ -1,186 +1,237 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
-# Michal Simunek <michal.simunek at gmail.com>, 2009.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-irc 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-05 17:25+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 12:25+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
 msgid "away"
 msgstr "pryč"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr "nepřipojen"
-
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "zpoždění: {0} sekund"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "nepřipojen"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "Připojování k {0} port {1}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Připojení k {0} navázáno"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
 msgstr "Přihlašování..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
 msgid "Connection failed!"
 msgstr "Připojení selhalo!"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
 msgid "Connection failed! Reason: "
 msgstr "Připojení selhalo! Příčina: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
 msgid "Disconnecting..."
 msgstr "Odpojování..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "Odpojování od {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Odpojeno od {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 msgid "Connection closed"
 msgstr "Připojení uzavřeno"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr "Nepřipojeno!"
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Not connected"
 msgstr "Nepřipojeno"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "Opětovné připojování..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Opětovné připojování k {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Chyba při opětovném připojování"
+
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
 msgid "IrcProtocolManager Commands"
 msgstr "Příkazy správce protokolu Irc"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Neplatný port: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Zařazování připojení do fronty: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
 msgstr ""
 "Již jste připojeni na kanálu: {0}. Pro přepnutí na tento kanál zadejte /"
 "window {0}."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Aktivní připojení: {0} - Fronta s připojeními: {1}"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Připojování: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Zbývající"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "aktivní připojení: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "fronta s připojeními: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
 msgid "IRC Op"
 msgstr "IRC Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
 msgid "Op"
 msgstr "Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "Voice"
 msgstr "Hlas"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Téma pro {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "{0} nemá nastaveno téma"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
 msgid "ban"
 msgstr "ban"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
 msgid "No bans in channel"
-msgstr "Kanál nemá bany"
+msgstr "V kanálu nejsou žádné bany"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "Pozvání {0} do {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr "{0} již je na kanálu"
+msgid "{0} is already on {1}"
+msgstr "{0} je již na {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
 msgid "Users"
 msgstr "Uživatelé"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
 msgstr "Celkem {0} uživatelů [{1} opů, {2} hlasových, {3} normálních]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
 msgid "Connection error! Reason: "
 msgstr "Chyba spojení! Příčina: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Pro příkaz {0} není vloženo dostatek parametrů"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
 msgid "Not connected to server"
 msgstr "Není připojeno k serveru"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: Neplatná přezdívka/kanál"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid ""
+"Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr ""
+"Aby opět nedošlo k zahlcení serveru, bylo zvýšeno spoždění odeslání na {0} ms."
+
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
 msgid "Nick"
 msgstr "Přezdívka"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
 msgid "is already in use"
 msgstr "se již používá"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
 msgid "Cannot join to channel:"
 msgstr "Nelze se připojit ke kanálu:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
 msgid "You are banned"
 msgstr "Dostal jste ban"
 
@@ -188,82 +239,85 @@ msgstr "Dostal jste ban"
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
 msgstr "{0} [{1}] požádal o CTCP {2} od {3}: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
 msgstr "Odpověď CTCP PING od {0}: {1} sekund"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "CTCP {0} odpověď od {1}: {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] se připojil {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
 msgstr "{0} [{1}] opustil {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
 msgstr "Byl jste vykopnut z {0} uživatelem {1} [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
 msgstr "{0} byl vykopnut z {1} uživatelem {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Nyní jste znám jako {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} je nyní znám jako {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} změnil téma {1} na: {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
-msgstr "Změna módu [{0}] uživatele {1}"
+msgstr "Změna režimu [{0}] uživatele {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
-msgstr "mód/{0} [{1}] od {2}"
+msgstr "režim/{0} [{1}] od {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
 msgstr "{0} [{1}] opustil [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
 #, csharp-format
 msgid "{0} is away: {1}"
 msgstr "{0} je pryč: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
 msgid "You are no longer marked as being away"
 msgstr "Nadále nebudete označován, že jste pryč"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
 msgid "You have been marked as being away"
 msgstr "Byl jste označen, že jste pryč"
+
+#~ msgid "Not connected!"
+#~ msgstr "Nepřipojeno!"
diff --git a/po-Engine-IRC/da.po b/po-Engine-IRC/da.po
index e9138cb..18ee350 100644
--- a/po-Engine-IRC/da.po
+++ b/po-Engine-IRC/da.po
@@ -1,267 +1,321 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Bjarke Sørensen <bs at wasd.dk>, 2009.
+# Danish translation smuxi-engine-irc.
+# Copyright (C) 2010 Mirco Bauer <meebey at meebey.net> & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-engine-irc package.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-engine-irc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-08-12 08:38+0200\n"
-"Last-Translator: Bjarke Sørensen <bs at wasd.dk>\n"
-"Language-Team: Danish Localization <debian-l10n-danish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-21 00:46+0200\n"
+"PO-Revision-Date: 2010-07-22 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1416
 msgid "away"
-msgstr ""
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr ""
+msgstr "fraværende"
 
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
-msgstr ""
+msgstr "lag: {0} sekunder"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "ikke forbundet"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
-msgstr ""
+msgstr "Forbinder til {0} port {1}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:393
 #, csharp-format
 msgid "Connection to {0} established"
-msgstr ""
+msgstr "Forbindelse til {0} etableret"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
-msgstr ""
+msgstr "Logger ind..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:324
 msgid "Connection failed!"
-msgstr ""
+msgstr "Forbindelse mislykkedes!"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:325
 msgid "Connection failed! Reason: "
-msgstr ""
+msgstr "Forbindelse mislykkedes! Årsag: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 msgid "Disconnecting..."
-msgstr ""
+msgstr "Afbryder..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:337
 #, csharp-format
 msgid "Disconnecting from {0}..."
-msgstr ""
+msgstr "Afbryder fra {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 #, csharp-format
 msgid "Disconnected from {0}"
-msgstr ""
+msgstr "Afbrudt fra {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:345
 msgid "Connection closed"
-msgstr ""
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr ""
+msgstr "Forbindelse lukket"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:350
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:407
 msgid "Not connected"
-msgstr ""
+msgstr "Ikke forbundet"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:379
+msgid "Reconnecting..."
+msgstr "Genforbinder..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:387
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Genforbinder til {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:401
+msgid "Reconnect Error"
+msgstr "Genforbindingsfejl"
 
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:751
 msgid "IrcProtocolManager Commands"
-msgstr ""
+msgstr "Kommandoer for IrcProtocolManager"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:820
 #, csharp-format
 msgid "Invalid port: {0}"
-msgstr ""
+msgstr "Ugyldig port: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:948
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Sætter join sammen: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:962
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-msgstr ""
+msgstr "Allerede tilsluttet til kanal: {0}. Tast /window {0} for at skifte."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:997
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Aktive join: {0} - Join i kø: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1020
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1051
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Joiner: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1022
+msgid "Remaining"
+msgstr "Tilbage"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1027
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "aktive join: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1036
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "join i kø: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "IRC Op"
-msgstr ""
+msgstr "IRC Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1405
 msgid "Op"
-msgstr ""
+msgstr "Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1407
 msgid "Voice"
-msgstr ""
+msgstr "Voice"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1469
 #, csharp-format
 msgid "Topic for {0}: {1}"
-msgstr ""
+msgstr "Emne for {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1479
 #, csharp-format
 msgid "No topic set for {0}"
-msgstr ""
+msgstr "Intet emne angivet for {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1573
 msgid "ban"
-msgstr ""
+msgstr "giv karantæne"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1583
 msgid "No bans in channel"
-msgstr ""
+msgstr "Ingen karantæner i kanal"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1697
 #, csharp-format
 msgid "Inviting {0} to {1}"
-msgstr ""
+msgstr "Inviterer {0} til {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1701
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr ""
+msgid "{0} is already on {1}"
+msgstr "{0} er allerede på {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1729
 msgid "Users"
-msgstr ""
+msgstr "Brugere"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1780
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
-msgstr ""
+msgstr "I alt {0} brugere [{1} op'er, {2} voice'er, {3} normale]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1923
 msgid "Connection error! Reason: "
-msgstr ""
+msgstr "Forbindelsesfejl! Årsag: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1933
 #, csharp-format
 msgid "Not enough parameters for {0} command"
-msgstr ""
+msgstr "Ikke nok parametre for {0} kommando"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1943
 msgid "Not connected to server"
-msgstr ""
+msgstr "Ikke forbundet til server"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2320
 #, csharp-format
 msgid "{0}: No such nick/channel"
+msgstr "{0}: Intet sådan brugernavn/kanal"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2446
+#, csharp-format
+msgid ""
+"Increased send delay to {0}ms to avoid being flooded off the server again."
 msgstr ""
+"Øgede forsinkelse for send til {0}ms for at undgå at blive oversvømmet på "
+"serveren igen."
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2462
 msgid "Nick"
-msgstr ""
+msgstr "Brugernavn"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2473
 msgid "is already in use"
-msgstr ""
+msgstr "er allerede i brug"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2503
 msgid "Cannot join to channel:"
-msgstr ""
+msgstr "Kan ikke slutte til kanal:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2512
 msgid "You are banned"
-msgstr ""
+msgstr "Du har karantæne"
 
 #. TRANSLATOR: {0}: nickname, {1}: ident at host,
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2622
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
-msgstr ""
+msgstr "{0} [{1}] anmod om CTCP {2} fra {3}: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2647
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
-msgstr ""
+msgstr "CTCP PING svar fra {0}: {1} sekunder"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2655
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
-msgstr ""
+msgstr "CTCP {0} svar fra {1}: {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
-msgstr ""
+msgstr "{0} [{1}] har sluttet sig til {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3038
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
-msgstr ""
+msgstr "{0} [{1}] har forladt {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3057
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
-msgstr ""
+msgstr "Du blev smidt ud fra {0} af {1} [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3065
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
-msgstr ""
+msgstr "{0} blev smidt ud af {1} af {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3083
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3129
 #, csharp-format
 msgid "You're now known as {0}"
-msgstr ""
+msgstr "Du er nu kendt som {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3157
 #, csharp-format
 msgid "{0} is now known as {1}"
-msgstr ""
+msgstr "{0} er nu kendt som {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3214
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
-msgstr ""
+msgstr "{0} ændrede emnet på {1} til: {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3299
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
-msgstr ""
+msgstr "Tilstandsændring [{0}] for bruger {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3316
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
-msgstr ""
+msgstr "tilstand/{0} [{1}] af {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3353
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
-msgstr ""
+msgstr "{0} [{1}] har forladt [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3473
 #, csharp-format
 msgid "{0} is away: {1}"
-msgstr ""
+msgstr "{0} er fraværende: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3479
 msgid "You are no longer marked as being away"
-msgstr ""
+msgstr "Du er ikke længere registreret som fraværende"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3485
 msgid "You have been marked as being away"
-msgstr ""
+msgstr "Du er registreret som fraværende"
+
+#~ msgid "Not connected!"
+#~ msgstr "Ikke forbundet!"
diff --git a/po-Engine-IRC/de.po b/po-Engine-IRC/de.po
index f78cc76..aec82e1 100644
--- a/po-Engine-IRC/de.po
+++ b/po-Engine-IRC/de.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the Smuxi package.
 # Mirco Bauer <meebey at meebey.net>, 2008.
 # Bianca Mix <heavydemon at freenet.de>, 2010
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.6.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
 "PO-Revision-Date: 2010-01-03 00:09+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
@@ -16,172 +16,218 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
 msgid "away"
 msgstr "abwesend"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr "nicht verbunden"
-
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "Verzögerung: {0} Sekunden"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "nicht verbunden"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "Verbinde zu {0} Port {1}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Verbindung zu {0} ist hergestellt"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
 msgstr "Anmelden..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
 msgid "Connection failed!"
 msgstr "Verbindung ist fehlgeschlagen!"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
 msgid "Connection failed! Reason: "
 msgstr "Verbindung ist fehlgeschlagen! Ursache: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
 msgid "Disconnecting..."
 msgstr "Trenne..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "Trenne von {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Getrennt von {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 msgid "Connection closed"
 msgstr "Verbindung wurde geschlossen"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr "Nicht verbunden!"
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Not connected"
 msgstr "Nicht verbunden"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "Verbinde erneut..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Verbinde erneut zu {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Fehler beim Wiederverbinden"
+
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
 msgid "IrcProtocolManager Commands"
 msgstr "IrcProtocolManager Befehle"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Ungültiger Port: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Verzögere Beitritte: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-msgstr ""
-"Channel wurde bereits betreten: {0}. Tippen Sie /window {0} um dorthin zu "
-"wechseln."
+msgstr "Channel wurde bereits betreten: {0}. Tippen Sie /window {0} um dorthin zu wechseln."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Aktive Beitritte: {0} - Wartende Beitritte: {1}"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Betrete: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Verbleibend"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "Aktive Beitritte: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "Wartende Beitritte: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
 msgid "IRC Op"
 msgstr "IRC Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
 msgid "Op"
 msgstr "Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "Voice"
 msgstr "Voice"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Thema für {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "Kein Thema für {0} gesetzt"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
 msgid "ban"
 msgstr "Sperre"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
 msgid "No bans in channel"
 msgstr "Keine Sperren in diesem Channel"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "Lade {0} in {1} ein"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr "{0} ist bereits im Channel"
+msgid "{0} is already on {1}"
+msgstr "{0} ist bereits in {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
 msgid "Users"
 msgstr "Benutzer"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
 msgstr "Insgesamt {0} Benutzer [{1} Ops, {2} Voices, {3} normal]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
 msgid "Connection error! Reason: "
 msgstr "Verbindungsfehler! Grund: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Nicht genügend Parameter für den Befehl: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
 msgid "Not connected to server"
 msgstr "Nicht mit Server verbunden"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: Kein solcher Nick/Channel"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid "Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr "Nachrichtenverzögerung auf {0}ms erhöht, um eine Überflutung des Servers zu verhindern."
+
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
 msgid "Nick"
 msgstr "Nick"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
 msgid "is already in use"
 msgstr "wird bereits verwendet"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
 msgid "Cannot join to channel:"
 msgstr "Konnte Channel nicht beitreten:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
 msgid "You are banned"
 msgstr "Sie sind gesperrt"
 
@@ -189,86 +235,89 @@ msgstr "Sie sind gesperrt"
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
 msgstr "{0} [{1}] fragt CTCP {2} von {3} ab: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
 msgstr "CTCP PING Antwort von {0}: {1} Sekunden"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "CTCP {0} Antwort von {1}: {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] hat {2} betreten"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
 msgstr "{0} [{1}] hat {2} verlassen [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
 msgstr "Sie wurden von {1} aus {0} hinausgeworfen [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
 msgstr "{0} wurde von {2} aus {1} hinausgeworfen [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Sie sind nun bekannt als: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} ist nun bekannt als: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} hat das Thema von {1} auf {2} geändert"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
 msgstr "Mode für Benutzer {1} geändert [{0}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
 msgstr "mode/{0} [{1}] von {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
 msgstr "{0} [{1}] hat uns verlassen [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
 #, csharp-format
 msgid "{0} is away: {1}"
 msgstr "{0} ist abwesend: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
 msgid "You are no longer marked as being away"
 msgstr "Sie sind nicht mehr als abwesend gekenntzeichet"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
 msgid "You have been marked as being away"
 msgstr "Sie sind als abwesend gekenntzeichnet"
 
+#~ msgid "Not connected!"
+#~ msgstr "Nicht verbunden!"
+
 #~ msgid "lag"
 #~ msgstr "Verzögerung"
 
diff --git a/po-Engine-IRC/fr.po b/po-Engine-IRC/fr.po
index c1ac9bd..e74db0d 100644
--- a/po-Engine-IRC/fr.po
+++ b/po-Engine-IRC/fr.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-09 05:16+0100\n"
-"Last-Translator: Clément BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 22:18+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -17,173 +17,224 @@ msgstr ""
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
 msgid "away"
 msgstr "parti"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr "non connecté"
-
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "lag : {0} secondes"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "non connecté"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "Connexion au serveur {0}, sur le port {1} en cours..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Connexion au serveur {0} établie"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
 msgstr "Enregistrement en cours..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
 msgid "Connection failed!"
 msgstr "Connexion impossible !"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
 msgid "Connection failed! Reason: "
 msgstr "Connexion impossible ! Raison :"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
 msgid "Disconnecting..."
 msgstr "Déconnexion en cours..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "Déconnexion de {0} en cours..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Déconnecté de {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 msgid "Connection closed"
 msgstr "Connexion fermée"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr "Non connecté !"
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Not connected"
 msgstr "Non connecté"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "Reconnexion en cours..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Reconnexion à {0} en cours..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Erreur à la reconnexion"
+
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
 msgid "IrcProtocolManager Commands"
 msgstr "Commandes IrcProtocolManager"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Port invalide : {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Mise des en attente des inscriptions en cours : {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
 msgstr ""
 "Vous êtes déjà sur le canal: {0}. Utilisez /window {0} pour passer sur celui-"
 "ci."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Inscriptions en cours : {0} - Inscriptions en attente : {1}"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Raccordement : {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Restant"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "raccordements actifs : {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "raccordements en attente : {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
 msgid "IRC Op"
 msgstr "Opérateur IRC"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
 msgid "Op"
 msgstr "Opérateur"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "Voice"
 msgstr "Voicé"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Sujet de {0} : {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "Pas de sujet sélectionné pour {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
 msgid "ban"
 msgstr "ban"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
 msgid "No bans in channel"
 msgstr "Aucun utilisateur banni sur le canal"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "Invitation de {0} par {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr "{0} est déjà sur le canal"
+msgid "{0} is already on {1}"
+msgstr "{0} est déjà sur {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
 msgstr ""
 "Total de {0} utilisateurs, [{1} opérateur(s), {2} voicé(s), {3} normal(ux)]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
 msgid "Connection error! Reason: "
 msgstr "Erreur de connexion ! Raison :"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Pas assez de paramètres pour la commande {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
 msgid "Not connected to server"
 msgstr "Non connecté au serveur"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: Impossible de trouver le surnom/canal"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid ""
+"Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr ""
+"Augmentation du délai d'envoi jusqu'à {0}ms pour éviter d'être kické pour "
+"flooding du serveur encore une fois."
+
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
 msgid "Nick"
 msgstr "Surnom"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
 msgid "is already in use"
 msgstr "est déjà en cours d'utilisation"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
 msgid "Cannot join to channel:"
 msgstr "Impossible de rejoindre le canal :"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
 msgid "You are banned"
 msgstr "Vous êtes banni"
 
@@ -191,85 +242,88 @@ msgstr "Vous êtes banni"
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
 msgstr "{0} [{1}] a fait une requête CTCP {2} de {3}: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
 msgstr "Réponse CTCP PING de {0} : {1} secondes"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "Réponse CTCP {0} de {1} : {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] a rejoint {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
 msgstr "{0} [{1}] a quitté {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
 msgstr "Vous avez été kické du canal {0} par {1} [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
 msgstr "{0} a été kické de {1} par {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Vous êtes maintenant connu en tant que {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} est maintenant connu en tant que {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} a changé le sujet de {1} en : {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
 msgstr "Changement de mode [{0}] pour l'utilisateur {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
 msgstr "mode/{0} [{1}] par {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
 msgstr "{0} [{1}] a quitté [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
 #, csharp-format
 msgid "{0} is away: {1}"
 msgstr "{0} est parti : {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
 msgid "You are no longer marked as being away"
 msgstr "Vous êtes marqué comme étant revenu"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
 msgid "You have been marked as being away"
 msgstr "Vous avez été marqué comme étant parti"
 
+#~ msgid "Not connected!"
+#~ msgstr "Non connecté !"
+
 #~ msgid "lag"
 #~ msgstr "latence"
diff --git a/po-Engine-IRC/it.po b/po-Engine-IRC/it.po
index 2a626f5..6799b77 100644
--- a/po-Engine-IRC/it.po
+++ b/po-Engine-IRC/it.po
@@ -1,187 +1,239 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # David Paleino <d.paleino at gmail.com>, 2008.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-engine-irc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-30 19:45+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:07+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
 msgid "away"
 msgstr "assente"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr "non connesso"
-
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "ritardo: {0} secondi"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "non connesso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "Connessione a {0} porta {1} in corso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Connessione a {0} stabilita"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
 msgstr "Accesso in corso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
 msgid "Connection failed!"
 msgstr "Connessione non riuscita."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
 msgid "Connection failed! Reason: "
 msgstr "La connessione non è riuscita. Motivo: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
 msgid "Disconnecting..."
 msgstr "Disconnessione in corso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "Disconnessione da {0} in corso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Disconnesso da {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 msgid "Connection closed"
 msgstr "Connessione chiusa"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr "Non connesso."
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Not connected"
 msgstr "Non connesso"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "Riconnessione in corso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Riconnessione a {0} in corso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Errore di riconnessione"
+
 #
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
 msgid "IrcProtocolManager Commands"
 msgstr "Comandi di IrcProtocolManager"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Porta non valida: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Accodamento degli accessi a «{0}» in corso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
 msgstr "Si è già nel canale: {0}. Digitare «/window» {0} per potervi accedere."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Accessi attivi: «{0}» - Accessi accodati: «{1}»"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Accesso a «{0}» in corso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Rimanente"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "accessi attivi: «{0}»"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "accessi accodati: «{0}»"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
 msgid "IRC Op"
 msgstr "Operatore IRC"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
 msgid "Op"
 msgstr "Operatore"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "Voice"
 msgstr "Dai la parola"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Argomento per {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "Nessun argomento impostato per {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
 msgid "ban"
 msgstr "allontana (ban)"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
 msgid "No bans in channel"
 msgstr "Nessun allontanamento (ban) nel canale"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "Invito di {0} su {1} in corso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr "{0} è già nel canale"
+msgid "{0} is already on {1}"
+msgstr "{0} è già nel canale {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
 msgid "Users"
 msgstr "Utenti"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
 msgstr "Totale di {0} utenti [{1} operatori, {2} voci, {3} normali]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
 msgid "Connection error! Reason: "
 msgstr "Errore di connessione. Motivo: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Non sono stati forniti abbastanza parametri per il comando {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
 msgid "Not connected to server"
 msgstr "Non connesso a un server"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: soprannome o canale inesistente"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid ""
+"Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr ""
+"Ritardo d'invio aumentato a {0} ms per evitare una nuova disconnessione dal "
+"server."
+
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
 msgid "Nick"
 msgstr "Soprannome"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
 msgid "is already in use"
 msgstr "è già in uso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
 msgid "Cannot join to channel:"
 msgstr "Impossibile accedere al canale:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
 msgid "You are banned"
 msgstr "Sei stato allontanato"
 
@@ -189,82 +241,85 @@ msgstr "Sei stato allontanato"
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
 msgstr "{0} [{1}] ha richiesto CTCP {2} da {3}: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
 msgstr "Risposta CTCP PING da {0}: {1} secondi"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "Risposta CTCP {0} da {1}: {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] è entrato in {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
 msgstr "{0} [{1}] ha lasciato {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
 msgstr "Sei stato espulso da {0} da {1} [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
 msgstr "{0} è stato espulso da {1} da {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Sei ora conosciuto come {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} è ora conosciuto come {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} ha cambiato l'argomento di {1} in: {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
 msgstr "Cambio modalità [{0}] per l'utente {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
 msgstr "mode/{0} [{1}] di {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
 msgstr "{0} [{1}] si è disconnesso [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
 #, csharp-format
 msgid "{0} is away: {1}"
-msgstr "{0} non è presente: {1}"
+msgstr "{0} è assente: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
 msgid "You are no longer marked as being away"
 msgstr "Non sei più segnato come assente"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
 msgid "You have been marked as being away"
 msgstr "Sei stato segnato come assente"
+
+#~ msgid "Not connected!"
+#~ msgstr "Non connesso."
diff --git a/po-Engine-IRC/pt.po b/po-Engine-IRC/pt.po
new file mode 100644
index 0000000..d82541d
--- /dev/null
+++ b/po-Engine-IRC/pt.po
@@ -0,0 +1,324 @@
+# Translation of smuxi-engine-irc messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-engine-irc package.
+#
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi-engine-irc \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-16 00:41+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
+msgid "away"
+msgstr "longe"
+
+#. TRANSLATOR: {0} is the amount of seconds
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
+#, csharp-format
+msgid "lag: {0} seconds"
+msgstr "demora: {0} segundos"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "não ligado"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
+#, csharp-format
+msgid "Connecting to {0} port {1}..."
+msgstr "A ligar ao {0} porto {1}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
+#, csharp-format
+msgid "Connection to {0} established"
+msgstr "Ligação a {0} estabelecida"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
+msgid "Logging in..."
+msgstr "A efectuar o login..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
+msgid "Connection failed!"
+msgstr "Ligação falhada!"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
+msgid "Connection failed! Reason: "
+msgstr "Ligação falhada! Razão: "
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
+msgid "Disconnecting..."
+msgstr "A desligar..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
+#, csharp-format
+msgid "Disconnecting from {0}..."
+msgstr "A desligar de {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
+#, csharp-format
+msgid "Disconnected from {0}"
+msgstr "Desligado de {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
+msgid "Connection closed"
+msgstr "Ligação fechada"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
+msgid "Not connected"
+msgstr "Não ligado"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "A voltar a ligar..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "A voltar a ligar a {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Erro ao Re-ligar"
+
+#. TRANSLATOR: this line is used as label / category for a
+#. list of commands below
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
+msgid "IrcProtocolManager Commands"
+msgstr "Comandos do IrcProtocolManager"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
+#, csharp-format
+msgid "Invalid port: {0}"
+msgstr "Porto inválido: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "A colocar entradas em fila de espera: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
+#, csharp-format
+msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
+msgstr "Já entrou no canal: {0}. Escreva /window {0} para mudar para lá."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Entradas activas: {0} - Entradas em fila de espera: {1}"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "A entrar em: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Restante"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "entradas activas: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "entradas em fila de espera: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
+msgid "IRC Op"
+msgstr "Op de IRC"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
+msgid "Op"
+msgstr "Op"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
+msgid "Voice"
+msgstr "Voz"
+
+#. For translators: do NOT change the position of {1}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
+#, csharp-format
+msgid "Topic for {0}: {1}"
+msgstr "Tópico para {0}: {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
+#, csharp-format
+msgid "No topic set for {0}"
+msgstr "Nenhum tópico definido para {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
+msgid "ban"
+msgstr "banir"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
+msgid "No bans in channel"
+msgstr "Ninguém banido no canal"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
+#, csharp-format
+msgid "Inviting {0} to {1}"
+msgstr "A convidar {0} para {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
+#, csharp-format
+msgid "{0} is already on {1}"
+msgstr "{0} já está em {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
+msgid "Users"
+msgstr "Utilizadores"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
+#, csharp-format
+msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
+msgstr "Total de {0} utilizadores [{1} ops, {2} vozes, {3} normal]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
+msgid "Connection error! Reason: "
+msgstr "Erro de ligação! Razão: "
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
+#, csharp-format
+msgid "Not enough parameters for {0} command"
+msgstr "Parâmetros insuficientes para o comando {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
+msgid "Not connected to server"
+msgstr "Não ligado ao servidor"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
+#, csharp-format
+msgid "{0}: No such nick/channel"
+msgstr "{0}: Não existe tal alcunha/canal"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid ""
+"Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr ""
+"Atraso de envio aumentado para {0}ms para evitar ser posto fora do "
+"servidor por flood outra vez."
+
+#. TRANSLATOR: the final line will look like this:
+#. -!- Nick {0} is already in use
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
+msgid "Nick"
+msgstr "Alcunha"
+
+#. TRANSLATOR: the final line will look like this:
+#. -!- Nick {0} is already in use
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
+msgid "is already in use"
+msgstr "já está em uso"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
+msgid "Cannot join to channel:"
+msgstr "Não pode entrar no canal:"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
+msgid "You are banned"
+msgstr "Você está banido"
+
+#. TRANSLATOR: {0}: nickname, {1}: ident at host,
+#. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
+#. example:
+#. meebey [meebey at example.com] requested CTCP VERSION from meebey:
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
+#, csharp-format
+msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
+msgstr "{0} [{1}] pedido CTCP {2} de {3}: {4}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
+#, csharp-format
+msgid "CTCP PING reply from {0}: {1} seconds"
+msgstr "resposta CTCP PING de {0}: {1} segundos"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
+#, csharp-format
+msgid "CTCP {0} reply from {1}: {2}"
+msgstr "CTCP {0} resposta de {1}: {2}"
+
+#. For translators: do NOT change the position of {0}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
+#, csharp-format
+msgid "{0} [{1}] has joined {2}"
+msgstr "{0} [{1}] entrou em {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
+#, csharp-format
+msgid "{0} [{1}] has left {2} [{3}]"
+msgstr "{0} [{1}] abandonou {2} [{3}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
+#, csharp-format
+msgid "You were kicked from {0} by {1} [{2}]"
+msgstr "Você foi expulso de {0} por {1} [{2}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
+#, csharp-format
+msgid "{0} was kicked from {1} by {2} [{3}]"
+msgstr "{0} foi expulso de {1} por {2} [{3}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
+#, csharp-format
+msgid "You're now known as {0}"
+msgstr "Você é agora conhecido como {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
+#, csharp-format
+msgid "{0} is now known as {1}"
+msgstr "{0} é agora conhecido como {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
+#, csharp-format
+msgid "{0} changed the topic of {1} to: {2}"
+msgstr "{0} mudou o tópico de {1} para: {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
+#, csharp-format
+msgid "Mode change [{0}] for user {1}"
+msgstr "Alteração de modo [{0}] para o utilizador {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
+#, csharp-format
+msgid "mode/{0} [{1}] by {2}"
+msgstr "modo/{0} [{1}] por {2}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
+#, csharp-format
+msgid "{0} [{1}] has quit [{2}]"
+msgstr "{0} [{1}] saiu [{2}]"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
+#, csharp-format
+msgid "{0} is away: {1}"
+msgstr "{0} está longe: {1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
+msgid "You are no longer marked as being away"
+msgstr "Você não está mais marcado como estando longe"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
+msgid "You have been marked as being away"
+msgstr "Você foi marcado como estando longe"
+
+#~ msgid "Not connected!"
+#~ msgstr "Não ligado!"
diff --git a/po-Engine-IRC/sv.po b/po-Engine-IRC/sv.po
index f310251..16ebe99 100644
--- a/po-Engine-IRC/sv.po
+++ b/po-Engine-IRC/sv.po
@@ -5,184 +5,231 @@
 # Martin Bagge <brother at bsnet.se>, 2009
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Smuxi Engine IRC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-28 22:18+0100\n"
-"Last-Translator: Martin Bagge <brother at bsnet.se>\n"
-"Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:12+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
+"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Swedish\n"
 "X-Poedit-Country: Sweden\n"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:212
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1270
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:221
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1412
 msgid "away"
 msgstr "borta"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:215
-msgid "not connected"
-msgstr "inte ansluten"
-
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:223
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:227
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "lagg: {0} sekunder"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:285
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:233
+msgid "not connected"
+msgstr "inte ansluten"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:292
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "Anluter till {0} port {1}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:291
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:298
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Anslutning till {0} upprättad"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:294
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:301
 msgid "Logging in..."
 msgstr "Logga in..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:316
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:321
 msgid "Connection failed!"
 msgstr "Anslutning misslyckades!"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:317
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:322
 msgid "Connection failed! Reason: "
 msgstr "Anslutning misslyckades! Anledning: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:326
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:331
 msgid "Disconnecting..."
 msgstr "Kopplar från..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:334
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "Kopplar från {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:333
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Anslutning bortkopplad från {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:342
 msgid "Connection closed"
 msgstr "Anslutning stängd"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:339
-msgid "Not connected!"
-msgstr "Inte ansluten!"
-
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:341
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:347
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Not connected"
 msgstr "Inte ansluten"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:376
+msgid "Reconnecting..."
+msgstr "Återansluter..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:384
+#, csharp-format
+msgid "Reconnecting to {0}..."
+msgstr "Återansluter till {0}..."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:398
+msgid "Reconnect Error"
+msgstr "Återanslutningsfel"
+
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:717
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:747
 msgid "IrcProtocolManager Commands"
 msgstr "Kommandon för IRC-protokollhanterare"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:786
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Felaktig port: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:911
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:944
+#, csharp-format
+msgid "Queuing joins: {0}"
+msgstr "Köar kanalanslutningar: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:958
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-msgstr ""
-"Redan ansluten till kanal {0}. Ange kommandot /window {0} för att byta till "
-"den."
+msgstr "Redan ansluten till kanal {0}. Ange kommandot /window {0} för att byta till den."
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:993
+#, csharp-format
+msgid "Active joins: {0} - Queued joins: {1}"
+msgstr "Aktiva kanalanslutningar: {0} - Köade kanalanslutningar: {1}"
+
+#. TRANSLATORS: final message will look like this:
+#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1016
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
+#, csharp-format
+msgid "Joining: {0}"
+msgstr "Ansluter till kanal: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1018
+msgid "Remaining"
+msgstr "Återstår"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1023
+#, csharp-format
+msgid "active joins: {0}"
+msgstr "aktiva kanalanslutningar: {0}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1032
+#, csharp-format
+msgid "queued joins: {0}"
+msgstr "köade kanalanslutningar: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1399
 msgid "IRC Op"
 msgstr "IRC Operatör"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1259
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1401
 msgid "Op"
 msgstr "Operatör"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1403
 msgid "Voice"
 msgstr "Voice"
 
 #. For translators: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1313
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Rubrik för {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1321
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1465
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "Ingen rubrik satt för {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1415
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1559
 msgid "ban"
 msgstr "utestäng"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1425
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1569
 msgid "No bans in channel"
 msgstr "Ingen är utestängd ur kanalen"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1534
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1683
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "Bjuder in {0} till {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1687
 #, csharp-format
-msgid "{0} is already on channel"
-msgstr "{0} är redan ansluten till kanalen"
+msgid "{0} is already on {1}"
+msgstr "{0} är redan på {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1566
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1715
 msgid "Users"
 msgstr "Användare"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1617
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1766
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
 msgstr "Totalt {0} användare [{1} operatörer, {2} voice, {3} vanliga]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1757
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1909
 msgid "Connection error! Reason: "
 msgstr "Fel i anslutning! Anledning: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1767
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1919
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Inte tillräckligt med parametrar för kommandot {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1929
 msgid "Not connected to server"
 msgstr "Inte ansluten till server"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2080
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2306
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: Smeknamnet/kanalen finns inte"
 
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
+#, csharp-format
+msgid "Increased send delay to {0}ms to avoid being flooded off the server again."
+msgstr "Ökar väntetid med {0}ms för att undvika att bli utkastad från servern på grund av för snabbt hanterade kommandon."
+
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2207
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2448
 msgid "Nick"
 msgstr "Smeknamnet"
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2218
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2459
 msgid "is already in use"
 msgstr "används redan"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2248
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2489
 msgid "Cannot join to channel:"
 msgstr "Kan inte ansluta till kanalen:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2257
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2498
 msgid "You are banned"
 msgstr "Du är utestängd"
 
@@ -190,82 +237,86 @@ msgstr "Du är utestängd"
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
 #. example:
 #. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2335
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2608
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
 msgstr "{0} [{1}] begärde CTCP {2} från {3}: {4}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2360
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2633
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
 msgstr "CTCP PING-svar från {0}: {1} sekunder"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2368
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2641
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "CTCP {0}-svar från {1}: {2}"
 
 #. For translators: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2591
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2888
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] anslöt till {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2732
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3024
 #, csharp-format
 msgid "{0} [{1}] has left {2} [{3}]"
 msgstr "{0} [{1}] lämnade {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2751
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3043
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
 msgstr "Du sparkades från {0} av {1} [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2759
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3051
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
 msgstr "{0} sparkades från {1} av {2} [{3}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2777
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2823
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3069
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Du kallas numera {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2851
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} kallas numera {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2902
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3200
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} bytte rubrik för {1} till: {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2987
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3285
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
 msgstr "Ändrat användartillstånd [{0}] för användaren {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3004
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3302
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
 msgstr "användartillstånd/{0} [{1}] av {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3041
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3339
 #, csharp-format
 msgid "{0} [{1}] has quit [{2}]"
 msgstr "{0} [{1}] har lämnat [{2}]"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3459
 #, csharp-format
 msgid "{0} is away: {1}"
 msgstr "{0} är borta: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3465
 msgid "You are no longer marked as being away"
 msgstr "Du är inte längre markerad som borta"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3161
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3471
 msgid "You have been marked as being away"
 msgstr "Du har markerats tom borta"
+
+#~ msgid "Not connected!"
+#~ msgstr "Inte ansluten!"
+
diff --git a/po-Engine-Twitter/LINGUAS b/po-Engine-Twitter/LINGUAS
index 04c3b81..9587292 100644
--- a/po-Engine-Twitter/LINGUAS
+++ b/po-Engine-Twitter/LINGUAS
@@ -1,5 +1,8 @@
+ca
 cs
+da
 fr
 it
+pt
 sv
 de
diff --git a/po-Engine-Twitter/cs.po b/po-Engine-Twitter/ca.po
similarity index 51%
copy from po-Engine-Twitter/cs.po
copy to po-Engine-Twitter/ca.po
index 9c19cbb..9c0c26c 100644
--- a/po-Engine-Twitter/cs.po
+++ b/po-Engine-Twitter/ca.po
@@ -1,104 +1,112 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Michal Simunek <michal.simunek at gmail.com>, 2009.
-#
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi-engine-twitter 0.6.4.1-1\n"
+"Project-Id-Version: Smuxi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-05 15:22+0100\n"
-"Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
-"Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>\n"
+"Language-Team: Siegfried-Angel Gevatter Pujals <siegfried at gevatter.com>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
+"X-Poedit-Language: Catalan\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Časová osa přátel"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Línia temporal"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
-msgstr "Odpovědi"
+msgstr "Respostes"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
-msgstr "Přímé zprávy"
+msgstr "Missatges directes"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
-msgstr "Připojování ke Twitteru..."
+msgstr "S'està connectant al Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
-msgstr "Přihlášení selhalo!"
+msgstr "No s'ha pogut iniciar sessió!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
-msgstr "Přihlášení selhalo! Chybné uživatelské jméno nebo heslo."
+msgstr "No s'ha pogut iniciar sessió! El nom d'usuari i/o la contrasenya són incorrectes."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
-msgstr "Připojování selhalo!"
+msgstr "Ha fallat la connexió!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
-msgstr "Připojování selhalo z důvodu: "
+msgstr "Ha fallat la connexió! Motiu:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
-msgstr "Připojení ke Twitteru proběhlo úspěšně."
+msgstr "S'ha connectat correctament amb Twitter."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
-msgstr "Probíhá příjem podrobností o uživateli z Twitteru, čekejte prosím..."
+msgstr "S'està recuperant els detalls de l'usuari de Twitter, espereu..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
-msgstr "Příjem podrobností o uživateli dokončen."
+msgstr "S'ha acabat de recuperar els detalls de l'usuari."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
-msgstr "Příjem podrobností o uživateli z Twitteru selhal z důvodu: "
+msgstr "No s'ha pogut recuperar els detalls de l'usuari de Twitter. Motiu:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
-msgstr "Probíhá příjem seznamu přátel z Twitteru, čekejte prosím..."
+msgstr "S'està recuperant la llista d'amics de Twitter, espereu..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
-msgstr "Příjem seznamu přátel dokončen."
+msgstr "S'ha acabat de recuperar la llista d'amics."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
-msgstr "Příjem seznamu přátel z Twitteru selhal z důvodu: "
+msgstr "No s'ha pogut recuperar la llista d'amics de Twitter. Motiu:"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
-msgstr "Příkazy Twitteru"
+msgstr "Ordres del Twitter"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "No s'ha pogut actualitzar l'estat - Motiu: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
-msgstr ""
-"Zprávu nelze odeslat - nezadali jste příjemce. Zadejte: /msg $nick zpráva"
+msgstr "No es pot enviar el missatge - no s'ha especificat cap destinatari. Utilitzeu: /msg $sobrenom missatge"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "No s'ha pogut enviar el missatge - Motiu: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
-msgstr "Zprávu nelze odeslat - zadaný uživatel neexistuje."
+msgstr "No s'ha pogut enviar el missatge - l'usuari especificat no existeix."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
-msgid ""
-"An error occurred while fetching the friends timeline from Twitter. Reason: "
-msgstr "Během přijmu časové osy přátel z Twitteru nastala chyba z důvodu: "
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
+msgid "An error occurred while fetching the friends timeline from Twitter. Reason: "
+msgstr "S'ha produït un error al recuperar la línia temporal de l'amic de Twitter. Motiu:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
-msgstr "Během přijmu odpovědí z Twitteru nastala chyba z důvodu: "
+msgstr "S'ha produït un error al recuperar les respostes de Twitter. Motiu:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
-msgstr "Během přijmu přímých zpráv z Twitteru nastala chyba z důvodu: "
+msgstr "S'ha produït un error al recuperar els missatges directes de Twitter. Motiu:"
+
diff --git a/po-Engine-Twitter/cs.po b/po-Engine-Twitter/cs.po
index 9c19cbb..d1a625c 100644
--- a/po-Engine-Twitter/cs.po
+++ b/po-Engine-Twitter/cs.po
@@ -1,104 +1,116 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
-# Michal Simunek <michal.simunek at gmail.com>, 2009.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-twitter 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-05 15:22+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:22+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Časová osa přátel"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Domovské časové pásmo"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
 msgstr "Odpovědi"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
 msgstr "Přímé zprávy"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
 msgstr "Připojování ke Twitteru..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
 msgstr "Přihlášení selhalo!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
 msgstr "Přihlášení selhalo! Chybné uživatelské jméno nebo heslo."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
 msgstr "Připojování selhalo!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
 msgstr "Připojování selhalo z důvodu: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
 msgstr "Připojení ke Twitteru proběhlo úspěšně."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
 msgstr "Probíhá příjem podrobností o uživateli z Twitteru, čekejte prosím..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
 msgstr "Příjem podrobností o uživateli dokončen."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
 msgstr "Příjem podrobností o uživateli z Twitteru selhal z důvodu: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
 msgstr "Probíhá příjem seznamu přátel z Twitteru, čekejte prosím..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
 msgstr "Příjem seznamu přátel dokončen."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
 msgstr "Příjem seznamu přátel z Twitteru selhal z důvodu: "
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
 msgstr "Příkazy Twitteru"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Nelze aktualizovat stav - Příčina: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
-msgstr ""
-"Zprávu nelze odeslat - nezadali jste příjemce. Zadejte: /msg $nick zpráva"
+msgstr "Zprávu nelze odeslat - nezadali jste příjemce. Zadejte: /msg $nick zpráva"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Zprávu nelze odeslat - Příčina: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
 msgstr "Zprávu nelze odeslat - zadaný uživatel neexistuje."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
-msgstr "Během přijmu časové osy přátel z Twitteru nastala chyba z důvodu: "
+msgstr ""
+"Během přijmu časového pásma přátel z Twitteru nastala chyba. Příčina: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
 msgstr "Během přijmu odpovědí z Twitteru nastala chyba z důvodu: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
 msgstr "Během přijmu přímých zpráv z Twitteru nastala chyba z důvodu: "
diff --git a/po-Engine-Twitter/it.po b/po-Engine-Twitter/da.po
similarity index 55%
copy from po-Engine-Twitter/it.po
copy to po-Engine-Twitter/da.po
index ac17a1a..1f01688 100644
--- a/po-Engine-Twitter/it.po
+++ b/po-Engine-Twitter/da.po
@@ -1,112 +1,115 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-#
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009.
+# Danish translation smuxi-engine-twitter.
+# Copyright (C) 2010 smuxi-engine & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-engine-twitter package.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-twitter\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-11-26 14:41+0100\n"
-"Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
-"Language-Team: Italian <tp at lists.linux.it>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-16 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Cronologia degli amici"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Hjemmetidslinje"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
-msgstr "Risposte"
+msgstr "Svar"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
-msgstr "Messaggi diretti"
+msgstr "Direkte beskeder"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
-msgstr "Connessione a Twitter..."
+msgstr "Tilslutter til Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
-msgstr "Accesso non riuscito."
+msgstr "Logind mislykkedes!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
-msgstr "Accesso non riuscito: il nome utente o la password non sono corretti."
+msgstr "Logind mislykkedes! Brugernavn og/eller adgangskode er forkerte."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
-msgstr "Connessione non riuscita."
+msgstr "Tilslutning mislykkedes!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
-msgstr "Connessione non riuscita. Motivo: "
+msgstr "Tilslutning mislykkedes! Årsag: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
-msgstr "Collegamento a Twitter avvenuto con successo."
+msgstr "Tilsluttet Twitter."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
-msgstr "Recupero dei dettagli sull'utente da Twitter, attendere..."
+msgstr "Henter brugerdetaljer fra Twitter, vent venligst..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
-msgstr "Recupero dei dettagli sull'utente terminato."
+msgstr "Færdig med hentning af brugerdetaljer."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
-msgstr "Impossibile recuperare i dettagli sull'utente da Twitter. Motivo: "
+msgstr "Kunne ikke hente brugerdetaljer fra Twitter. Årsag: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
-msgstr "Recupero degli amici da Twitter, attendere..."
+msgstr "Henter venneliste fra Twitter, vent venligst..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
-msgstr "Recupero degli amici terminato."
+msgstr "Afsluttede hentning af venneliste."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
-msgstr "Impossibile recuperare gli amici da Twitter. Motivo: "
+msgstr "Kunen ikke hente venneliste fra Twitter. Årsag: "
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
-msgstr "Comandi di Twitter"
+msgstr "Twitterkommandoer"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Kunne ikke opdatere status - årsag: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
-msgstr ""
-"Impossibile inviare il messaggio: nessun destinatario specificato. "
-"Utilizzare: /msg $nick messaggio"
+msgstr "Kan ikke sende besked - intet mål angivet. Brug: /msg $nick besked"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Kunne ikke sende besked - årsag: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
-msgstr "Impossibile inviare il messaggio: l'utente specificato non esiste."
+msgstr "Kunne ikke sende besked - den angivne bruger findes ikke."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr ""
-"Si è verificato un errore durante il recupero della cronologia degli amici "
-"da Twitter. Motivo: "
+"En fejl opstod under hentning af vennetidslinjen fra Twitter. Årsag: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
-msgstr ""
-"Si è verificato un errore durante il recupero delle risposte da Twitter. "
-"Motivo: "
+msgstr "En fejl opstod under hentning af svar fra Twitter. Årsag: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
-msgstr ""
-"Si è verificato un errore durante il recupero dei messaggi diretti da "
-"Twitter. Motivo: "
+msgstr "En fejl opstod under hentning af direkte beskeder fra Twitter. Årsag: "
diff --git a/po-Engine-Twitter/de.po b/po-Engine-Twitter/de.po
index 772fd58..85dd094 100644
--- a/po-Engine-Twitter/de.po
+++ b/po-Engine-Twitter/de.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Bianca Mix <heavydemon at freenet.de>, 2010
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
 "PO-Revision-Date: 2010-01-02 21:59+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
@@ -17,99 +17,99 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Poedit-Language: French\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Freunde Zeitachse"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Zuhause Zeitachse"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
 msgstr "Antworten"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
 msgstr "Direktnachrichten"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
 msgstr "Verbinde zu Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
 msgstr "Das Anmelden ist fehlgeschlagen!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
-msgstr ""
-"Das Verbinden ist fehlgeschlagen! Benutzername und/oder Passwort ist nicht "
-"korrekt."
+msgstr "Das Verbinden ist fehlgeschlagen! Benutzername und/oder Passwort ist nicht korrekt."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
 msgstr "Verbindung ist fehlgeschlagen!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
 msgstr "Verbindung ist fehlgeschlagen! Grund: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
 msgstr "Erfolgreich zu Twitter verbunden."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
 msgstr "Rufe die Benutzerinformationen von Twitter ab, bitte warten Sie..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
 msgstr "Abrufen der Benutzerinformationen abgeschlossen."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
 msgstr "Abrufen der Benutzerinformationen fehlgeschlagen. Grund:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
 msgstr "Rufe Freunde von Twitter ab, bitte warten Sie..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
 msgstr "Abrufen der Freunde abgeschlossen."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
 msgstr "Abrufen der Freunde von Twitter fehlgeschlagen. Grund :"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
 msgstr "Twitter Befehle"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Konnte den Status nicht aktualisieren - Ursache: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
-msgstr ""
-"Kann Nachricht nicht senden - Ziel ist nicht definiert. Verwenden Sie /msg "
-"$nick Nachricht"
+msgstr "Kann Nachricht nicht senden - Ziel ist nicht definiert. Verwenden Sie /msg $nick Nachricht"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Konnte Nachricht nicht senden - Ursache: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
 msgstr "Konnte Nachricht nicht senden - der gewählte Benutzer existiert nicht"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
-msgid ""
-"An error occurred while fetching the friends timeline from Twitter. Reason: "
-msgstr ""
-"Ein Fehler ist aufgetreten, während die Freunde Zeitachse von Twitter "
-"abgerufen wurde. Grund:"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
+msgid "An error occurred while fetching the friends timeline from Twitter. Reason: "
+msgstr "Ein Fehler ist aufgetreten, während die Freunde Zeitachse von Twitter abgerufen wurde. Grund:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
-msgstr ""
-"Während des Abrufens der Antworten von Twitter ist ein Fehler aufgetreten. "
-"Grund:"
+msgstr "Während des Abrufens der Antworten von Twitter ist ein Fehler aufgetreten. Grund:"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
-msgstr ""
-"Während des Abrufens der Direktenachrichten von Twitter ist ein Fehler "
-"aufgetreten. Grund:"
+msgstr "Während des Abrufens der Direktenachrichten von Twitter ist ein Fehler aufgetreten. Grund:"
diff --git a/po-Engine-Twitter/fr.po b/po-Engine-Twitter/fr.po
index 4cccc8a..7892918 100644
--- a/po-Engine-Twitter/fr.po
+++ b/po-Engine-Twitter/fr.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-02 20:55+0100\n"
-"Last-Translator: Clement BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 22:21+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,99 +17,110 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Poedit-Language: French\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Chronologie des amis "
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Chronologie générale"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
 msgstr "Réponses"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
 msgstr "Messages directs"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
 msgstr "Connexion à Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
 msgstr "Impossible de se logger !"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
 msgstr ""
 "Impossible de se logger ! Le nom d'utilisateur et/ou le mot de passe étaient "
 "incorrects."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
 msgstr "Connexion impossible !"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
 msgstr "Connexion impossible ! Raison : "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
 msgstr "Connexion à Twitter réussie."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
 msgstr "Téléchargement des détails utilisateur Twitter. Veuillez patienter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
 msgstr "Téléchargement des détails utilisateur terminée."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
 msgstr "Impossible de télécharger les détails utilisateur de Twitter. Raison :"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
 msgstr ""
 "Téléchargement de la liste des amis Twitter en cours, veuillez patienter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
 msgstr "Téléchargement de la liste des amis terminée."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
 msgstr "Impossible de télécharger la liste des amis Twitter. Raison :"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
 msgstr "Commandes Twitter"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Impossible de mettre à jour le statut - Raison : {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
 msgstr ""
 "Impossible d'envoyer le message. Aucune cible spécifiée. Utilisez /msg $nick "
 "message"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Impossible d'envoyer le message - Raison : {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
 msgstr "Impossible d'envoyer le message. L'utilisateur spécifié n'existe pas."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr ""
 "Une erreur c'est produite pendant le téléchargement de la chronologie des "
 "amis Twitter. Raison :"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
 msgstr ""
 "Une erreur c'est produite pendant le téléchargement des réponses Twitter. "
 "Raison :"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
 msgstr ""
 "Un erreur s'est produite pendant le téléchargement des messages directs "
diff --git a/po-Engine-Twitter/it.po b/po-Engine-Twitter/it.po
index ac17a1a..56c245d 100644
--- a/po-Engine-Twitter/it.po
+++ b/po-Engine-Twitter/it.po
@@ -1,111 +1,123 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 #
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-twitter\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-11-26 14:41+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:12+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Cronologia degli amici"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Cronologia di home"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
 msgstr "Risposte"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
 msgstr "Messaggi diretti"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
-msgstr "Connessione a Twitter..."
+msgstr "Connessione a Twitter in corso"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
 msgstr "Accesso non riuscito."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
 msgstr "Accesso non riuscito: il nome utente o la password non sono corretti."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
 msgstr "Connessione non riuscita."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
 msgstr "Connessione non riuscita. Motivo: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
 msgstr "Collegamento a Twitter avvenuto con successo."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
-msgstr "Recupero dei dettagli sull'utente da Twitter, attendere..."
+msgstr "Recupero dei dettagli sull'utente da Twitter in corso, attendere."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
 msgstr "Recupero dei dettagli sull'utente terminato."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
 msgstr "Impossibile recuperare i dettagli sull'utente da Twitter. Motivo: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
-msgstr "Recupero degli amici da Twitter, attendere..."
+msgstr "Recupero degli amici da Twitter in corso, attendere."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
 msgstr "Recupero degli amici terminato."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
 msgstr "Impossibile recuperare gli amici da Twitter. Motivo: "
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
 msgstr "Comandi di Twitter"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Impossibile aggiornare lo stato. Motivo: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
 msgstr ""
 "Impossibile inviare il messaggio: nessun destinatario specificato. "
 "Utilizzare: /msg $nick messaggio"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Impossibile inviare il messaggio. Motivo: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
 msgstr "Impossibile inviare il messaggio: l'utente specificato non esiste."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr ""
 "Si è verificato un errore durante il recupero della cronologia degli amici "
 "da Twitter. Motivo: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
 msgstr ""
 "Si è verificato un errore durante il recupero delle risposte da Twitter. "
 "Motivo: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
 msgstr ""
 "Si è verificato un errore durante il recupero dei messaggi diretti da "
diff --git a/po-Engine-Twitter/de.po b/po-Engine-Twitter/pt.po
similarity index 52%
copy from po-Engine-Twitter/de.po
copy to po-Engine-Twitter/pt.po
index 772fd58..ba41e24 100644
--- a/po-Engine-Twitter/de.po
+++ b/po-Engine-Twitter/pt.po
@@ -1,115 +1,124 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Bianca Mix <heavydemon at freenet.de>, 2010
+# Translation of smuxi-engine-twitter messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-engine-twitter package.
 #
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: Smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-engine-twitter \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-02 21:59+0100\n"
-"Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
-"Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 01:42+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Poedit-Language: French\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Freunde Zeitachse"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Timeline de Home"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
-msgstr "Antworten"
+msgstr "Respostas"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
-msgstr "Direktnachrichten"
+msgstr "Mensagens Directas"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
-msgstr "Verbinde zu Twitter..."
+msgstr "A ligar ao Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
-msgstr "Das Anmelden ist fehlgeschlagen!"
+msgstr "Login falhado!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
 msgstr ""
-"Das Verbinden ist fehlgeschlagen! Benutzername und/oder Passwort ist nicht "
-"korrekt."
+"Login falhado! O nome de utilizador e/ou a palavra-passe estão incorrectas."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
-msgstr "Verbindung ist fehlgeschlagen!"
+msgstr "Ligação falhada!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
-msgstr "Verbindung ist fehlgeschlagen! Grund: "
+msgstr "Ligação falhada! Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
-msgstr "Erfolgreich zu Twitter verbunden."
+msgstr "Ligação ao Twitter efectuada com sucesso."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
-msgstr "Rufe die Benutzerinformationen von Twitter ab, bitte warten Sie..."
+msgstr ""
+"A obter detalhes do utilizador a partir do Twitter, por favor aguarde..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
-msgstr "Abrufen der Benutzerinformationen abgeschlossen."
+msgstr "Obtenção de detalhes do utilizador terminada."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
-msgstr "Abrufen der Benutzerinformationen fehlgeschlagen. Grund:"
+msgstr "Falhou ao obter os detalhes do utilizador a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
-msgstr "Rufe Freunde von Twitter ab, bitte warten Sie..."
+msgstr "A obter amigos a partir do Twitter, por favor aguarde..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
-msgstr "Abrufen der Freunde abgeschlossen."
+msgstr "Obtenção de amigos terminada."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
-msgstr "Abrufen der Freunde von Twitter fehlgeschlagen. Grund :"
+msgstr "Falhou ao obter amigos a partir do Twitter. Razão: "
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
-msgstr "Twitter Befehle"
+msgstr "Comandos do Twitter"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Incapaz de actualizar o estado - Razão: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
 msgstr ""
-"Kann Nachricht nicht senden - Ziel ist nicht definiert. Verwenden Sie /msg "
-"$nick Nachricht"
+"Incapaz de enviar mensagem - nenhum destino especificado. Use: /msg $alcunha "
+"mensagem"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Incapaz de enviar mensagem - Razão: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
-msgstr "Konnte Nachricht nicht senden - der gewählte Benutzer existiert nicht"
+msgstr "Incapaz de enviar mensagem - o utilizador especificado não existe."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr ""
-"Ein Fehler ist aufgetreten, während die Freunde Zeitachse von Twitter "
-"abgerufen wurde. Grund:"
+"Ocorreu um erro ao obter o timeline de amigos a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
-msgstr ""
-"Während des Abrufens der Antworten von Twitter ist ein Fehler aufgetreten. "
-"Grund:"
+msgstr "Ocorreu um erro ao obter as respostas a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
 msgstr ""
-"Während des Abrufens der Direktenachrichten von Twitter ist ein Fehler "
-"aufgetreten. Grund:"
+"Ocorreu um erro ao obter as mensagens directas a partir do Twitter. Razão: "
+
diff --git a/po-Engine-Twitter/sv.po b/po-Engine-Twitter/sv.po
index 5832963..d6951e9 100644
--- a/po-Engine-Twitter/sv.po
+++ b/po-Engine-Twitter/sv.po
@@ -5,107 +5,113 @@
 # Martin Bagge <brother at bsnet.se>, 2009
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Smuxi Engine Twitter\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-28 22:03+0100\n"
-"Last-Translator: Martin Bagge <brother at bsnet.se>\n"
-"Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:12+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
+"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Swedish\n"
 "X-Poedit-Country: Sweden\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:100
-msgid "Friends Timeline"
-msgstr "Tidslinje"
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:101
+msgid "Home Timeline"
+msgstr "Hem Tidslinje"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:107
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:108
 msgid "Replies"
 msgstr "Svar"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:114
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:115
 msgid "Direct Messages"
 msgstr "Direktmeddelanden"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:132
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:133
 msgid "Connecting to Twitter..."
 msgstr "Ansluter till Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:140
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:141
 msgid "Login failed!"
 msgstr "Inloggning misslyckades!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:142
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:143
 msgid "Login failed! Username and/or password are incorrect."
-msgstr ""
-"Inloggning misslyckades! Användarnamn och/eller lösenord var felaktigt."
+msgstr "Inloggning misslyckades! Användarnamn och/eller lösenord var felaktigt."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:148
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Connection failed!"
 msgstr "Anslutning misslyckades!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:150
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:151
 msgid "Connection failed! Reason: "
 msgstr "Anslutning misslyckades! Anledning: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:155
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:156
 msgid "Successfully connected to Twitter."
 msgstr "Ansluten till Twitter."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:163
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:164
 msgid "Fetching user details from Twitter, please wait..."
 msgstr "Hämtar användarinformation från Twitter. Vänligen vänta..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:168
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:169
 msgid "Finished fetching user details."
 msgstr "Hämtade användarinformation."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:175
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:176
 msgid "Failed to fetch user details from Twitter. Reason: "
-msgstr ""
-"Misslyckades med att hämta användarinformation från Twitter. Anledning: "
+msgstr "Misslyckades med att hämta användarinformation från Twitter. Anledning: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:184
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:185
 msgid "Fetching friends from Twitter, please wait..."
 msgstr "Hämtar vänner från Twitter. Vänligen vänta..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:190
 msgid "Finished fetching friends."
 msgstr "Hämtade vänner."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:192
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:193
 msgid "Failed to fetch friends from Twitter. Reason: "
 msgstr "Misslyckades med att hämta vänner från Twitter. Anledning: "
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:412
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:454
 msgid "Twitter Commands"
 msgstr "Twitter-kommandon"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:464
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:504
+#, csharp-format
+msgid "Could not update status - Reason: {0}"
+msgstr "Kunde inte uppdatera status - Anledning: {0}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:513
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
-msgstr ""
-"Kan inte skicka meddelande - inget mål specificerades. Använd /msg $nick "
-"meddelande"
+msgstr "Kan inte skicka meddelande - inget mål specificerades. Använd /msg $nick meddelande"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:526
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:568
+#, csharp-format
+msgid "Could not send message - Reason: {0}"
+msgstr "Kunde inte skicka meddelande - Anledning: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:496
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:555
 msgid "Could not send message - the specified user does not exist."
-msgstr ""
-"Kunde inte skicka meddelande - den specificerade användaren hittades inte."
+msgstr "Kunde inte skicka meddelande - den specificerade användaren hittades inte."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:567
-msgid ""
-"An error occurred while fetching the friends timeline from Twitter. Reason: "
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:631
+msgid "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr "Ett fel uppstod vid hämtning av kvitter från dina vänner. Anledning: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:652
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:721
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
 msgstr "Ett fel uppstod vid hämtning av svar från Twitter. Anledning: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:742
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:816
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
-msgstr ""
-"Ett fel uppstod vid hämtning av direktmeddelanden från Twitter. Anledning: "
+msgstr "Ett fel uppstod vid hämtning av direktmeddelanden från Twitter. Anledning: "
+
diff --git a/po-Engine/LINGUAS b/po-Engine/LINGUAS
index 900dc7a..c6a7441 100644
--- a/po-Engine/LINGUAS
+++ b/po-Engine/LINGUAS
@@ -6,4 +6,5 @@ es
 es_AR
 fr
 it
+pt
 sv
diff --git a/po-Engine/cs.po b/po-Engine/cs.po
index 4b9c695..b4ab7cb 100644
--- a/po-Engine/cs.po
+++ b/po-Engine/cs.po
@@ -1,16 +1,17 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
-# Michal Simunek <michal.simunek at gmail.com>, 2009.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-05 16:29+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 10:29+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -24,113 +25,125 @@ msgid "Not connected to server"
 msgstr "Není připojeno k serveru"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Pro příkaz {0} není vloženo dostatek parametrů"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
 msgstr "Vítejte ve Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
 msgstr "Pro zobrazení seznamu dostupných příkazů napište /help."
 
-#: ../src/Engine/Session.cs:160
+#: ../src/Engine/Session.cs:163
 msgid ""
 "After you have made a connection the list of available commands changes. Use "
 "the /help command again to see the extended command list."
 msgstr ""
 "Seznam dostupných příkazů se změní po té, co se přihlásíte. Pro zobrazení "
-"rozšířeného seznamu dostupných příkazů zadejte příkaz /help znovu."
+"rozšířeného seznamu dostupných příkazů zadejte znovu příkaz /help."
 
-#: ../src/Engine/Session.cs:210
+#: ../src/Engine/Session.cs:216
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
 msgstr "Automatické připojení k {0} selhalo!"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
 msgstr "Příkazy enginu"
 
 #: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "Připojení selhalo!"
+
+#: ../src/Engine/Session.cs:539
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "Odpojení selhalo - nepodařilo se najít server: {0}"
 
-#: ../src/Engine/Session.cs:546
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Opětovné připojení selhalo!"
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
 msgstr "Nastavení bylo načteno"
 
-#: ../src/Engine/Session.cs:551
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
 msgstr "Nastavení bylo uloženo"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
 msgstr "Neplatný parametr pro config; zadejte load nebo save"
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
 msgstr "Neplatný parametr pro network; zadejte list, switch nebo close"
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
 msgstr "Sítě"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
 msgstr "Typ"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
 msgstr "Hostitel"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
 msgstr "Port"
 
-#: ../src/Engine/Session.cs:624
+#: ../src/Engine/Session.cs:671
 #, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
 msgstr "Připojení uzavřeno - hostitelská síť nebyla nalezena: {0}"
 
-#: ../src/Engine/Session.cs:658
+#: ../src/Engine/Session.cs:705
 #, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
 msgstr "Síťový uzel selhal - hostitelská síť nebyla nalezena: {0}"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
 msgstr "Není připojeno k žádné síti"
 
-#: ../src/Engine/Session.cs:962
-#, csharp-format
-msgid "No protocol manager found for the protocol: {0}"
-msgstr "Pro protokol nebyl nalezen správce protokolu: {0}"
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Připojení selhalo."
 
-#: ../src/Engine/Session.cs:985
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr "Neznámý protokol: {0}"
+msgid "No protocol manager found for the protocol: {0}"
+msgstr "Pro protokol nebyl nalezen žádný správce protokolu: {0}"
 
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
-msgstr ""
+msgstr "Uživatelské jméno nemůže být prázdné."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
-msgstr ""
+msgstr "Heslo nemůže být prázdné."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr ""
+msgstr "Uživatel \"{0}\" neexistuje."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr ""
+msgstr "Uživatel \"{0}\" již existuje."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Neznámý protokol: {0}"
diff --git a/po-Engine/da.po b/po-Engine/da.po
index f700d11..dcbda91 100644
--- a/po-Engine/da.po
+++ b/po-Engine/da.po
@@ -1,280 +1,152 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
+# Danish translation smuxi-engine.
+# Copyright (C) 2010 smuxi-engine & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-engine package.
 # Bjarke Sørensen <bs at wasd.dk>, 2006.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-engine\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2006-12-11 00:21+0100\n"
-"Last-Translator: Bjarke Sørensen <bs at wasd.dk>\n"
-"Language-Team: Danish Localization <debian-l10n-danish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-21 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: ../src/Engine/FrontendManager.cs:219
-#, fuzzy
 msgid "No network connections"
-msgstr "ingen netværksforbindelser"
+msgstr "Ingen netværksforbindelser"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:146
 msgid "Not connected to server"
 msgstr "Ikke forbundet til server"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
-msgstr "Ikke nok parametre for kanalen {0}"
+msgstr "Ikke nok parametre for kommandoen {0}"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
 msgstr "Velkommen til Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
-msgstr ""
+msgstr "Tast /help for en liste over tilgængelige kommandoer."
 
-#: ../src/Engine/Session.cs:160
+#: ../src/Engine/Session.cs:163
 msgid ""
 "After you have made a connection the list of available commands changes. Use "
 "the /help command again to see the extended command list."
 msgstr ""
+"Efter du har foretaget en tilslutning ændres listen over tilgængelige "
+"kommandoer. Brug kommandoen /help igen for at se den udvidede kommandoliste."
 
-#: ../src/Engine/Session.cs:210
-#, fuzzy, csharp-format
+#: ../src/Engine/Session.cs:216
+#, csharp-format
 msgid "Automatic connect to {0} failed!"
-msgstr "Forbindelse mislykkedes!"
+msgstr "Automatisk tilslutning til {0} mislykkedes!"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
-msgstr ""
+msgstr "Motorkommandoer"
 
 #: ../src/Engine/Session.cs:510
-#, fuzzy, csharp-format
+msgid "Connect failed!"
+msgstr "Tilslutning mislykkedes!"
+
+#: ../src/Engine/Session.cs:539
+#, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
-msgstr "Afbrydelse fejlede, kunne ikke finde server: {0}"
+msgstr "Afbrydelse fejlede - kunne ikke finde server: {0}"
 
-#: ../src/Engine/Session.cs:546
-#, fuzzy
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Gentilslutning mislykkedes!"
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
-msgstr "Forbindelse lukket"
+msgstr "Konfiguration genindlæst"
 
-#: ../src/Engine/Session.cs:551
-#, fuzzy
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
-msgstr "Forbindelse lukket"
+msgstr "Konfiguration gemt"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
-msgstr ""
+msgstr "Ugyldigt parameter for konfig; brug load (indlæs) eller save (gem)"
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
 msgstr ""
+"Ugyldigt parameter for netværk; brug list (vis), switch (skift) eller close "
+"(luk)"
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
-msgstr ""
+msgstr "Netværk"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
-msgstr ""
+msgstr "Type"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
-msgstr ""
+msgstr "Vært"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
-msgstr ""
+msgstr "Port"
 
-#: ../src/Engine/Session.cs:624
-#, fuzzy, csharp-format
+#: ../src/Engine/Session.cs:671
+#, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
-msgstr "Afbrydelse fejlede, kunne ikke finde server: {0}"
+msgstr ""
+"Lukning af netværk mislykkedes - kunne ikke finde netværk med vært: {0}"
 
-#: ../src/Engine/Session.cs:658
-#, fuzzy, csharp-format
+#: ../src/Engine/Session.cs:705
+#, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
-msgstr "Afbrydelse fejlede, kunne ikke finde server: {0}"
+msgstr "Skift af netværk mislykkedes - kunne ikke finde netværk med vært: {0}"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
-msgstr "Ikke forbundet til noget netværk"
+msgstr "Ikke tilsluttet til noget netværk"
 
-#: ../src/Engine/Session.cs:962
-#, csharp-format
-msgid "No protocol manager found for the protocol: {0}"
-msgstr ""
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Tilslutning mislykkedes."
 
-#: ../src/Engine/Session.cs:985
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr ""
+msgid "No protocol manager found for the protocol: {0}"
+msgstr "Ingen protokolhåndtering fundet til denne protokol: {0}"
 
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
-msgstr ""
+msgstr "Brugernavn må ikke være tomt."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
-msgstr ""
+msgstr "Adgangskode må ikke være tom."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr ""
+msgstr "Bruger »{0}« findes ikke."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr ""
-
-#, fuzzy
-#~ msgid "not connected"
-#~ msgstr "(ikke forbundet)"
-
-#~ msgid "Connecting to {0} port {1}..."
-#~ msgstr "Forbinder til {0} port {1}..."
-
-#~ msgid "Connection to {0} established"
-#~ msgstr "Forbindelse til {0} oprettet"
-
-#~ msgid "Logging in..."
-#~ msgstr "Logger ind..."
-
-#~ msgid "Connection failed!"
-#~ msgstr "Forbindelse mislykkedes!"
-
-#~ msgid "Connection failed! Reason: "
-#~ msgstr "Forbindelse mislykkedes! Grund:"
-
-#~ msgid "Disconnecting..."
-#~ msgstr "Afbryder forbindelse..."
-
-#~ msgid "Disconnecting from {0}..."
-#~ msgstr "Afbryder fra {0}..."
-
-#~ msgid "Disconnected from {0}"
-#~ msgstr "Afbrudt fra {0}"
-
-#~ msgid "Connection closed"
-#~ msgstr "Forbindelse lukket"
-
-#~ msgid "Not connected!"
-#~ msgstr "Ikke forbundet!"
-
-#~ msgid "Not connected"
-#~ msgstr "Ikke forbundet"
-
-#~ msgid "Invalid port: {0}"
-#~ msgstr "Invalid port: {0}"
-
-#, fuzzy
-#~ msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-#~ msgstr ""
-#~ "Du er allerede i kanalen: {0}.Skriv /window {0} for at skifte til den"
-
-#~ msgid "Topic for {0}: {1}"
-#~ msgstr "Emnet for {0}: {1}"
-
-#~ msgid "No topic set for {0}"
-#~ msgstr "Intet emne sat for {0}"
-
-#, fuzzy
-#~ msgid "No bans in channel"
-#~ msgstr "{0}: Intet sådan kaldenavn/kanal"
-
-#~ msgid "Inviting {0} to {1}"
-#~ msgstr "Inviterer {0} til {1}"
-
-#~ msgid "{0} is already on channel"
-#~ msgstr "{0} er allerede i kanalen"
-
-#, fuzzy
-#~ msgid "Connection error! Reason: "
-#~ msgstr "Forbindelse mislykkedes! Grund:"
-
-#~ msgid "{0}: No such nick/channel"
-#~ msgstr "{0}: Intet sådan kaldenavn/kanal"
-
-#, fuzzy
-#~ msgid "is already in use"
-#~ msgstr "{0} er allerede i kanalen"
-
-#~ msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
-#~ msgstr "{0} [{1}] udbedte CTCP {2} fra {3}: {4}"
-
-#~ msgid "CTCP PING reply from {0}: {1} seconds"
-#~ msgstr "CTCP PING svar fra {0}: {1} sekunder"
-
-#, fuzzy
-#~ msgid "CTCP {0} reply from {1}: {2}"
-#~ msgstr "CTCP PING svar fra {0}: {1} sekunder"
-
-#~ msgid "{0} [{1}] has joined {2}"
-#~ msgstr "{0} [{1}] kom ind i {2}"
-
-#~ msgid "{0} [{1}] has left {2} [{3}]"
-#~ msgstr "{0} [{1}] har forladt {2} [{3}]"
-
-#~ msgid "You was kicked from {0} by {1} [{2}]"
-#~ msgstr "Du blev sparket ud fra {0} af {1} [{2}]"
-
-#~ msgid "{0} was kicked from {1} by {2} [{3}]"
-#~ msgstr "{0} blev sparket ud fra {1} af {2} [{3}]"
-
-#, fuzzy
-#~ msgid "You're now known as"
-#~ msgstr "Du kendes nu som  {0}"
-
-#~ msgid "You're now known as {0}"
-#~ msgstr "Du kendes nu som  {0}"
-
-#~ msgid "{0} is now known as {1}"
-#~ msgstr "{0} kendes nu som {1}"
-
-#~ msgid "{0} changed the topic of {1} to: {2}"
-#~ msgstr "{0} har ændret emnet i {1} til: {2}"
-
-#, fuzzy
-#~ msgid "Mode change [{0}] for user {1}"
-#~ msgstr "Modus [{0}] ændret for brugeren {1}"
-
-#, fuzzy
-#~ msgid "mode/{0} [{1}] by {2}"
-#~ msgstr "modus/{0} [{1}] af {2}"
-
-#, fuzzy
-#~ msgid "{0} [{1}] has quit [{2}]"
-#~ msgstr "{0} [{1}] har afsluttet [{2}]"
-
-#~ msgid "{0} is away: {1}"
-#~ msgstr "{0} er væk: {1}"
-
-#~ msgid "You are no longer marked as being away"
-#~ msgstr "Du er ikke længere markeret som værende væk"
-
-#~ msgid "You have been marked as being away"
-#~ msgstr "Du er blevet markeret som værende væk"
-
-#, fuzzy
-#~ msgid "connected"
-#~ msgstr "Ikke forbundet"
-
-#, fuzzy
-#~ msgid "Connection Error: {0}"
-#~ msgstr "Afbryder fra {0}..."
-
-#, fuzzy
-#~ msgid "Connection Warning: {0}"
-#~ msgstr "Forbindelse mislykkedes! Grund:"
+msgstr "Bruger »{0}« findes allerede."
 
-#~ msgid "Not joined to channel: {0}. Please rejoin."
-#~ msgstr "Ikke i kanalen: {0}.Gå derind igen."
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Ukendt protokol: {0}"
diff --git a/po-Engine/de.po b/po-Engine/de.po
index 474d891..af7aa0d 100644
--- a/po-Engine/de.po
+++ b/po-Engine/de.po
@@ -3,12 +3,12 @@
 # This file is distributed under the same license as the Smuxi package.
 # Mirco Bauer <meebey at meebey.net>, 2008-2009.
 # Bianca Mix <heavydemon at freenet.de>, 2010
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.6.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
 "PO-Revision-Date: 2010-01-10 23:54+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
@@ -25,122 +25,121 @@ msgid "Not connected to server"
 msgstr "Nicht mit dem Server verbunden"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Nicht genügend Parameter für den Befehl: {0}"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
 msgstr "Willkommen bei Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
-msgstr ""
-"Geben Sie /help ein, um eine Liste der verfügbaren Befehle zu erhalten."
+msgstr "Geben Sie /help ein, um eine Liste der verfügbaren Befehle zu erhalten."
 
-#: ../src/Engine/Session.cs:160
-msgid ""
-"After you have made a connection the list of available commands changes. Use "
-"the /help command again to see the extended command list."
-msgstr ""
-"Nach dem Verbindungsaufbau stehen Ihnen weitere Befehle zur Verfügung. "
-"Verwenden Sie Befehl /help einfach erneut, um die erweiterte Befehlsliste zu "
-"erhalten."
+#: ../src/Engine/Session.cs:163
+msgid "After you have made a connection the list of available commands changes. Use the /help command again to see the extended command list."
+msgstr "Nach dem Verbindungsaufbau stehen Ihnen weitere Befehle zur Verfügung. Verwenden Sie Befehl /help einfach erneut, um die erweiterte Befehlsliste zu erhalten."
 
-#: ../src/Engine/Session.cs:210
+#: ../src/Engine/Session.cs:216
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
 msgstr "Automatische Verbindung zu {0} ist fehlgeschlagen!"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
 msgstr "Engine Befehle"
 
 #: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "Verbindung ist fehlgeschlagen!"
+
+#: ../src/Engine/Session.cs:539
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "Die Trennung ist fehlgeschlagen - konnte den Server {0} nicht finden"
 
-#: ../src/Engine/Session.cs:546
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Wiederverbinden ist fehlgeschlagen!"
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
 msgstr "Konfiguration wurde erneuert"
 
-#: ../src/Engine/Session.cs:551
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
 msgstr "Konfiguration wurde gespeichert"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
-msgstr ""
-"Ungültiger Parameter für \"config\", verwenden Sie \"load\" oder \"save\""
+msgstr "Ungültiger Parameter für \"config\", verwenden Sie \"load\" oder \"save\""
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
-msgstr ""
-"Ungültiger Parameter für \"network\", verwenden Sie \"list\", \"switch\" "
-"oder \"close\""
+msgstr "Ungültiger Parameter für \"network\", verwenden Sie \"list\", \"switch\" oder \"close\""
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
 msgstr "Netzwerke"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
 msgstr "Typ"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
 msgstr "Host"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
 msgstr "Port"
 
-#: ../src/Engine/Session.cs:624
+#: ../src/Engine/Session.cs:671
 #, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
-msgstr ""
-"Beenden der Verbindung zum Netzwerk fehlgeschlagen, konnte das Netzwerk mit "
-"Host: {0} nicht finden"
+msgstr "Beenden der Verbindung zum Netzwerk fehlgeschlagen, konnte das Netzwerk mit Host: {0} nicht finden"
 
-#: ../src/Engine/Session.cs:658
+#: ../src/Engine/Session.cs:705
 #, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
-msgstr ""
-"Wechseln des Netzwerks fehlgeschlagen, konnte das Netzwerk mit Host: {0} "
-"nicht finden"
+msgstr "Wechseln des Netzwerks fehlgeschlagen, konnte das Netzwerk mit Host: {0} nicht finden"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
 msgstr "Zu keinem Netzwerk verbunden"
 
-#: ../src/Engine/Session.cs:962
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Verbindung ist fehlgeschlagen."
+
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
 msgstr "Kein Protokoll-Manager gefunden für das Protokoll: {0}"
 
-#: ../src/Engine/Session.cs:985
-#, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr "Unbekanntes Protokoll: {0}"
-
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
 msgstr "Benutzername darf nicht leer sein."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
 msgstr "Passwort darf nicht leer sein."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
 msgstr "Benutzer \"{0}\" ist nicht vorhanden."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
 msgstr "Benutzer \"{0}\" ist bereits vorhanden."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Unbekanntes Protokoll: {0}"
diff --git a/po-Engine/en_GB.po b/po-Engine/en_GB.po
index 660deb2..d9bf2d0 100644
--- a/po-Engine/en_GB.po
+++ b/po-Engine/en_GB.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Ryan Smith-Evans <Kimera.Kimera at gmail.com>, 2009.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi 0.6.4\n"
@@ -39,12 +39,8 @@ msgid "Type /help to get a list of available commands."
 msgstr "Type /help to get a list of available commands."
 
 #: ../src/Engine/Session.cs:160
-msgid ""
-"After you have made a connection the list of available commands changes. Use "
-"the /help command again to see the extended command list."
-msgstr ""
-"After you have made a connection the list of available commands changes. Use "
-"the /help command again to see the extended command list."
+msgid "After you have made a connection the list of available commands changes. Use the /help command again to see the extended command list."
+msgstr "After you have made a connection the list of available commands changes. Use the /help command again to see the extended command list."
 
 #: ../src/Engine/Session.cs:210
 #, csharp-format
@@ -120,18 +116,18 @@ msgstr "Unknown protocol: {0}"
 
 #: ../src/Engine/Config/UserListController.cs:112
 msgid "Username must not be empty."
-msgstr ""
+msgstr "Username must not be empty."
 
 #: ../src/Engine/Config/UserListController.cs:122
 msgid "Password must not be empty."
-msgstr ""
+msgstr "Password must not be empty."
 
 #: ../src/Engine/Config/UserListController.cs:131
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr ""
+msgstr "User \"{0}\" doesn't exist."
 
 #: ../src/Engine/Config/UserListController.cs:140
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr ""
+msgstr "User \"{0}\" already exists."
diff --git a/po-Engine/fr.po b/po-Engine/fr.po
index 822f801..a74fcb1 100644
--- a/po-Engine/fr.po
+++ b/po-Engine/fr.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-09 22:21+0100\n"
-"Last-Translator: Clement BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 22:27+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -26,20 +26,20 @@ msgid "Not connected to server"
 msgstr "Non connecté au serveur"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Pas assez d'arguments pour la commande {0}"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
 msgstr "Bienvenue dans Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
 msgstr "Tapez /help pour obtenir la liste des commandes disponibles."
 
-#: ../src/Engine/Session.cs:160
+#: ../src/Engine/Session.cs:163
 msgid ""
 "After you have made a connection the list of available commands changes. Use "
 "the /help command again to see the extended command list."
@@ -48,92 +48,104 @@ msgstr ""
 "vous pouvez retaper /help encore une fois pour obtenir une liste étendue de "
 "celles-ci."
 
-#: ../src/Engine/Session.cs:210
+#: ../src/Engine/Session.cs:216
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
 msgstr "Connexion automatique à {0} impossible !"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
 msgstr "Commandes du moteur"
 
 #: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "Connexion impossible !"
+
+#: ../src/Engine/Session.cs:539
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "Déconnexion impossible : serveur \"{0}\" introuvable"
 
-#: ../src/Engine/Session.cs:546
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Reconnexion impossible !"
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
 msgstr "Configuration rechargée"
 
-#: ../src/Engine/Session.cs:551
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
 msgstr "Configuration sauvegardée"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
 msgstr "Paramètre invalide pour la configuration ; utilisez load ou save"
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
 msgstr "Paramètre invalide pour le réseau ; utilisez list, switch ou close"
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
 msgstr "Réseaux"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
 msgstr "Type"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
 msgstr "Hôte"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
 msgstr "Port"
 
-#: ../src/Engine/Session.cs:624
+#: ../src/Engine/Session.cs:671
 #, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
 msgstr "Fermeture réseau impossible, aucun réseau trouvé pour l'hôte : {0}"
 
-#: ../src/Engine/Session.cs:658
+#: ../src/Engine/Session.cs:705
 #, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
 msgstr "Changement de réseau impossible, aucun réseau pour l'hôte : {0}"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
 msgstr "Aucun réseau connecté"
 
-#: ../src/Engine/Session.cs:962
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Connexion impossible."
+
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
 msgstr "Aucun gestionnaire de protocole trouvé pour le protocole : {0}"
 
-#: ../src/Engine/Session.cs:985
-#, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr "Protocole inconnu : {0}"
-
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
 msgstr "Le nom d'utilisateur ne peut pas être vide."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
 msgstr "Le mot de passe ne peut pas être vide."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
 msgstr "L'utilisateur \"{0}\"  n'existe pas."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
 msgstr "L'utilisateur \"{0}\" existe déjà."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Protocole inconnu : {0}"
diff --git a/po-Engine/it.po b/po-Engine/it.po
index 971cf89..e49b3b7 100644
--- a/po-Engine/it.po
+++ b/po-Engine/it.po
@@ -1,17 +1,18 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # David Paleino <d.paleino at gmail.com>, 2008.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi 0.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-30 19:52+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 12:59+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -27,21 +28,21 @@ msgid "Not connected to server"
 msgstr "Non connesso a un server"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Non sono stati forniti abbastanza parametri per il comando {0}"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
-msgstr "Benvenuto in Smuxi"
+msgstr "Benvenuti in Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
 msgstr "Digitare «/help» per ottenere un elenco dei comandi disponibili."
 
 #
-#: ../src/Engine/Session.cs:160
+#: ../src/Engine/Session.cs:163
 msgid ""
 "After you have made a connection the list of available commands changes. Use "
 "the /help command again to see the extended command list."
@@ -50,7 +51,7 @@ msgstr ""
 "cambia. Usare nuovamente il comando «/help» per vedere l'elenco dei comandi "
 "estesi."
 
-#: ../src/Engine/Session.cs:210
+#: ../src/Engine/Session.cs:216
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
 msgstr "La connessione automatica a {0} non è riuscita."
@@ -58,88 +59,100 @@ msgstr "La connessione automatica a {0} non è riuscita."
 #
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
 msgstr "Comandi del motore"
 
 #: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "La connessione non è riuscita."
+
+#: ../src/Engine/Session.cs:539
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "La disconnessione non è riuscita, impossibile trovare il server: {0}"
 
-#: ../src/Engine/Session.cs:546
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "La riconnessione non è riuscita."
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
 msgstr "Configurazione ricaricata"
 
-#: ../src/Engine/Session.cs:551
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
 msgstr "Configurazione salvata"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
 msgstr "Parametro non valido per la configurazione, utilizzare «load» o «save»"
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
 msgstr "Parametro non valido per la rete, utilizzare «list», «switch» o «close»"
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
 msgstr "Reti"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
 msgstr "Tipo"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
 msgstr "Host"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
 msgstr "Porta"
 
-#: ../src/Engine/Session.cs:624
+#: ../src/Engine/Session.cs:671
 #, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
 msgstr ""
 "La chiusura della rete non è riuscita, impossibile trovare la rete con "
 "l'host: {0}"
 
-#: ../src/Engine/Session.cs:658
+#: ../src/Engine/Session.cs:705
 #, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
 msgstr ""
 "Il cambio di rete non è riuscito, impossibile trovare la rete con l'host: {0}"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
 msgstr "Non connesso ad alcuna rete"
 
-#: ../src/Engine/Session.cs:962
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "La connessione non è riuscita."
+
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
 msgstr "Nessun gestore trovato per il protocollo {0}"
 
-#: ../src/Engine/Session.cs:985
-#, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr "Protocollo sconosciuto: {0}"
-
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
-msgstr ""
+msgstr "Il nome utente non può essere vuoto."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
-msgstr ""
+msgstr "La password non può essere vuota."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr ""
+msgstr "L'utente «{0}» non esiste."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr ""
+msgstr "L'utente «{0}» esiste già."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Protocollo sconosciuto: {0}"
diff --git a/po-Engine/pt.po b/po-Engine/pt.po
new file mode 100644
index 0000000..7f31ae9
--- /dev/null
+++ b/po-Engine/pt.po
@@ -0,0 +1,151 @@
+# Translation of smuxi-engine messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-engine package.
+#
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi-engine \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 01:35+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../src/Engine/FrontendManager.cs:219
+msgid "No network connections"
+msgstr "Nenhuma ligação à rede"
+
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:146
+msgid "Not connected to server"
+msgstr "Não ligado ao servidor"
+
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
+#: ../src/Engine/Session.cs:731
+#, csharp-format
+msgid "Not enough parameters for {0} command"
+msgstr "Parâmetros insuficientes para o comando {0}"
+
+#: ../src/Engine/Session.cs:154
+msgid "Welcome to Smuxi"
+msgstr "Bem vindo ao Smuxi"
+
+#: ../src/Engine/Session.cs:160
+msgid "Type /help to get a list of available commands."
+msgstr "Escreva /help para obter uma lista dos comandos disponíveis."
+
+#: ../src/Engine/Session.cs:163
+msgid ""
+"After you have made a connection the list of available commands changes. Use "
+"the /help command again to see the extended command list."
+msgstr ""
+"Após fazer uma ligação a lista de comandos disponíveis muda. Use o comando /"
+"help outra vez para ver a lista de comandos extensa."
+
+#: ../src/Engine/Session.cs:216
+#, csharp-format
+msgid "Automatic connect to {0} failed!"
+msgstr "Falhou a ligação automática a {0}!"
+
+#. TRANSLATOR: this line is used as a label / category for a
+#. list of commands below
+#: ../src/Engine/Session.cs:407
+msgid "Engine Commands"
+msgstr "Comandos do Motor"
+
+#: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "Ligação falhada!"
+
+#: ../src/Engine/Session.cs:539
+#, csharp-format
+msgid "Disconnect failed - could not find server: {0}"
+msgstr "Falha ao desligar - incapaz de encontrar o servidor: {0}"
+
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Re-ligação falhada!"
+
+#: ../src/Engine/Session.cs:593
+msgid "Configuration reloaded"
+msgstr "Configuração recarregada"
+
+#: ../src/Engine/Session.cs:598
+msgid "Configuration saved"
+msgstr "Configuração salvada"
+
+#: ../src/Engine/Session.cs:602
+msgid "Invalid parameter for config; use load or save"
+msgstr "Parâmetro inválido para configuração; use load ou save"
+
+#: ../src/Engine/Session.cs:632
+msgid "Invalid parameter for network; use list, switch, or close"
+msgstr "Parâmetro inválido para rede; use list, switch, ou close"
+
+#: ../src/Engine/Session.cs:643
+msgid "Networks"
+msgstr "Redes"
+
+#: ../src/Engine/Session.cs:647
+msgid "Type"
+msgstr "Tipo"
+
+#: ../src/Engine/Session.cs:648
+msgid "Host"
+msgstr "Máquina"
+
+#: ../src/Engine/Session.cs:649
+msgid "Port"
+msgstr "Porto"
+
+#: ../src/Engine/Session.cs:671
+#, csharp-format
+msgid "Network close failed - could not find network with host: {0}"
+msgstr "Fecho de rede falhado - incapaz de encontrar a rede com a máquina: {0}"
+
+#: ../src/Engine/Session.cs:705
+#, csharp-format
+msgid "Network switch failed - could not find network with host: {0}"
+msgstr "Troca de rede falhada - incapaz de encontrar a rede com a máquina: {0}"
+
+#: ../src/Engine/Session.cs:720
+msgid "Not connected to any network"
+msgstr "Não ligado a nenhuma rede"
+
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Ligação falhada."
+
+#: ../src/Engine/Session.cs:1078
+#, csharp-format
+msgid "No protocol manager found for the protocol: {0}"
+msgstr "Nenhum gestor de protocolo encontrado para o protocolo: {0}"
+
+#: ../src/Engine/Config/UserListController.cs:117
+msgid "Username must not be empty."
+msgstr "O nome de utilizador não pode estar vazio."
+
+#: ../src/Engine/Config/UserListController.cs:127
+msgid "Password must not be empty."
+msgstr "A palavra-passe não pode estar vazia."
+
+#: ../src/Engine/Config/UserListController.cs:136
+#, csharp-format
+msgid "User \"{0}\" doesn't exist."
+msgstr "O utilizador \"{0}\" não existe."
+
+#: ../src/Engine/Config/UserListController.cs:145
+#, csharp-format
+msgid "User \"{0}\" already exists."
+msgstr "O utilizador \"{0}\" já existe."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Protocolo desconhecido: {0}"
diff --git a/po-Engine/sv.po b/po-Engine/sv.po
index af1323c..13ac8b0 100644
--- a/po-Engine/sv.po
+++ b/po-Engine/sv.po
@@ -5,12 +5,13 @@
 # Martin Bagge <brother at bsnet.se>, 2009
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Smuxi Engine\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-28 21:55+0100\n"
-"Last-Translator: Martin Bagge <brother at bsnet.se>\n"
-"Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:12+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
+"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -26,115 +27,122 @@ msgid "Not connected to server"
 msgstr "Inte ansluten till server"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:158
-#: ../src/Engine/Session.cs:684
+#: ../src/Engine/Session.cs:731
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Inte tillräckligt med parametrar för kommandot {0}"
 
-#: ../src/Engine/Session.cs:151
+#: ../src/Engine/Session.cs:154
 msgid "Welcome to Smuxi"
 msgstr "Välkommen till Smuxi"
 
-#: ../src/Engine/Session.cs:157
+#: ../src/Engine/Session.cs:160
 msgid "Type /help to get a list of available commands."
 msgstr "Skriv /help för en lista med tillgängliga kommandon."
 
-#: ../src/Engine/Session.cs:160
-msgid ""
-"After you have made a connection the list of available commands changes. Use "
-"the /help command again to see the extended command list."
-msgstr ""
-"När du har gjort en anslutning kommer listan med tillgängliga kommandon att "
-"ändras. Använd kommandot /help igen för att se den utökade kommandolistan."
+#: ../src/Engine/Session.cs:163
+msgid "After you have made a connection the list of available commands changes. Use the /help command again to see the extended command list."
+msgstr "När du har gjort en anslutning kommer listan med tillgängliga kommandon att ändras. Använd kommandot /help igen för att se den utökade kommandolistan."
 
-#: ../src/Engine/Session.cs:210
+#: ../src/Engine/Session.cs:216
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
 msgstr "Automatisk anslutning till {0} misslyckades!"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Engine/Session.cs:398
+#: ../src/Engine/Session.cs:407
 msgid "Engine Commands"
 msgstr "Kommandon för motorn"
 
 #: ../src/Engine/Session.cs:510
+msgid "Connect failed!"
+msgstr "Anslutning misslyckades!"
+
+#: ../src/Engine/Session.cs:539
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "Nedkoppling misslyckades - kunde inte hitta servern: {0}"
 
-#: ../src/Engine/Session.cs:546
+#: ../src/Engine/Session.cs:574
+msgid "Reconnect failed!"
+msgstr "Återanslutning misslyckades!"
+
+#: ../src/Engine/Session.cs:593
 msgid "Configuration reloaded"
 msgstr "Laddade om inställningar"
 
-#: ../src/Engine/Session.cs:551
+#: ../src/Engine/Session.cs:598
 msgid "Configuration saved"
 msgstr "Sparade inställningar"
 
-#: ../src/Engine/Session.cs:555
+#: ../src/Engine/Session.cs:602
 msgid "Invalid parameter for config; use load or save"
 msgstr "Ogiltig parameter för inställningar; använd load eller save"
 
-#: ../src/Engine/Session.cs:585
+#: ../src/Engine/Session.cs:632
 msgid "Invalid parameter for network; use list, switch, or close"
 msgstr "Ogiltig parameter för nätverk; använd list, switch eller close"
 
-#: ../src/Engine/Session.cs:596
+#: ../src/Engine/Session.cs:643
 msgid "Networks"
 msgstr "Nätverk"
 
-#: ../src/Engine/Session.cs:600
+#: ../src/Engine/Session.cs:647
 msgid "Type"
 msgstr "Typ"
 
-#: ../src/Engine/Session.cs:601
+#: ../src/Engine/Session.cs:648
 msgid "Host"
 msgstr "Värd"
 
-#: ../src/Engine/Session.cs:602
+#: ../src/Engine/Session.cs:649
 msgid "Port"
 msgstr "Port"
 
-#: ../src/Engine/Session.cs:624
+#: ../src/Engine/Session.cs:671
 #, csharp-format
 msgid "Network close failed - could not find network with host: {0}"
-msgstr ""
-"Stängning av nätverk misslyckades - kunde inte hitta nätverk med värd: {0}"
+msgstr "Stängning av nätverk misslyckades - kunde inte hitta nätverk med värd: {0}"
 
-#: ../src/Engine/Session.cs:658
+#: ../src/Engine/Session.cs:705
 #, csharp-format
 msgid "Network switch failed - could not find network with host: {0}"
-msgstr ""
-"Byte av nätverk misslyckades - kunde inte hitta nätverk med värden: {0}"
+msgstr "Byte av nätverk misslyckades - kunde inte hitta nätverk med värden: {0}"
 
-#: ../src/Engine/Session.cs:673
+#: ../src/Engine/Session.cs:720
 msgid "Not connected to any network"
 msgstr "Inte ansluten till något nätverk"
 
-#: ../src/Engine/Session.cs:962
+#. just in case the ProtocolManager is not setting the
+#. protocol chat
+#: ../src/Engine/Session.cs:1047
+msgid "Connect failed."
+msgstr "Anslutning misslyckades."
+
+#: ../src/Engine/Session.cs:1078
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
 msgstr "Ingen protokollshanterare funnen för protokollet: {0}"
 
-#: ../src/Engine/Session.cs:985
-#, csharp-format
-msgid "Unknown protocol: {0}"
-msgstr "Okänt protokoll: {0}"
-
-#: ../src/Engine/Config/UserListController.cs:112
+#: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
-msgstr ""
+msgstr "Användarnamnet får inte vara tomt."
 
-#: ../src/Engine/Config/UserListController.cs:122
+#: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
-msgstr ""
+msgstr "Lösenordet får inte vara tomt."
 
-#: ../src/Engine/Config/UserListController.cs:131
+#: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr ""
+msgstr "Användaren \"{0}\" finns inte."
 
-#: ../src/Engine/Config/UserListController.cs:140
+#: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr ""
+msgstr "Användaren \"{0}\" finns redan."
+
+#~ msgid "Unknown protocol: {0}"
+#~ msgstr "Okänt protokoll: {0}"
+
diff --git a/po-Frontend-GNOME-IRC/LINGUAS b/po-Frontend-GNOME-IRC/LINGUAS
index 900dc7a..c6a7441 100644
--- a/po-Frontend-GNOME-IRC/LINGUAS
+++ b/po-Frontend-GNOME-IRC/LINGUAS
@@ -6,4 +6,5 @@ es
 es_AR
 fr
 it
+pt
 sv
diff --git a/po-Frontend-GNOME-IRC/POTFILES.in b/po-Frontend-GNOME-IRC/POTFILES.in
index 3af188c..0848144 100644
--- a/po-Frontend-GNOME-IRC/POTFILES.in
+++ b/po-Frontend-GNOME-IRC/POTFILES.in
@@ -1,2 +1,3 @@
 src/Frontend-GNOME-IRC/IrcGroupChatView.cs
 src/Frontend-GNOME-IRC/IrcPersonChatView.cs
+src/Frontend-GNOME-IRC/CtcpMenu.cs
diff --git a/po-Frontend-GNOME-IRC/cs.po b/po-Frontend-GNOME-IRC/cs.po
index 4ef9211..ee5c156 100644
--- a/po-Frontend-GNOME-IRC/cs.po
+++ b/po-Frontend-GNOME-IRC/cs.po
@@ -1,82 +1,88 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
-# Michal Simunek <michal.simunek at gmail.com>, 2009, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-frontend-gnome-irc 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
-"PO-Revision-Date: 2010-01-09 13:58+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 18:58+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
 msgstr "Op"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
 msgstr "Deop"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
 msgstr "Hlas"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
 msgstr "Ukončit hlas"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
 msgstr "Vykopnout"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
 msgstr "Vykopnout + Ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
 msgstr "Ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
-msgstr "Unban"
+msgstr "Zrušit ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
-msgstr "Šeptat"
+msgstr "Zeptat se"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
 msgstr "Kdo je"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
 msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Pozvat na"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
 msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
 msgstr "Verze"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
 msgstr "Čas"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
 msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Info o uživateli"
diff --git a/po-Frontend-GNOME-IRC/da.po b/po-Frontend-GNOME-IRC/da.po
index 4673cb3..6f76318 100644
--- a/po-Frontend-GNOME-IRC/da.po
+++ b/po-Frontend-GNOME-IRC/da.po
@@ -1,83 +1,88 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Bjarke Sørensen <bs at wasd.dk>, 2009.
+# Danish translation smuxi-frontend-gnome-irc.
+# Copyright (C) 2010 Mirco Bauer & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-frontend-gnome-irc package.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend-gnome-irc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
-"PO-Revision-Date: 2009-08-12 08:42+0200\n"
-"Last-Translator: Bjarke Sørensen <bs at wasd.dk>\n"
-"Language-Team: Danish Localization <debian-l10n-danish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-16 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
-msgstr ""
+msgstr "Op"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
-msgstr ""
+msgstr "Deop"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
-msgstr ""
+msgstr "Voice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
-msgstr ""
+msgstr "Devoice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
-msgstr ""
+msgstr "Smid ud"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
-msgstr ""
+msgstr "Smid ud + giv karantæne"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
-msgstr ""
+msgstr "Giv karantæne"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
-msgstr ""
+msgstr "Fjern karantæne"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
-msgstr ""
+msgstr "Forespørgsel"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
-msgstr ""
+msgstr "Hvem er"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
-msgstr ""
+msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Inviter til"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
-msgstr ""
+msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
-msgstr ""
+msgstr "Version"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
-msgstr ""
+msgstr "Tid"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
-msgstr ""
+msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Brugerinfo"
diff --git a/po-Frontend-GNOME-IRC/de.po b/po-Frontend-GNOME-IRC/de.po
index 169372b..9727bae 100644
--- a/po-Frontend-GNOME-IRC/de.po
+++ b/po-Frontend-GNOME-IRC/de.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Mirco Bauer <meebey at meebey.net>, 2008-2009.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.6.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
 "PO-Revision-Date: 2010-01-10 23:57+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
@@ -15,68 +15,73 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
 msgstr "Op"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
 msgstr "Deop"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
 msgstr "Voice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
 msgstr "Devoice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
 msgstr "Kick"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
 msgstr "Kick + Ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
 msgstr "Ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
 msgstr "Unban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
 msgstr "Query"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
 msgstr "Whois"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
 msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Einladen zu"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
 msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
 msgstr "Version"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
 msgstr "Zeit"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
 msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Benutzerinformationen"
diff --git a/po-Frontend-GNOME-IRC/fr.po b/po-Frontend-GNOME-IRC/fr.po
index d5de95a..ee18500 100644
--- a/po-Frontend-GNOME-IRC/fr.po
+++ b/po-Frontend-GNOME-IRC/fr.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
-"PO-Revision-Date: 2010-01-05 01:22+0100\n"
-"Last-Translator: Clement BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 22:27+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -17,68 +17,73 @@ msgstr ""
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
 msgstr "Opper"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
 msgstr "Enlever l'Op"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
 msgstr "Voicer"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
 msgstr "Enlever le Voice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
 msgstr "Kicker"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
 msgstr "Kicker + Bannir"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
 msgstr "Bannir"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
 msgstr "Enlever le ban"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
 msgstr "Chat privé"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
 msgstr "Whois"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
 msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Inviter à"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
 msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
 msgstr "Version"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
 msgstr "Temps"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
 msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Userinfo"
diff --git a/po-Frontend-GNOME-IRC/it.po b/po-Frontend-GNOME-IRC/it.po
index 68e6b8b..88a1dda 100644
--- a/po-Frontend-GNOME-IRC/it.po
+++ b/po-Frontend-GNOME-IRC/it.po
@@ -1,84 +1,90 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # David Paleino <d.paleino at gmail.com>, 2008.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend-gnome-irc\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
-"PO-Revision-Date: 2009-12-30 19:02+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:28+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
 msgstr "Operatore"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
 msgstr "Rimuovi l'operatore"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
 msgstr "Dai la parola"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
 msgstr "Togli la parola"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
 msgstr "Espelli (kick)"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
 msgstr "Espelli (kick) e allontana (ban)"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
 msgstr "Allontana (ban)"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
 msgstr "Rimuovi l'allontanamento (unban)"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
 msgstr "Messaggio privato"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
 msgstr "Whois"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
-msgstr ""
+msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Invita a"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
-msgstr ""
+msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
-msgstr ""
+msgstr "Versione"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
-msgstr ""
+msgstr "Ora"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
-msgstr ""
+msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Informazioni sull'utente"
diff --git a/po-Frontend-GNOME-IRC/pt.po b/po-Frontend-GNOME-IRC/pt.po
new file mode 100644
index 0000000..ee10276
--- /dev/null
+++ b/po-Frontend-GNOME-IRC/pt.po
@@ -0,0 +1,91 @@
+# Translation of smuxi-frontend-gnome-irc messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-frontend-gnome-irc package.
+#
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi-frontend-gnome-irc \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 01:56+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
+msgid "Op"
+msgstr "Dar Op"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
+msgid "Deop"
+msgstr "Retirar Op"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
+msgid "Voice"
+msgstr "Dar Voz"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
+msgid "Devoice"
+msgstr "Retirar Voz"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
+msgid "Kick"
+msgstr "Expulsar"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
+msgid "Kick + Ban"
+msgstr "Expulsar + Banir"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
+msgid "Ban"
+msgstr "Banir"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
+msgid "Unban"
+msgstr "Retirar dos Banidos"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
+msgid "Query"
+msgstr "Questionar"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+msgid "Whois"
+msgstr "Quem é"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
+msgid "CTCP"
+msgstr "CTCP"
+
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Convidar para"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
+msgid "Ping"
+msgstr "Ping"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
+msgid "Version"
+msgstr "Versão"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
+msgid "Time"
+msgstr "Hora"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
+msgid "Finger"
+msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Informação do utilizador"
+
diff --git a/po-Frontend-GNOME-IRC/sv.po b/po-Frontend-GNOME-IRC/sv.po
index d351a1b..0a7f926 100644
--- a/po-Frontend-GNOME-IRC/sv.po
+++ b/po-Frontend-GNOME-IRC/sv.po
@@ -5,80 +5,87 @@
 # Martin Bagge <brother at bsnet.se>, 2009
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Smuxi GNOME IRC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 15:32+0100\n"
-"PO-Revision-Date: 2009-12-28 21:49+0100\n"
-"Last-Translator: Martin Bagge <brother at bsnet.se>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:11+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
 "Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Swedish\n"
 "X-Poedit-Country: Sweden\n"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:53
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:340
 msgid "Op"
 msgstr "Gör till operatör"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:344
 msgid "Deop"
 msgstr "Ta bort operatörsskap"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:348
 msgid "Voice"
 msgstr "Voice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:65
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:352
 msgid "Devoice"
 msgstr "Ta bort voice"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:69
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:356
 msgid "Kick"
 msgstr "Sparka"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:73
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:360
 msgid "Kick + Ban"
 msgstr "Sparka och stäng ute"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:77
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:364
 msgid "Ban"
 msgstr "Stäng ute"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:81
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:368
 msgid "Unban"
 msgstr "Upphäv utestängning"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:87
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:374
 msgid "Query"
 msgstr "Privat"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:91
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:57
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:378
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
 msgid "Whois"
 msgstr "Användarinformation"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:96
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:61
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:382
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:65
 msgid "CTCP"
-msgstr ""
+msgstr "CTCP"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:99
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:66
+#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:391
+#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:72
+msgid "Invite to"
+msgstr "Inbjud till"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:72
 msgid "Ping"
-msgstr ""
+msgstr "Ping"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:103
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:70
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:77
 msgid "Version"
-msgstr ""
+msgstr "Version"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:107
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:74
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:82
 msgid "Time"
-msgstr ""
+msgstr "Tid"
 
-#: ../src/Frontend-GNOME-IRC/IrcGroupChatView.cs:111
-#: ../src/Frontend-GNOME-IRC/IrcPersonChatView.cs:78
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:87
 msgid "Finger"
-msgstr ""
+msgstr "Finger"
+
+#: ../src/Frontend-GNOME-IRC/CtcpMenu.cs:92
+msgid "Userinfo"
+msgstr "Användarinformation"
+
diff --git a/po-Frontend-GNOME/LINGUAS b/po-Frontend-GNOME/LINGUAS
index e849969..54679b1 100644
--- a/po-Frontend-GNOME/LINGUAS
+++ b/po-Frontend-GNOME/LINGUAS
@@ -7,4 +7,5 @@ es_AR
 en_GB
 fr
 it
+pt
 sv
diff --git a/po-Frontend-GNOME/POTFILES.in b/po-Frontend-GNOME/POTFILES.in
index 761c691..faa798c 100644
--- a/po-Frontend-GNOME/POTFILES.in
+++ b/po-Frontend-GNOME/POTFILES.in
@@ -14,10 +14,10 @@ src/Frontend-GNOME/QuickConnectDialog.cs
 src/Frontend-GNOME/ChatTypeWidget.cs
 src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs
 src/Frontend-GNOME/Views/MessageTextView.cs
+src/Frontend-GNOME/Views/FilterListWidget.cs
 src/Frontend-GNOME/Views/Chats/ChatView.cs
 src/Frontend-GNOME/Views/Chats/GroupChatView.cs
 src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs
-src/Frontend-GNOME/Preferences/ChannelFilterListView.cs
 src/Frontend-GNOME/Preferences/ServerListView.cs
 src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs
 src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs
@@ -30,3 +30,4 @@ src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs
 src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs
 src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs
 src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs
+src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs
diff --git a/po-Frontend-GNOME/POTFILES.skip b/po-Frontend-GNOME/POTFILES.skip
index bf1c93e..b026f1e 100644
--- a/po-Frontend-GNOME/POTFILES.skip
+++ b/po-Frontend-GNOME/POTFILES.skip
@@ -1,6 +1,7 @@
 glade/
 src/Common/
 src/Frontend/
+src/Frontend-GNOME/obj/
 src/Frontend-GNOME-IRC/
 src/Frontend-SWF/
 src/Frontend-WPF/
diff --git a/po-Frontend-GNOME/ca.po b/po-Frontend-GNOME/ca.po
index 135c609..931ed70 100644
--- a/po-Frontend-GNOME/ca.po
+++ b/po-Frontend-GNOME/ca.po
@@ -7,13 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2010-01-19 00:40+0100\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-18 19:35+0100\n"
 "Last-Translator: Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>\n"
 "Language-Team: Siegfried-Angel Gevatter Pujals <siegfried at gevatter.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "Plural-Forms: nplurals=2; plural=n != 1\n"
 "X-Poedit-Language: Catalan\n"
 
@@ -60,44 +61,35 @@ msgstr "<b> Posició de les pestanyes </b>"
 #: ../glade/smuxi-frontend-gnome.glade.h:10
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1515
 msgid "<b> Topic Position </b>"
-msgstr "<b> Topic Position </b>"
+msgstr "<b> Posició del títol </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Channel Filters</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>User Filters</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Activitat"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
-msgstr "Connecta automàticament al servidor a l'inici"
+msgstr "Connecta't automàticament al servidor a l'inici"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Fons"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Completat semblant al del Bash"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
-msgstr "Fes un avís sonor al ressaltar una paraula"
+msgstr "Fes un avís sonor en ressaltar una paraula"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -105,81 +97,85 @@ msgstr "Fes un avís sonor al ressaltar una paraula"
 msgid "Bottom"
 msgstr "A baix"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Línies a la memòria intermediària:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "_Connexió"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Caràcter d'ordre:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Mida de l'historial d'ordres:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Caràcter de completat:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Habilita"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Habilitat"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Codificació:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
-msgstr ""
+msgstr "Línies a la memòria intermediària del motor:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "Primer pla"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "General"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Ressaltat"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Paraules a ressaltar:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Nom de la màquina:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Entrada"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Entra/Surt/Mode"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -187,6 +183,10 @@ msgstr "Entra/Surt/Mode"
 msgid "Left"
 msgstr "A l'esquerra"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Enregistra els missatges filtrats"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Xarxa:"
@@ -203,7 +203,7 @@ msgstr "Sobrenom(s):"
 #: ../glade/smuxi-frontend-gnome.glade.h:38
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1153
 msgid "No Activity"
-msgstr "Cap activitat"
+msgstr "Sense activitat"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
@@ -266,7 +266,7 @@ msgid "Right"
 msgstr "A la dreta"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Mostra la contrasenya"
 
@@ -276,11 +276,11 @@ msgstr "Sempre visible"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:52
 msgid "Show when window is closed"
-msgstr ""
+msgstr "Visible quan la finestra està tancada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:53
 msgid "Show when window is minimized"
-msgstr ""
+msgstr "Visible quan la finestra està minimitzada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:54
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:406
@@ -288,6 +288,7 @@ msgid "Smuxi - Preferences"
 msgstr "Smuxi - Preferències"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Servidor"
 
@@ -313,7 +314,7 @@ msgstr "Pestanyes"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
 msgid "The nickname to use. You can specify extra nicknames (separated by spaces) which will be used as fallbacks when the first choice is not available. By default $nick_ and $nick__ will be used as fallbacks."
-msgstr "El sobrenom a utilitzar. Podeu especificar sobrenoms addicionals (separats per comes) a utilitzar alternativament en cas que la primera tria no estigui disponible. Per defecte, s'utilitza $nick_ i $nick__ com a sobrenoms alternatius."
+msgstr "El sobrenom a utilitzar. Podeu especificar sobrenoms addicionals (separats per comes) a utilitzar alternativament en cas que la primera tria no estigui disponible. Per omissió, s'utilitza $nick_ i $nick__ com a sobrenoms alternatius."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
@@ -336,7 +337,7 @@ msgid "Username:"
 msgstr "Nom d'usuari:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filtres"
 
@@ -346,16 +347,21 @@ msgid "_Interface"
 msgstr "_Interfície"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Registre"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Servidors"
 
-#. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#. This is a setting for character based line wrapping vs word based when
+#. showing messages
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "_Ajustament de línia:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -377,6 +383,10 @@ msgstr ""
 "MM = mes\n"
 "yy/yyyy = any"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Alemany"
@@ -401,17 +411,21 @@ msgstr "Italià"
 msgid "Smuxi Website"
 msgstr "Pàgina web del Smuxi"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
-msgstr ""
+msgstr "Ups, ho he tornat a fer..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
-msgstr ""
+msgstr "El Smuxi ha petat perquè s'ha produït una excepció imprevista."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
-msgstr ""
+msgstr "Aquí teniu el traçat de la pila. Si us plau, informeu d'aquest error!"
+
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Informeu d'un error"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
@@ -435,7 +449,7 @@ msgstr "Motor:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Motor local"
 
@@ -443,26 +457,26 @@ msgstr "Motor local"
 msgid "Please select an engine!"
 msgstr "Trieu un motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
-msgstr ""
+msgstr "La versió del frontal ({0}) no coincideix amb la versió del motor ({1})."
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
-msgstr ""
+msgstr "S'ha produït un error al intentar connectar al motor."
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "URL del motor: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Error: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Esteu segur que voleu esborrar el motor «{0}»?"
@@ -470,140 +484,158 @@ msgstr "Esteu segur que voleu esborrar el motor «{0}»?"
 #: ../src/Frontend-GNOME/Entry.cs:403
 #, csharp-format
 msgid "You are going to paste {0} lines. Do you want to continue?"
-msgstr ""
+msgstr "Esteu a punt d'enganxar {0} línies. Voleu continuar?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
-msgstr ""
+msgstr "Ordres del frontal"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_Fitxer"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Servidor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
 msgstr "_Connexió ràpida"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "_Gestiona"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Xat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Obre / Uneix-te a una sala de xat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
-msgstr ""
+msgstr "_Troba sales de xat en grup"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "_Neteja totes les activitats"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
-msgstr ""
+msgstr "Xat _següent"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
-msgstr ""
+msgstr "Xat _anterior"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Utilitza el motor local"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "_Afegeix un motor remot"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "_Canvia el motor remot"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Mostra"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
-msgstr ""
+msgstr "Navega amb el _cursor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "_Ajuda"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
-msgstr ""
+msgstr "No s'ha pogut afegir el servidor:"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
-msgstr ""
+msgstr "Tipus de xat desconegut: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Si canvieu al motor local us desconnectareu del vostre motor actual!\n"
+"Esteu segur que voleu fer això?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Si canvieu el motor remot us desconnectareu del vostre motor actual!\n"
+"Esteu segur que voleu fer això?"
 
 #: ../src/Frontend-GNOME/NotImplementedMessageDialog.cs:40
 msgid "Sorry, not implemented yet!"
-msgstr ""
+msgstr "Això encara no ha estat implementat."
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Caràcter"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Paraula"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Connexió"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Interfície"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Servidors"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtres"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Registre"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "Predeterminat del sistema"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Cal indicar un o més sobrenoms."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Expressió regular de ressaltat no vàlida: '{0}'. Motiu: {1}"
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Nom"
 
@@ -616,35 +648,44 @@ msgid ""
 "Searching for group chats without a filter is not recommended.  This may take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
+"No es recomana cercar sales de xat en grup sense un filtre. Això pot trigar una estona, o pot ser que no funcioni.\n"
+"Voleu continuar?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
 msgid "Error while fetching the list of group chats from the server."
-msgstr ""
+msgstr "S'ha produït un error en recuperar la llista de xats en grup del servidor."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Motiu: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
 msgstr ""
+"El frontal ha perdut la connexió amb el servidor.\n"
+"Voleu tornar a connectar-hi?"
 
 #: ../src/Frontend-GNOME/Frontend.cs:479
 msgid ""
 "Reconnecting to the server has failed.\n"
 "Do you want to try again?"
 msgstr ""
+"L'intent de reconnexió amb el servidor ha fallat.\n"
+"Voleu tornar-ho a intentar?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
 msgstr ""
+"El servidor ha perdut la connexió al frontal.\n"
+"Voleu tornar a connectar-hi?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protocol"
@@ -654,17 +695,23 @@ msgstr "Protocol"
 msgid "Hostname"
 msgstr "Nom de la màquina"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "No s'ha pogut carregar el servidor:"
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Persona / Privat"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Grup / Públic"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:70
 msgid "Engine Assistant - Smuxi"
-msgstr ""
+msgstr "Assistent de configuració de motors - Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:92
 msgid "Add Smuxi Engine"
@@ -690,11 +737,45 @@ msgstr "Gràcies"
 msgid "An engine with this name already exists! Please specify a different one."
 msgstr "Ja existeix un motor amb aquest nom! Especifique-ne un altre."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "El dia ha canviat a {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Expressió regular de filtre no vàlida: '{0}'. Motiu: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Esteu segur que voleu eliminar el filtre seleccionat?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protocol / Servidor"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Tipus de xat"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Esdeveniment"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "_Tipus"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Patró"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -705,36 +786,27 @@ msgstr "S'està obtenint el llistat d'usuari per a {0}..."
 msgid "done."
 msgstr "fet."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
-msgstr "Persona"
+msgstr "Persones"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Si tanqueu la pestanya del protocol es tancaran també totes les sales de xat que en depenen.\n"
+"Esteu segur que voleu fer això?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Patró"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Entrades"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Sortides"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Desconnexions"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
 msgstr "Esteu segur que voleu eliminar el servidor seleccionat?"
 
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "No es pot modificar el servidor:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
 msgstr "Troba"
@@ -753,7 +825,7 @@ msgstr "Cerca cap endarrere"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:115
 msgid "_Wrap Around"
-msgstr "_Torna a començar al principi a l'arribar al final"
+msgstr "_Torna a començar pel principi en arribar al final"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:128
 msgid "Use _Regular Expressions"
@@ -761,49 +833,17 @@ msgstr "Utilitza expressions _regulars"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:40
 msgid "Smuxi - Find Group Chat"
-msgstr ""
+msgstr "Smuxi - Troba sales de xat"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:64
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:87
 msgid "_Name:"
 msgstr "_Nom:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Connexió ràpida"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Port:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "_Nom de la màquina:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Sobrenom:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "_Contrasenya:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "_Protocol:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-msgid "_On Connect Commands:"
-msgstr "_Ordres al connectar:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-msgid "_Ignore Commands"
-msgstr ""
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Sobrenoms:"
@@ -816,61 +856,85 @@ msgstr "<b> Posició de la llista d'usuaris </b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Sala </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Filtres de canal</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Filtres d'usuari</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
-msgstr ""
+msgstr "Utilitza un _túnel SSH"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
 msgid "<span size=\"small\">Enables the use of SSH for the connection.  This has a small performance impact, but is more secure and required when using NAT or port-based firewalls</span>"
-msgstr ""
+msgstr "<span size=\"small\">Habilita l'ús de l'SSH per a la connexió. Això afectarà lleugerament el rendiment, però és més segur i és necessari quan s'utilitza NAT o tallafocs que bloquegin certs ports.</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
-msgstr ""
+msgstr "S_ervidor SSH:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
 msgid "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr ""
+msgstr "<span size=\"small\">DNS o adreça IP i port del servidor SSH</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
-msgstr ""
+msgstr "<span size=\"small\">DNS o adreça IP i port del servidor del Smuxi</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
-msgstr ""
+msgstr "Servidor _Smuxi:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:76
 msgid "_SSH Username: (optional)"
-msgstr ""
+msgstr "Nom d'usuari de l'SSH: (opcional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
 msgid "<span size=\"small\">Username which will be used to log into the SSH server</span>"
-msgstr ""
+msgstr "<span size=\"small\">Nom d'usuari que s'utilitzarà per iniciar sessió al servidor SSH</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
-msgstr ""
+msgstr "Contrasenya de l'SSH: (opcional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
 msgid "<span size=\"small\">Password which will be used to log into the SSH server. The password is optional if SSH key authorization is used (via Pageant from the PuTTY tools).</span>"
-msgstr ""
+msgstr "<span size=\"small\">Contrasenya que s'utilitzarà per iniciar sessió al servidor SSH. La contrasenya és opcional si s'utilitza autenticació via claus SSH (mitjançant Pageant, de les eines PuTTY).</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Sobrenom:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid "<span size=\"small\">Username which will be used to log into the Smuxi server</span>"
-msgstr ""
+msgstr "<span size=\"small\">Nom d'usuari que s'utilitzarà per iniciar sessió al servidor del Smuxi.</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Contrasenya:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
-msgstr ""
+msgstr "<span size=\"small\">Contrasenya de l'usuari</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:251
 msgid "_Verify Password:"
-msgstr ""
+msgstr "_Repetiu la contrasenya:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:275
 msgid "<span size=\"small\">Repeat the password for verification</span>"
-msgstr ""
+msgstr "<span size=\"small\">Repetiu la contrasenya per assegurar que l'heu escrita correctament</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantIntroWidget.cs:27
 msgid ""
@@ -879,6 +943,8 @@ msgid ""
 "\n"
 "Click \"Forward\" to begin."
 msgstr ""
+"Benvingut a l'assistent de configuració de motors dels Smuxi.\n"
+"Cal que introduïu una mica d'informació abans de començar a utilitzar el motor. Premeu «Endavant» per a començar."
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:52
 msgid "_Engine Name:"
@@ -886,7 +952,7 @@ msgstr "Nom del _motor:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:75
 msgid "<span size=\"small\">Profile name of the new engine</span>"
-msgstr ""
+msgstr "<span size=\"small\">Nom per al nou perfil de motor</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:96
 msgid "_Default Engine:"
@@ -898,13 +964,40 @@ msgstr "Utilitza'l com a nou motor predeterminat"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
 msgid "<span size=\"small\">If enabled, the current engine will be the default next time Smuxi is started</span>"
-msgstr ""
+msgstr "<span size=\"small\">Si marqueu la casella, la propera vegada que inicieu l'Smuxi el motor que esteu configurant s'utilitzarà de forma predeterminada.</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
-msgstr ""
+msgstr "Smuxi - Obre un xat"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:77
 msgid "_Type:"
 msgstr "_Tipus:"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Xarxa:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Nom de la màquina:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protocol:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "_Ordres al connectar:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "_Ignora les ordres"
+
+#~ msgid "Joins"
+#~ msgstr "Entrades"
+#~ msgid "Parts"
+#~ msgstr "Sortides"
+#~ msgid "Quits"
+#~ msgstr "Desconnexions"
+
diff --git a/po-Frontend-GNOME/cs.po b/po-Frontend-GNOME/cs.po
index 91dd937..9c358ad 100644
--- a/po-Frontend-GNOME/cs.po
+++ b/po-Frontend-GNOME/cs.po
@@ -1,19 +1,20 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
-# Michal Simunek <michal.simunek at gmail.com>, 2009, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-frontend-gnome 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2010-01-09 13:47+0100\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-19 12:47+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: cs\n"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:1
 msgid "<b> Chat </b>"
@@ -61,41 +62,32 @@ msgid "<b> Topic Position </b>"
 msgstr "<b> Umístění témata </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Filtry kanálů</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Filtry uživatelů</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Aktivita"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
 msgstr "Po spuštění se automaticky připojit k serveru"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Pozadí"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Dokončování ve stylu Bash"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
 msgstr "Pípnout při zvýraznění"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -103,81 +95,85 @@ msgstr "Pípnout při zvýraznění"
 msgid "Bottom"
 msgstr "Dole"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Pamatovat si řádky:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "_Připojení"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Znak příkazu:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Velikost historie příkazů:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Znak dokončování:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Povolit"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Povoleno"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Kódování:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
 msgstr "Pamatovat si řádky enginu:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "Popředí"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "Obecné"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Zvýraznit"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Zvýraznit slova:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Hostitel:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Vstup"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Join/Part/Mode"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -185,6 +181,10 @@ msgstr "Join/Part/Mode"
 msgid "Left"
 msgstr "Vlevo"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Uchovávat filtrované zprávy"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Síť:"
@@ -264,7 +264,7 @@ msgid "Right"
 msgstr "Vpravo"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Ukázat heslo"
 
@@ -286,6 +286,7 @@ msgid "Smuxi - Preferences"
 msgstr "Smuxi - Předvolby"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Server"
 
@@ -297,12 +298,12 @@ msgstr "Barevný proužek"
 #: ../glade/smuxi-frontend-gnome.glade.h:57
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:867
 msgid "Strip Formattings"
-msgstr "Formátovaný proužek"
+msgstr "Formátování proužku"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:58
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:907
 msgid "Strip UTF-8"
-msgstr "Proužek UTF-8"
+msgstr "Proužek v UTF-8"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:59
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1222
@@ -341,7 +342,7 @@ msgid "Username:"
 msgstr "Uživatelské jméno:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filtry"
 
@@ -351,16 +352,20 @@ msgid "_Interface"
 msgstr "Vzhled"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "Přihlašování"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Servery"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "Režim zalamování:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -382,6 +387,10 @@ msgstr ""
 "MM = měsíc\n"
 "yy/yyyy = rok"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Michal Simunek <michal.simunek at gmail.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Němčina"
@@ -406,18 +415,22 @@ msgstr "Italština"
 msgid "Smuxi Website"
 msgstr "Web Smuxi"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
 msgstr "Hups, zkouším to znovu..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
 msgstr "Smuxi spadl, protože obdržel nezpracovatelný požadavek!"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
 msgstr "Zde je výpis, nahlaste prosím tuto chybu!"
 
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Nahlásit chybu"
+
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
 msgstr "Správce enginu"
@@ -440,7 +453,7 @@ msgstr "Engine:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Místní engine"
 
@@ -448,26 +461,26 @@ msgstr "Místní engine"
 msgid "Please select an engine!"
 msgstr "Vyberte si prosím engine!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
 msgstr "Verze rozhraní ({0}) neodpovídá verzi enginu ({1})!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
 msgstr "Během připojování k enginu se vyskytla chyba!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "Adresa enginu: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Chyba: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Opravdu si přejete odstranit engine \"{0}\"?"
@@ -479,89 +492,89 @@ msgstr "Chystáte se vložit {0} řádků. Chcete pokračovat?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
 msgstr "Příkazy rozhraní"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_Soubor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "S_erver"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
 msgstr "_Rychlé připojení"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "Spr_avovat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Otevřít / Připojit se k Chatu"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
 msgstr "_Najít skupinový chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "_Vyprázdnit všechnu aktivitu"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
 msgstr "_Další Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
 msgstr "Předcho_zí Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "Po_užit místní engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "Př_idat vzdálený engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "Přepnou_t vzdálený engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "Zo_brazit"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
 msgstr "Z_nakový režim"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "Nápo_věda"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
 msgstr "Nelze přidat server: "
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
 msgstr "Neznámý typ chatu: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -569,7 +582,7 @@ msgstr ""
 "Přepnutím na místní engine se odpojíte od aktuálního enginu!\n"
 "Opravdu si přejete pokračovat?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -582,37 +595,51 @@ msgid "Sorry, not implemented yet!"
 msgstr "Promiňte, ještě není podporováno!"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Znak"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Slovo"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Připojení"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Vzhled"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Servery"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtry"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Přihlašování"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "Podle systému"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Políčko Přezdívka(y) nemůže být prázdné."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Neplatný výraz pro zvýraznění: '{0}'. Příčina: {1}"
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Název"
 
@@ -634,12 +661,12 @@ msgstr ""
 msgid "Error while fetching the list of group chats from the server."
 msgstr "Chyba při přijmu seznamu skupinových chatů ze serveru."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Způsobeno: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -655,7 +682,7 @@ msgstr ""
 "Opětovné připojení k serveru selhalo.\n"
 "Chcete to zkusit znovu?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -664,6 +691,7 @@ msgstr ""
 "Chcete se nyní znovu připojit?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protokol"
@@ -673,11 +701,17 @@ msgstr "Protokol"
 msgid "Hostname"
 msgstr "Hostitel"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Nelze nahrát server: "
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Osobní / Soukromý"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Skupinový / Veřejný"
 
@@ -710,11 +744,45 @@ msgid ""
 "An engine with this name already exists! Please specify a different one."
 msgstr "Engine s tímto názvem již existuje. Zadejte prosím jiný název."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Den změněn na {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Neplatný výraz pro filtr: '{0}'. Příčina: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Opravdu si přejete smazat vybraný filtr?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protokol / Server"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Typ chatu"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normální"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Událost"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Typ"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Vzor"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -723,13 +791,13 @@ msgstr "Přijímání seznamu uživatelů pro {0}..."
 #. TRANSLATOR: this string will be appended to the one above
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:286
 msgid "done."
-msgstr "dokončeno"
+msgstr "hotovo."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
 msgstr "Osoba"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
@@ -738,25 +806,14 @@ msgstr ""
 "připojené!\n"
 "Opravdu si přejete pokračovat?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Vzor"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Připojování"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Části"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Odpojování"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
-msgstr "Opravdu si přejete odstranit vybraný server?"
+msgstr "Opravdu si přejete smazat vybraný server?"
+
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Nelze upravit server: "
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
@@ -791,44 +848,10 @@ msgstr "Smuxi - Najít skupinový chat"
 msgid "_Name:"
 msgstr "_Název:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Rychlé připojení"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Port:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "_Hostitel:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Uživatel:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "H_eslo:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "P_rotokol:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Příkazy při připojení:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Příkazy při připojení:"
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Přezdívky:"
@@ -841,6 +864,14 @@ msgstr "<b> Umístění seznamu uživatelů </b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Kanál </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Filtry kanálů</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Filtry uživatelů</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
 msgstr "Použít tunel _SSH"
@@ -862,7 +893,13 @@ msgstr "_Hostitel SSH:"
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr "<span size=\"small\">DNS nebo IP adresa a port serveru SSH</span>"
+msgstr "<span size=\"small\">DNS nebo IP adresa a port SSH serveru</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid ""
@@ -882,7 +919,7 @@ msgid ""
 "<span size=\"small\">Username which will be used to log into the SSH server</"
 "span>"
 msgstr ""
-"<span size=\"small\">Uživatleské jméno pro přihlášení k serveru SSH</span>"
+"<span size=\"small\">Uživatleské jméno pro přihlášení k SSH serveru</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
@@ -898,6 +935,11 @@ msgstr ""
 "pokud se používá SSH autorizace klíčem (prostřednictvím Pageant z nástrojů "
 "PuTTY).</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Uživatel:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid ""
 "<span size=\"small\">Username which will be used to log into the Smuxi "
@@ -905,6 +947,11 @@ msgid ""
 msgstr ""
 "<span size=\"small\">Uživatelské jméno pro přihlášení k serveru Smuxi</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "H_eslo:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
 msgstr "<span size=\"small\">Heslo uživatele</span>"
@@ -961,5 +1008,34 @@ msgstr "Smuxi - Otevřít chat"
 msgid "_Type:"
 msgstr "_Typ"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Síť:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Hostitel:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "P_rotokol:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "_Příkazy při připojení:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "_Ignorovat příkazy"
+
+#~ msgid "Joins"
+#~ msgstr "Připojování"
+
+#~ msgid "Parts"
+#~ msgstr "Části"
+
+#~ msgid "Quits"
+#~ msgstr "Odpojování"
+
 #~ msgid "Unknown Command: {0}"
 #~ msgstr "Neznámý příkaz: {0}"
diff --git a/po-Frontend-GNOME/da.po b/po-Frontend-GNOME/da.po
index a465921..537db7f 100644
--- a/po-Frontend-GNOME/da.po
+++ b/po-Frontend-GNOME/da.po
@@ -1,16 +1,16 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Bjarke Sørensen <bs at wasd.dk>, 2009.
+# Danish translation smuxi-frontend-gnome.
+# Copyright (C) 2010 Mirco Bauer & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-frontend-gnome package.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend-gnome\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2009-08-12 08:43+0200\n"
-"Last-Translator: Bjarke Sørensen <bs at wasd.dk>\n"
-"Language-Team: Danish Localization <debian-l10n-danish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-21 00:46+0200\n"
+"PO-Revision-Date: 2010-07-21 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -18,191 +18,191 @@ msgstr ""
 
 #: ../glade/smuxi-frontend-gnome.glade.h:1
 msgid "<b> Chat </b>"
-msgstr ""
+msgstr "<b> Snak </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:2
 msgid "<b> Color </b>"
-msgstr ""
+msgstr "<b> Farve </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:3
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1372
 msgid "<b> Entry Field </b>"
-msgstr ""
+msgstr "<b> Indtastningsfelt </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:4
 msgid "<b> Font </b>"
-msgstr ""
+msgstr "<b> Skrifttype </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:5
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1702
 msgid "<b> Highlighting </b>"
-msgstr ""
+msgstr "<b> Fremhævelse </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:6
 msgid "<b> Notification Area Icon </b>"
-msgstr ""
+msgstr "<b> Ikon for statusfelt </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:7
 msgid "<b> Person List Position </b>"
-msgstr ""
+msgstr "<b> Placering af personliste </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:8
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1209
 msgid "<b> Tab Colors </b>"
-msgstr ""
+msgstr "<b> Fanebladsfarver </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:9
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1110
 msgid "<b> Tabs Position </b>"
-msgstr ""
+msgstr "<b> Fanebladsplacering </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:10
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1515
 msgid "<b> Topic Position </b>"
-msgstr ""
+msgstr "<b> Emneplacering </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr ""
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr ""
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
-msgstr ""
+msgstr "Aktivitet"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
-msgstr ""
+msgstr "Tilslut automatisk til server ved opstart"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
-msgstr ""
+msgstr "Baggrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+# yak, hvad er det her?
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
-msgstr ""
+msgstr "Bashagtig fuldførelse"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
-msgstr ""
+msgstr "Beep ved fremhævelse"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1486
 msgid "Bottom"
-msgstr ""
+msgstr "Bund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
-msgstr ""
+msgstr "Mellemlagerlinjer:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
-msgstr ""
+msgstr "_Tilslutning"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
-msgstr ""
+msgstr "Kommandotegn:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
-msgstr ""
+msgstr "Historikstørrelse for kommando:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
-msgstr ""
+msgstr "Afslutningstegn:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
-msgstr ""
+msgstr "Aktiver"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Aktiveret"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
-msgstr ""
+msgstr "Kodning:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
-msgstr ""
+msgstr "Mellemlagerlinjer for motor:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
-msgstr ""
+msgstr "Forgrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
-msgstr ""
+msgstr "Generelt"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
-msgstr ""
+msgstr "Fremhæv"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
-msgstr ""
+msgstr "Fremhæv ord:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
-msgstr ""
+msgstr "Værtsnavn:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
-msgstr ""
+msgstr "Inddata"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
-msgstr ""
+msgstr "Deltag/del/tilstand"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1561
 msgid "Left"
-msgstr ""
+msgstr "Venstre"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Logfiltrerede beskeder"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
-msgstr ""
+msgstr "Netværk:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:36
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1402
 msgid "Nick Colors"
-msgstr ""
+msgstr "Farver for brugernavn"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:37
 msgid "Nickname(s):"
-msgstr ""
+msgstr "Brugernavne:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:38
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1153
 msgid "No Activity"
-msgstr ""
+msgstr "Ingen aktivitet"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
@@ -212,47 +212,47 @@ msgstr ""
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1501
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1616
 msgid "None"
-msgstr ""
+msgstr "Ingen"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:40
 msgid "Notification"
-msgstr ""
+msgstr "Påmindelse"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:41
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:581
 msgid "On Connect Commands:"
-msgstr ""
+msgstr "Ingen tilslutningskommandoer:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:42
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:627
 msgid "On Startup Commands:"
-msgstr ""
+msgstr "Ingen opstartskommandoer:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:43
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1714
 msgid "Output"
-msgstr ""
+msgstr "Uddata"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:44
 msgid "Override"
-msgstr ""
+msgstr "Overskriv"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:45
 msgid "Password:"
-msgstr ""
+msgstr "Adgangskode:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:46
 msgid "Port:"
-msgstr ""
+msgstr "Port:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:47
 msgid "Protocol:"
-msgstr ""
+msgstr "Protokol:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:48
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:538
 msgid "Realname:"
-msgstr ""
+msgstr "Navn:"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
@@ -262,53 +262,55 @@ msgstr ""
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1576
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1601
 msgid "Right"
-msgstr ""
+msgstr "Højre"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
-msgstr ""
+msgstr "Vis adgangskode"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:51
 msgid "Show always"
-msgstr ""
+msgstr "Vis altid"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:52
 msgid "Show when window is closed"
-msgstr ""
+msgstr "Vis når vinduet er lukket"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:53
 msgid "Show when window is minimized"
-msgstr ""
+msgstr "Vis når vinduet er minimeret"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:54
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:406
 msgid "Smuxi - Preferences"
-msgstr ""
+msgstr "Smuxi - indstillinger"
 
+# navn? derfor med stort.
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
-msgstr ""
+msgstr "Smuxi - Server"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:56
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:828
 msgid "Strip Colors"
-msgstr ""
+msgstr "Fjern farver"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:57
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:867
 msgid "Strip Formattings"
-msgstr ""
+msgstr "Fjern formater"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:58
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:907
 msgid "Strip UTF-8"
-msgstr ""
+msgstr "Fjern UTF-8"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:59
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1222
 msgid "Tabs"
-msgstr ""
+msgstr "Faneblade"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
 msgid ""
@@ -316,11 +318,14 @@ msgid ""
 "which will be used as fallbacks when the first choice is not available. By "
 "default $nick_ and $nick__ will be used as fallbacks."
 msgstr ""
+"Brugernavnet. Du kan angive yderligere brugernavne (adskilt af mellemrum) "
+"som vil blive brugt hvis det første valg ikke er tilgængeligt. Som standard "
+"vil $nick_ og $nick__ blive anvendt."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
 msgid "Timestamp Format:"
-msgstr ""
+msgstr "Tidsstempelformat:"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
@@ -330,34 +335,38 @@ msgstr ""
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1420
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1446
 msgid "Top"
-msgstr ""
+msgstr "Øverst"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:63
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:515
 msgid "Username:"
-msgstr ""
+msgstr "Brugernavn:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
-msgstr ""
+msgstr "_Filtre"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:65
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1723
 msgid "_Interface"
-msgstr ""
+msgstr "_Grænseflade"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Logning"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
-msgstr ""
+msgstr "_Servere"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
-msgstr ""
+msgstr "_Ombrydningstilstand:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -369,240 +378,258 @@ msgid ""
 "MM = month\n"
 "yy/yyyy = year"
 msgstr ""
+"ss = sekunder\n"
+"mm = minutter\n"
+"hh = timer (01 - 12)\n"
+"HH = timer (00 - 23)\n"
+"tt = AM/PM\n"
+"\n"
+"dd = dag\n"
+"MM = måned\n"
+"yy/yyyy = år"
 
-#: ../src/Frontend-GNOME/AboutDialog.cs:47
-msgid "German"
-msgstr ""
-
-#: ../src/Frontend-GNOME/AboutDialog.cs:48
-msgid "Spanish"
-msgstr ""
-
-#: ../src/Frontend-GNOME/AboutDialog.cs:49
-msgid "British English"
-msgstr ""
-
-#: ../src/Frontend-GNOME/AboutDialog.cs:50
-msgid "French"
-msgstr ""
-
-#: ../src/Frontend-GNOME/AboutDialog.cs:51
-msgid "Italian"
-msgstr ""
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Joe Hansen <joedalton2 at yahoo.dk>"
 
-#: ../src/Frontend-GNOME/AboutDialog.cs:54
+#: ../src/Frontend-GNOME/AboutDialog.cs:55
 msgid "Smuxi Website"
-msgstr ""
+msgstr "Smuxis hjemmeside"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
-msgstr ""
+msgstr "Oops, jeg gjorde det igen..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
-msgstr ""
+msgstr "Smuxi brød ned da en uhåndteret undtagelse opstod!"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+# A stack trace (also called stack backtrace or stack traceback) 
+# is a report of the active stack frames at a certain point in 
+# time during the execution of a program.
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
-msgstr ""
+msgstr "Her er stacktracen, rapporter venligst denne fejl!"
+
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Rapporter fejl"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
-msgstr ""
+msgstr "Motorhåndtering"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:68
 msgid "_Connect"
-msgstr ""
+msgstr "_Tilslut"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:78
 msgid "_Edit"
-msgstr ""
+msgstr "_Rediger"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:90
 msgid "Select which Smuxi engine you want to connect to"
-msgstr ""
+msgstr "Vælg hvilken Smuximotor du ønsker at forbinde til"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:96
 msgid "Engine:"
-msgstr ""
+msgstr "Motor:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
-msgstr ""
+msgstr "Lokal motor"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:174
 msgid "Please select an engine!"
-msgstr ""
+msgstr "Vælg venligst en motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
-msgstr ""
+msgstr "Din grænsefladeversion ({0}) svarer ikke til motorversionen ({1})!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
-msgstr ""
+msgstr "En fejl opstod under tilslutning til motoren!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
-msgstr ""
+msgstr "Motor-URL: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
-msgstr ""
+msgstr "Fejl: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
-msgstr ""
+msgstr "Er du sikker på, at du ønsker at slette motoren »{0}«?"
 
 #: ../src/Frontend-GNOME/Entry.cs:403
 #, csharp-format
 msgid "You are going to paste {0} lines. Do you want to continue?"
-msgstr ""
+msgstr "Du er ved at indsætte {0} linjer. Ønsker du at fortsætte?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
-msgstr ""
+msgstr "Grænsefladekommandoer"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:187
 msgid "_File"
-msgstr ""
+msgstr "_Fil"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:203
 msgid "_Server"
-msgstr ""
+msgstr "_Server"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:207
 msgid "_Quick Connect"
-msgstr ""
+msgstr "_Hurtig tilslutning"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:218
 msgid "_Manage"
-msgstr ""
+msgstr "_Håndter"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:225
 msgid "_Chat"
-msgstr ""
+msgstr "_Snak"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:229
 msgid "Open / Join Chat"
-msgstr ""
+msgstr "Åbn / tilslut snak"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:234
 msgid "_Find Group Chat"
-msgstr ""
+msgstr "_Find gruppesnak"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:239
 msgid "C_lear All Activity"
-msgstr ""
+msgstr "_Ryd al aktivitet"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:246
 msgid "_Next Chat"
-msgstr ""
+msgstr "_Næste snak"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:256
 msgid "_Previous Chat"
-msgstr ""
+msgstr "_Forrige snak"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:308
 msgid "_Engine"
-msgstr ""
+msgstr "_Motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:312
 msgid "_Use Local Engine"
-msgstr ""
+msgstr "_Brug lokal motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:318
 msgid "_Add Remote Engine"
-msgstr ""
+msgstr "_Tilføj ekstern motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:323
 msgid "_Switch Remote Engine"
-msgstr ""
+msgstr "_Skift ekstern motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:330
 msgid "_View"
-msgstr ""
+msgstr "_Vis"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:334
 msgid "_Caret Mode"
-msgstr ""
+msgstr "_Markørtilstand"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:344
 msgid "_Help"
-msgstr ""
+msgstr "_Hjælp"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:580
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
-msgstr ""
+msgstr "Kunne ikke tilføje server: "
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:627
 #, csharp-format
 msgid "Unknown ChatType: {0}"
-msgstr ""
+msgstr "Ukendt snaktype: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:835
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Skift til lokal motor vil afbryde dig fra den aktuelle motor!\n"
+"Er du sikker på, at du ønsker at gøre dette?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:877
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Skift af den eksterne motor vil afbryde dig fra den aktuelle motor!\n"
+"Er du sikker på, at du ønsker at gøre dette?"
 
 #: ../src/Frontend-GNOME/NotImplementedMessageDialog.cs:40
 msgid "Sorry, not implemented yet!"
-msgstr ""
+msgstr "Beklager, ikke implementeret endnu!"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
-msgstr ""
+msgstr "Tegn"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
-msgstr ""
+msgstr "Ord"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
-msgstr ""
+msgstr "Tilslutning"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
-msgstr ""
+msgstr "Grænseflade"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
-msgstr ""
+msgstr "Servere"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtre"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Logning"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
-msgstr ""
+msgstr "Systemstandard"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
-msgstr ""
+msgstr "Brugernavnsfelter må ikke være tomme."
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Ugyldigt fremhævet regulært udtryk: '{0}'. Årsag: {1}"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
-msgstr ""
+msgstr "Navn"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:74
 msgid "Topic"
-msgstr ""
+msgstr "Emne"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:102
 msgid ""
@@ -610,210 +637,228 @@ msgid ""
 "take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
+"Søgning efter gruppesnak uden et filter kan ikke anbefales. Det kan tage "
+"lang tid eller slet ikke virke.\n"
+"Ønsker du at fortsætte?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
 msgid "Error while fetching the list of group chats from the server."
-msgstr ""
+msgstr "Kunne ikke hente listen over gruppesnak fra serveren."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
-msgstr ""
+msgstr "Årsag: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
 msgstr ""
+"Grænsefladen har mistet forbindelsen til serveren.\n"
+"Ønsker du at tilslutte nu?"
 
 #: ../src/Frontend-GNOME/Frontend.cs:479
 msgid ""
 "Reconnecting to the server has failed.\n"
 "Do you want to try again?"
 msgstr ""
+"Gentilslutning til serveren mislykkedes.\n"
+"Ønsker du at forsøge igen?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
 msgstr ""
+"Serveren har mistet forbindelsen til grænsefladen.\n"
+"Ønsker du at tilslutte igen?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
-msgstr ""
+msgstr "Protokol"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:63
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:71
 msgid "Hostname"
-msgstr ""
+msgstr "Værtsnavn"
+
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Kunne ikke indlæse server: "
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
-msgstr ""
+msgstr "Person / privat"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
-msgstr ""
+msgstr "Gruppe / offenlig"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:70
 msgid "Engine Assistant - Smuxi"
-msgstr ""
+msgstr "Motorassisten - Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:92
 msgid "Add Smuxi Engine"
-msgstr ""
+msgstr "Tilføj Smuximotor"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:94
 msgid "Edit Smuxi Engine"
-msgstr ""
+msgstr "Rediger Smuximotor"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:203
 msgid "Credentials"
-msgstr ""
+msgstr "Akkreditiver"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:265
 msgid "Now you can use the Smuxi Engine"
-msgstr ""
+msgstr "Nu kan du bruge Smuximotoren"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:268
 msgid "Thank you"
-msgstr ""
+msgstr "Mange tak"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
 msgid ""
 "An engine with this name already exists! Please specify a different one."
-msgstr ""
+msgstr "En motor med dette navn findes allerede! Angiv venligst et andet."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:195
 #, csharp-format
 msgid "Day changed to {0}"
-msgstr ""
+msgstr "Dag ændret til {0}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Ugyldig filter for regulært udtryk: '{0}'. Årsag: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Er du sikker på, at du ønsker at slette det valgte filter?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protokol / server"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Snaktype"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Begivenhed"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Type"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Mønster"
 
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
-msgstr ""
+msgstr "Henter brugerlsite for {0}..."
 
 #. TRANSLATOR: this string will be appended to the one above
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:286
 msgid "done."
-msgstr ""
+msgstr "færdig."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
-msgstr ""
+msgstr "Person"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
+"Lukning af protokolsamtalen vil også lukke alle åbne samtalerum der er "
+"forbundet til den!\n"
+"Er du sikker på, at du ønsker at gøre dette?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr ""
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr ""
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr ""
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr ""
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
-msgstr ""
+msgstr "Er du sikker på, at du ønsker at slette den valgte server?"
+
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Kunne ikke redigere server: "
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
-msgstr ""
+msgstr "Find"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:62
 msgid "_Search for:"
-msgstr ""
+msgstr "_Søg efter:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:91
 msgid "_Match Case"
-msgstr ""
+msgstr "_Versalfølsom"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:103
 msgid "Search _Backwards"
-msgstr ""
+msgstr "Søg _baglæns"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:115
 msgid "_Wrap Around"
-msgstr ""
+msgstr "_Ombryd"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:128
 msgid "Use _Regular Expressions"
-msgstr ""
+msgstr "Brug _reuglære udtryk"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:40
 msgid "Smuxi - Find Group Chat"
-msgstr ""
+msgstr "Smuxi - Find gruppesnak"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:64
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:87
 msgid "_Name:"
-msgstr ""
+msgstr "_Navn:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-msgid "_On Connect Commands:"
-msgstr ""
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-msgid "_Ignore Commands"
-msgstr ""
+msgstr "Smuxi - hurtig tilslutning"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
-msgstr ""
+msgstr "Brugernavne:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1630
 msgid "<b> User List Position </b>"
-msgstr ""
+msgstr "<b> Placering af brugerliste</b>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1641
 msgid "<b> Channel </b>"
-msgstr ""
+msgstr "<b> Kanal </b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Kanalfiltre</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Brugerfiltre</b>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
-msgstr ""
+msgstr "Brug _SSH-tunnel"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
 msgid ""
@@ -821,38 +866,51 @@ msgid ""
 "small performance impact, but is more secure and required when using NAT or "
 "port-based firewalls</span>"
 msgstr ""
+"<span size=\"small\">Aktiverer brugen af SSH til forbindelsen. Dette har en "
+"mindre ydelsespåvirkning, men er mere sikker og krævet med brug af NAT- "
+"eller portbaserede brandmure (firewalls)</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
-msgstr ""
+msgstr "SSH-_vært:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
 msgstr ""
+"<span size=\"small\">DNS- eller IP-adresse og port på SSH-serveren</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
 msgstr ""
+"<span size=\"small\">DNS- eller IP-adresse og port på Smuxiserveren</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
-msgstr ""
+msgstr "_Smuxivært:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:76
 msgid "_SSH Username: (optional)"
-msgstr ""
+msgstr "_SSH-brugernavn: (valgfri)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
 msgid ""
 "<span size=\"small\">Username which will be used to log into the SSH server</"
 "span>"
 msgstr ""
+"<span size=\"small\">Brugernavn som vil blive brugt til at logge ind på SSH-"
+"serveren</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
-msgstr ""
+msgstr "_SSH-adgangskode: (valgfri)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
 msgid ""
@@ -860,24 +918,39 @@ msgid ""
 "The password is optional if SSH key authorization is used (via Pageant from "
 "the PuTTY tools).</span>"
 msgstr ""
+"<span size=\"small\">Adgangskode som vil blive brugt til at logge ind på SSH-"
+"serveren. Adgangskoden er valgfri hvis SSH-nøglegodkendelse er anvendt (via "
+"Pageant fr PuTTY-værktøjene).</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Brugernavn:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid ""
 "<span size=\"small\">Username which will be used to log into the Smuxi "
 "server</span>"
 msgstr ""
+"<span size=\"small\">Brugernavn som vil blive brugt til at logge ind til "
+"Smuxiserveren</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Adgangskode:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
-msgstr ""
+msgstr "<span size=\"small\">Brugerens adgangskode</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:251
 msgid "_Verify Password:"
-msgstr ""
+msgstr "_Bekræft adgangskode:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:275
 msgid "<span size=\"small\">Repeat the password for verification</span>"
-msgstr ""
+msgstr "<span size=\"small\">Gentag adgangskoden for bekræftelse</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantIntroWidget.cs:27
 msgid ""
@@ -886,33 +959,61 @@ msgid ""
 "\n"
 "Click \"Forward\" to begin."
 msgstr ""
+"Velkommen til konfigurationsassistenten til Smuximotoren.\n"
+"Det er nødvendigt at indtaste nogle informationer før du kan bruge motoren.\n"
+"\n"
+"Klik »Fremad« for at begynde."
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:52
 msgid "_Engine Name:"
-msgstr ""
+msgstr "_Motornavn:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:75
 msgid "<span size=\"small\">Profile name of the new engine</span>"
-msgstr ""
+msgstr "<span size=\"small\">Profilnavn på den nye motor</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:96
 msgid "_Default Engine:"
-msgstr ""
+msgstr "_Standardmotor:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:107
 msgid "Use as new default engine"
-msgstr ""
+msgstr "Brug som ny standardmotor"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
 msgid ""
 "<span size=\"small\">If enabled, the current engine will be the default next "
 "time Smuxi is started</span>"
 msgstr ""
+"<span size=\"small\">Hvis aktiveret, vil den aktuelle motor være standard "
+"næste gang Smuxi startes</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
-msgstr ""
+msgstr "Smuxi - åben snak"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:77
 msgid "_Type:"
-msgstr ""
+msgstr "_Type:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Netværk:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Værtsnavn:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protokol:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "Kommandoer _ved tilslutning:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "_Ignorer kommandoer"
+
+
diff --git a/po-Frontend-GNOME/de.po b/po-Frontend-GNOME/de.po
index 54a175b..09c56a5 100644
--- a/po-Frontend-GNOME/de.po
+++ b/po-Frontend-GNOME/de.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the Smuxi package.
 # Mirco Bauer <meebey at meebey.net>, 2008-2009.
 # Bianca Mix <heavydemon at freenet.de>, 2010
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.6.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2010-01-03 00:10+0100\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-07 22:48+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -62,41 +62,32 @@ msgid "<b> Topic Position </b>"
 msgstr "<b> Position des Themas </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Channel-Filter</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Benutzer-Filter</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Aktivität"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
 msgstr "Beim Start automatisch zu diesem Server verbinden"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Hintergrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Vervollständigung im Bash-Stil"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
 msgstr "Bei Highlight piepsen"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -104,81 +95,85 @@ msgstr "Bei Highlight piepsen"
 msgid "Bottom"
 msgstr "Unten"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Puffer-Zeilen:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "_Verbindung"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Befehlszeichen:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Befehlsprotokollgröße:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Vervollständigungzeichen:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Aktivieren"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Kodierung:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
 msgstr "Engine-Puffer-Zeilen:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "Vordergrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "Allgemein"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Highlight"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Highlight-Wörter:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Hostname:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Eingabe:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Beitreten/Verlassen/Mode"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -186,6 +181,10 @@ msgstr "Beitreten/Verlassen/Mode"
 msgid "Left"
 msgstr "Links"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Protokollierung gefilterter Nachrichten"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Netzwerk:"
@@ -265,7 +264,7 @@ msgid "Right"
 msgstr "Rechts"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Passwort anzeigen"
 
@@ -287,6 +286,7 @@ msgid "Smuxi - Preferences"
 msgstr "Smuxi - Einstellungen"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Server"
 
@@ -311,15 +311,8 @@ msgid "Tabs"
 msgstr "Reiter"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
-msgid ""
-"The nickname to use. You can specify extra nicknames (separated by spaces) "
-"which will be used as fallbacks when the first choice is not available. By "
-"default $nick_ and $nick__ will be used as fallbacks."
-msgstr ""
-"Der Nickname der verwendet werden soll. Sie können mehr als einen Nicknamen "
-"angeben, indem Sie Leerzeichen als Trenner verwenden. Diese werden als "
-"Ausweichmöglichkeit benutzt, wenn der Nickname nicht verfügbar ist. "
-"Standardmäßig wird $nick_ und $nick__ als Ausweichmöglichkeit verwendet."
+msgid "The nickname to use. You can specify extra nicknames (separated by spaces) which will be used as fallbacks when the first choice is not available. By default $nick_ and $nick__ will be used as fallbacks."
+msgstr "Der Nickname der verwendet werden soll. Sie können mehr als einen Nicknamen angeben, indem Sie Leerzeichen als Trenner verwenden. Diese werden als Ausweichmöglichkeit benutzt, wenn der Nickname nicht verfügbar ist. Standardmäßig wird $nick_ und $nick__ als Ausweichmöglichkeit verwendet."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
@@ -342,7 +335,7 @@ msgid "Username:"
 msgstr "Benutzername:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filter"
 
@@ -352,16 +345,21 @@ msgid "_Interface"
 msgstr "_Anzeige"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Geprächsprotokollierung"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Server"
 
-#. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#. This is a setting for character based line wrapping vs word based when
+#. showing messages
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "_Umbruch-Modus"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -383,6 +381,10 @@ msgstr ""
 "MM = Monat\n"
 "yy/yyyy = Jahr"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Mirco Bauer <meebey at meebey.net>\nBianca Mix <heavydemon at freenet.de>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Deutsch"
@@ -407,19 +409,22 @@ msgstr "Italienisch"
 msgid "Smuxi Website"
 msgstr "Smuxi Webseite"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
 msgstr "Ups, ich habe es wieder getan..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
-msgstr ""
-"Smuxi ist abgestürtzt, weil eine unbehandelte Ausnahme aufgetreten ist!"
+msgstr "Smuxi ist abgestürtzt, weil eine unbehandelte Ausnahme aufgetreten ist!"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
 msgstr "Hier ist der Stack-Trace, bitte berichten Sie diesen Fehler!"
 
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Fehler berichten"
+
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
 msgstr "Engine-Manager"
@@ -442,7 +447,7 @@ msgstr "Engine:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Lokale Engine"
 
@@ -450,28 +455,26 @@ msgstr "Lokale Engine"
 msgid "Please select an engine!"
 msgstr "Bitte wählen Sie eine Engine aus!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
-msgstr ""
-"Ihre Frontend-Version ({0}) stimmt nicht mit der Engine-Version ({1}) "
-"überein!"
+msgstr "Ihre Frontend-Version ({0}) stimmt nicht mit der Engine-Version ({1}) überein!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
 msgstr "Ein Fehler ist beim Verbinden zur Engine aufgetreten!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "Engine URL: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Fehler: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Möchten Sie wirklich die Engine \"{0}\" löschen?"
@@ -483,89 +486,89 @@ msgstr "Sie sind dabei, {0} Zeilen einzufügen. Möchten Sie fortfahren?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
 msgstr "Frontend Befehle"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_Datei"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Server"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
 msgstr "_Schnelles Verbinden"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "_Verwalten"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Chat öffnen / beitreten"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
 msgstr "_Finde Gruppen-Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "Alle Aktivitäten _löschen"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
 msgstr "_Nächster Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
 msgstr "_Vorheriger Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Verwende lokale Engine"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "_Füge entfernte Engine hinzu"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "_Entfernte Engine wechseln"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Anzeige"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
 msgstr "_Caret-Modus"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
 msgstr "Fehler beim Hinzufügen des Servers:"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
 msgstr "Unbekannter Chat-Typ: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -573,13 +576,12 @@ msgstr ""
 "Das Wechseln zur lokalen Engine wird Sie von der jetzigen Engine trennen!\n"
 "Möchten Sie fortfahren?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Das Wechseln zur entfernten Engine wird Sie von der jetzigen Engine "
-"trennen!\n"
+"Das Wechseln zur entfernten Engine wird Sie von der jetzigen Engine trennen!\n"
 "Möchten Sie fortfahren?"
 
 #: ../src/Frontend-GNOME/NotImplementedMessageDialog.cs:40
@@ -587,37 +589,51 @@ msgid "Sorry, not implemented yet!"
 msgstr "Tut mir leid, das ist noch nicht implementiert!"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Zeichen"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Wort"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Verbindung"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Anzeige"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Server"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filter"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Geprächsprotokollierung"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "System-Standard"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Das Nickname(n)-Feld darf nicht leer sein."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Ungültiger Highlight regex: '{0}'. Ursache: {1}"
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Name"
 
@@ -627,24 +643,22 @@ msgstr "Thema"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:102
 msgid ""
-"Searching for group chats without a filter is not recommended.  This may "
-"take a while, or may not work at all.\n"
+"Searching for group chats without a filter is not recommended.  This may take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
-"Vom Suchen nach Gruppen-Chats ohne einen Filter wird abgeraten. Es könnte "
-"eine Weile dauern, oder es funktioniert gar nicht.\n"
+"Vom Suchen nach Gruppen-Chats ohne einen Filter wird abgeraten. Es könnte eine Weile dauern, oder es funktioniert gar nicht.\n"
 "Möchten Sie fortfahren?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
 msgid "Error while fetching the list of group chats from the server."
 msgstr "Fehler beim Abrufen der Liste für Gruppen-Chats vom Server."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Grund: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -660,7 +674,7 @@ msgstr ""
 "Erneutes Verbindung zum Server ist fehlgeschlagen.\n"
 "Möchten Sie es nochmals versuchen?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -669,6 +683,7 @@ msgstr ""
 "Möchten Sie diese nun erneut aufbauen?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protokoll"
@@ -678,11 +693,17 @@ msgstr "Protokoll"
 msgid "Hostname"
 msgstr "Hostname"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Laden des Servers nicht möglich:"
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Person / Privat"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Gruppe / Öffentlich"
 
@@ -711,17 +732,48 @@ msgid "Thank you"
 msgstr "Vielen Dank"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
-msgid ""
-"An engine with this name already exists! Please specify a different one."
-msgstr ""
-"Es existiert bereits eine Engine mit diesem Namen! Bitte geben Sie einen "
-"anderen an."
+msgid "An engine with this name already exists! Please specify a different one."
+msgstr "Es existiert bereits eine Engine mit diesem Namen! Bitte geben Sie einen anderen an."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Tageswechsel: {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Üngültige r Filter regex: '{0}'. Ursache: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Möchten Sie den ausgewählten Filter wirklich löschen?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protokoll / Server"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Gesprächstyp"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Ereignis"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Typ"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Muster"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -732,39 +784,27 @@ msgstr "Rufe die Benutzer-Liste für {0} ab..."
 msgid "done."
 msgstr "abgeschlossen."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
 msgstr "Person"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Das Schließen des Protokoll-Chats wird alle dazugehörigen Chats ebenfalls "
-"schließen!\n"
+"Das Schließen des Protokoll-Chats wird alle dazugehörigen Chats ebenfalls schließen!\n"
 "Möchten Sie fortfahren?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Muster"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Betreten"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Verlassen"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Trennen"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
 msgstr "Möchten Sie den ausgewählten Server wirklich löschen?"
 
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Bearbeiten des Servers nicht möglich:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
 msgstr "Suchen"
@@ -798,44 +838,10 @@ msgstr "Smuxi - Finde Gruppen-Chat"
 msgid "_Name:"
 msgstr "_Name:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Schnelles Verbinden"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Port:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "_Hostname:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Benutzer:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "_Passwort:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "_Protokoll:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Befehle beim Verbinden:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Befehle beim Verbinden:"
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Nicknamen:"
@@ -848,35 +854,39 @@ msgstr "<b> Position der Benutzer-Liste </b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Channel </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Channel-Filter</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Benutzer-Filter</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
 msgstr "SSH-Tunnel verwenden"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
-msgid ""
-"<span size=\"small\">Enables the use of SSH for the connection.  This has a "
-"small performance impact, but is more secure and required when using NAT or "
-"port-based firewalls</span>"
-msgstr ""
-"<span size=\"small\">Aktiviert die Verwendung von SSH für die Verbindung. "
-"Dies hat Einfluss auf die Performanz, ist jedoch sicherer und notwendig, "
-"wenn NAT oder Port basierte Firewalls verwendet werden.</span>"
+msgid "<span size=\"small\">Enables the use of SSH for the connection.  This has a small performance impact, but is more secure and required when using NAT or port-based firewalls</span>"
+msgstr "<span size=\"small\">Aktiviert die Verwendung von SSH für die Verbindung. Dies hat Einfluss auf die Performanz, ist jedoch sicherer und notwendig, wenn NAT oder Port basierte Firewalls verwendet werden.</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
 msgstr "SSH-_Host:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr ""
-"<span size=\"small\">DNS oder IP-Adresse und Port vom SSH-Server</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
+msgstr "<span size=\"small\">DNS oder IP-Adresse und Port vom SSH-Server</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
-msgstr ""
-"<span size=\"small\">DNS oder IP-Adresse und Port vom Smuxi-Server</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
+msgstr "<span size=\"small\">DNS oder IP-Adresse und Port vom Smuxi-Server</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
@@ -887,34 +897,30 @@ msgid "_SSH Username: (optional)"
 msgstr "_SSH-Benutzer: (optional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
-msgid ""
-"<span size=\"small\">Username which will be used to log into the SSH server</"
-"span>"
-msgstr ""
-"<span size=\"small\">Benutzername, welcher zur Anmeldung beim SSH-Server "
-"verwendet werden soll</span>"
+msgid "<span size=\"small\">Username which will be used to log into the SSH server</span>"
+msgstr "<span size=\"small\">Benutzername, welcher zur Anmeldung beim SSH-Server verwendet werden soll</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
 msgstr "_SSH-Passwort: (optional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
-msgid ""
-"<span size=\"small\">Password which will be used to log into the SSH server. "
-"The password is optional if SSH key authorization is used (via Pageant from "
-"the PuTTY tools).</span>"
-msgstr ""
-"<span size=\"small\">Passwort, welches zur Anmeldung am SSH-Server verwendet "
-"werden soll. Das Passwort ist optional, wenn SSH-Schlüsselautorisierung "
-"verwendet wird (mittels Pageant aus den PuTTY Werkzeugen).</span>"
+msgid "<span size=\"small\">Password which will be used to log into the SSH server. The password is optional if SSH key authorization is used (via Pageant from the PuTTY tools).</span>"
+msgstr "<span size=\"small\">Passwort, welches zur Anmeldung am SSH-Server verwendet werden soll. Das Passwort ist optional, wenn SSH-Schlüsselautorisierung verwendet wird (mittels Pageant aus den PuTTY Werkzeugen).</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Benutzer:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
-msgid ""
-"<span size=\"small\">Username which will be used to log into the Smuxi "
-"server</span>"
-msgstr ""
-"<span size=\"small\">Benutzername, welcher zur Anmeldung beim Smuxi-Server "
-"verwendet werden soll</span>"
+msgid "<span size=\"small\">Username which will be used to log into the Smuxi server</span>"
+msgstr "<span size=\"small\">Benutzername, welcher zur Anmeldung beim Smuxi-Server verwendet werden soll</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Passwort:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
@@ -926,8 +932,7 @@ msgstr "Passwort _bestätigen:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:275
 msgid "<span size=\"small\">Repeat the password for verification</span>"
-msgstr ""
-"<span size=\"small\">Wiederholen Sie das Passwort zur Überprüfung</span>"
+msgstr "<span size=\"small\">Wiederholen Sie das Passwort zur Überprüfung</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantIntroWidget.cs:27
 msgid ""
@@ -937,8 +942,7 @@ msgid ""
 "Click \"Forward\" to begin."
 msgstr ""
 "Willkommen beim Engine-Konfigurations-Assistenten von Smuxi.\n"
-"Sie müssen ein paar Informationen eingeben, bevor Sie diese Engine nutzen "
-"können.\n"
+"Sie müssen ein paar Informationen eingeben, bevor Sie diese Engine nutzen können.\n"
 "\n"
 "Klicken Sie auf \"Weiter\" um anzufangen."
 
@@ -959,12 +963,8 @@ msgid "Use as new default engine"
 msgstr "Als neue Standard-Engine verwenden"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
-msgid ""
-"<span size=\"small\">If enabled, the current engine will be the default next "
-"time Smuxi is started</span>"
-msgstr ""
-"<span size=\"small\">Wenn dies aktiviert ist, wird die Engine standardmäßig "
-"beim nächsten Start von Smuxi verwendet</span>"
+msgid "<span size=\"small\">If enabled, the current engine will be the default next time Smuxi is started</span>"
+msgstr "<span size=\"small\">Wenn dies aktiviert ist, wird die Engine standardmäßig beim nächsten Start von Smuxi verwendet</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
@@ -974,6 +974,35 @@ msgstr "Smuxi - Chat Öffnen"
 msgid "_Type:"
 msgstr "_Typ:"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Netzwerk:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Hostname:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protokoll:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "Befehle beim Verbinden:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "Befehle ignorieren:"
+
+#~ msgid "Joins"
+#~ msgstr "Betreten"
+
+#~ msgid "Parts"
+#~ msgstr "Verlassen"
+
+#~ msgid "Quits"
+#~ msgstr "Trennen"
+
 #~ msgid "Unknown Command: {0}"
 #~ msgstr "Unbekannter Befehl: {0}"
 
@@ -1005,8 +1034,7 @@ msgstr "_Typ:"
 #~ "Click \"Forward\" to begin."
 #~ msgstr ""
 #~ "Willkommen bei smuxi\n"
-#~ "Sie haben smuxi zum ersten Mal gestartet und es braucht ein paar "
-#~ "Antworten von Ihnen.\n"
+#~ "Sie haben smuxi zum ersten Mal gestartet und es braucht ein paar Antworten von Ihnen.\n"
 #~ "\n"
 #~ "Klicken Sie auf \"Weiter\" um anzufangen."
 
@@ -1052,6 +1080,3 @@ msgstr "_Typ:"
 
 #~ msgid "Tray"
 #~ msgstr "Benachrichtigungsfeld"
-
-#~ msgid "Filters"
-#~ msgstr "Filter"
diff --git a/po-Frontend-GNOME/en_GB.po b/po-Frontend-GNOME/en_GB.po
index 5609b6f..66d405f 100644
--- a/po-Frontend-GNOME/en_GB.po
+++ b/po-Frontend-GNOME/en_GB.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Ryan Smith-Evans <Kimera.Kimera at gmail.com>, 2008.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: 0.6.2\n"
@@ -310,14 +310,8 @@ msgid "Tabs"
 msgstr "Tabs"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
-msgid ""
-"The nickname to use. You can specify extra nicknames (separated by spaces) "
-"which will be used as fallbacks when the first choice is not available. By "
-"default $nick_ and $nick__ will be used as fallbacks."
-msgstr ""
-"The nickname used. You can specify more than one nickname, separated by a "
-"space, which will be used as fall-back when the nickname was not available. "
-"By default $nick_ and $nick__ will be used as a fall-back."
+msgid "The nickname to use. You can specify extra nicknames (separated by spaces) which will be used as fallbacks when the first choice is not available. By default $nick_ and $nick__ will be used as fallbacks."
+msgstr "The nickname used. You can specify more than one nickname, separated by a space, which will be used as fall-back when the nickname was not available. By default $nick_ and $nick__ will be used as a fall-back."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
@@ -354,7 +348,8 @@ msgstr "_Interface"
 msgid "_Servers"
 msgstr "_Servers"
 
-#. This is a setting for character based line wrapping vs word based when showing messages
+#. This is a setting for character based line wrapping vs word based when
+#. showing messages
 #: ../glade/smuxi-frontend-gnome.glade.h:68
 msgid "_Wrap Mode:"
 msgstr "_Wrap Mode"
@@ -381,6 +376,10 @@ msgstr ""
 "MM = month\n"
 "yy/yyyy = year"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Ryan Smith-Evans <Kimera.Kimera at gmail.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "German"
@@ -621,12 +620,10 @@ msgstr "Topic"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:102
 msgid ""
-"Searching for group chats without a filter is not recommended.  This may "
-"take a while, or may not work at all.\n"
+"Searching for group chats without a filter is not recommended.  This may take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
-"Searching for group chats without a filter is not recommended.  This may "
-"take a while, or may not work at all.\n"
+"Searching for group chats without a filter is not recommended.  This may take a while, or may not work at all.\n"
 "Do you wish to continue?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
@@ -705,10 +702,8 @@ msgid "Thank you"
 msgstr "Thank You"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
-msgid ""
-"An engine with this name already exists! Please specify a different one."
-msgstr ""
-"An engine with this name already exists! Please specify a different one."
+msgid "An engine with this name already exists! Please specify a different one."
+msgstr "An engine with this name already exists! Please specify a different one."
 
 #: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
 #, csharp-format
@@ -819,14 +814,12 @@ msgid "_Protocol:"
 msgstr "_Protocol:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
 msgid "_On Connect Commands:"
-msgstr "On Connect Commands:"
+msgstr "_On Connect Commands:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
 msgid "_Ignore Commands"
-msgstr "On Connect Commands:"
+msgstr "_Ignore Commands"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
@@ -845,30 +838,20 @@ msgid "Use _SSH Tunnel"
 msgstr "Use _SSH Tunnel"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
-msgid ""
-"<span size=\"small\">Enables the use of SSH for the connection.  This has a "
-"small performance impact, but is more secure and required when using NAT or "
-"port-based firewalls</span>"
-msgstr ""
-"<span size=\"small\">Enables the use of SSH for the connection.  This has a "
-"small performance impact, but is more secure and required when using NAT or "
-"port-based firewalls</span>"
+msgid "<span size=\"small\">Enables the use of SSH for the connection.  This has a small performance impact, but is more secure and required when using NAT or port-based firewalls</span>"
+msgstr "<span size=\"small\">Enables the use of SSH for the connection.  This has a small performance impact, but is more secure and required when using NAT or port-based firewalls</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
 msgstr "SSH _Host:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr ""
-"<span size=\"small\">DNS or IP address and port of the SSH server</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
+msgstr "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
-msgstr ""
-"<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
+msgstr "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
@@ -879,34 +862,20 @@ msgid "_SSH Username: (optional)"
 msgstr "_SSH Username: (optional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
-msgid ""
-"<span size=\"small\">Username which will be used to log into the SSH server</"
-"span>"
-msgstr ""
-"<span size=\"small\">Username which will be used to log into the SSH server</"
-"span>"
+msgid "<span size=\"small\">Username which will be used to log into the SSH server</span>"
+msgstr "<span size=\"small\">Username which will be used to log into the SSH server</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
 msgstr "_SSH Password: (optional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
-msgid ""
-"<span size=\"small\">Password which will be used to log into the SSH server. "
-"The password is optional if SSH key authorization is used (via Pageant from "
-"the PuTTY tools).</span>"
-msgstr ""
-"<span size=\"small\">Password which will be used to log into the SSH server. "
-"The password is optional if SSH key authorization is used (via Pageant from "
-"the PuTTY tools).</span>"
+msgid "<span size=\"small\">Password which will be used to log into the SSH server. The password is optional if SSH key authorization is used (via Pageant from the PuTTY tools).</span>"
+msgstr "<span size=\"small\">Password which will be used to log into the SSH server. The password is optional if SSH key authorization is used (via Pageant from the PuTTY tools).</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
-msgid ""
-"<span size=\"small\">Username which will be used to log into the Smuxi "
-"server</span>"
-msgstr ""
-"<span size=\"small\">Username which will be used to log into the Smuxi "
-"server</span>"
+msgid "<span size=\"small\">Username which will be used to log into the Smuxi server</span>"
+msgstr "<span size=\"small\">Username which will be used to log into the Smuxi server</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
@@ -949,12 +918,8 @@ msgid "Use as new default engine"
 msgstr "Use as new default engine"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
-msgid ""
-"<span size=\"small\">If enabled, the current engine will be the default next "
-"time Smuxi is started</span>"
-msgstr ""
-"<span size=\"small\">If enabled, the current engine will be the default next "
-"time Smuxi is started</span>"
+msgid "<span size=\"small\">If enabled, the current engine will be the default next time Smuxi is started</span>"
+msgstr "<span size=\"small\">If enabled, the current engine will be the default next time Smuxi is started</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
diff --git a/po-Frontend-GNOME/es.po b/po-Frontend-GNOME/es.po
index 9ea2d3d..de1cbea 100644
--- a/po-Frontend-GNOME/es.po
+++ b/po-Frontend-GNOME/es.po
@@ -382,6 +382,10 @@ msgstr ""
 "MM = mes\n"
 "yy/yyyy = año"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Juan Miguel Carrero <streinleght at gmail.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Alemán"
diff --git a/po-Frontend-GNOME/es_AR.po b/po-Frontend-GNOME/es_AR.po
index 819ecbe..7a222b9 100644
--- a/po-Frontend-GNOME/es_AR.po
+++ b/po-Frontend-GNOME/es_AR.po
@@ -382,6 +382,10 @@ msgstr ""
 "MM = mes\n"
 "yy/yyyy = año"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Juan Miguel Carrero <streinleght at gmail.com>\nDamian Kleiman <osiservicios at fibertel.com.ar>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Alemán"
diff --git a/po-Frontend-GNOME/fr.po b/po-Frontend-GNOME/fr.po
index 6775e75..3592bce 100644
--- a/po-Frontend-GNOME/fr.po
+++ b/po-Frontend-GNOME/fr.po
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi 0.6.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2010-01-02 20:54+0100\n"
-"Last-Translator: Clement BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-15 22:26+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: French Localization <debian-l10n-french at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -63,41 +63,32 @@ msgid "<b> Topic Position </b>"
 msgstr "<b> Position du sujet </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Filtres de canaux</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Filtres d'utilisateurs</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Activité"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
 msgstr "Se connecter automatiquement au serveur à chaque démarrage"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Arrière plan"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Complétion style Bash"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
 msgstr "Émettre un son en cas de surlignage"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -105,81 +96,85 @@ msgstr "Émettre un son en cas de surlignage"
 msgid "Bottom"
 msgstr "Bas"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Lignes du tampon :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "C_onnexion"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Caractère des commandes :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Taille de l'historique des commandes :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Caractère de complétion :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Activer"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Activé"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Encodage :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
 msgstr "Lignes du tampon moteur"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "Texte"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "Général"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Surligner"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Mots surlignés :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Nom d'hôte"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Entrée"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Join/Part/Mode"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -187,6 +182,10 @@ msgstr "Join/Part/Mode"
 msgid "Left"
 msgstr "Gauche"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Journaliser les messages filtrés"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Réseau :"
@@ -266,7 +265,7 @@ msgid "Right"
 msgstr "Droite"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Afficher le mot de passe"
 
@@ -288,6 +287,7 @@ msgid "Smuxi - Preferences"
 msgstr "Smuxi - Préférences"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Serveur"
 
@@ -343,7 +343,7 @@ msgid "Username:"
 msgstr "Nom d'utilisateur :"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filtres"
 
@@ -353,16 +353,20 @@ msgid "_Interface"
 msgstr "_Interface"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Journalisation"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Serveurs"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "Mode _circulaire :"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -384,6 +388,10 @@ msgstr ""
 "MM = mois\n"
 "yy/yyyy = année"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Clément Bourgeois <moonpyk at gmail.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Allemand"
@@ -408,18 +416,22 @@ msgstr "Italien"
 msgid "Smuxi Website"
 msgstr "Site web de Smuxi"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
 msgstr "OoOps, boulette..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
 msgstr "Smuxi a planté en raison de la levée d'une exception non gérée !"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
 msgstr "Voici la pile d'appels, envoyez le rapport de bug s'il-vous-plaît ! "
 
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Rapporter un bogue"
+
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
 msgstr "Gestionnaire de moteurs"
@@ -442,7 +454,7 @@ msgstr "Moteur :"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Moteur local"
 
@@ -450,28 +462,28 @@ msgstr "Moteur local"
 msgid "Please select an engine!"
 msgstr "Sélectionnez un moteur s'il vous plaît !"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
 msgstr ""
 "Votre version de l'interface utilisateur ({0}) ne correspond pas à celle du "
 "moteur ({1}) !"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
 msgstr "Une erreur est survenue durant la connexion au moteur !"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "URL du moteur : {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Erreur : {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Êtes vous sûr(e) de vouloir supprimer le moteur \"{0}\" ?"
@@ -485,89 +497,89 @@ msgstr ""
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
 msgstr "Commandes Frontend"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_Fichier"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Serveur"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
 msgstr "_Connexion rapide"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "_Gestion"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Discussion"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Ouvrir / Rejoindre chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
 msgstr "_Rechercher le groupe de discussion"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "_Supprimer toute activité"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
 msgstr "Discussion _suivante"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
 msgstr "Discussion _précédente"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Moteur"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Utiliser le moteur local"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "_Ajouter un moteur distant"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "_Changer de moteur distant"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Vue"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
 msgstr "Mode _curseur"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "_Aide"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
 msgstr "Impossible d'ajouter le serveur :"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
 msgstr "ChatType inconnu : {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -576,7 +588,7 @@ msgstr ""
 "actuel !\n"
 "Êtes vous sûr(e) de vouloir continuer ?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -590,37 +602,51 @@ msgid "Sorry, not implemented yet!"
 msgstr "Désolé, fonctionnalité pas encore implémentée !"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Caractère"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Mot"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Connexion"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Interface"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Serveurs"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtres"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "_Journalisation"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "Défaut du système"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Le champ surnom(s) ne doit pas être vide."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Expression régulière de surlignage invalide '{0}'. Raison : {1} "
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Nom"
 
@@ -641,12 +667,12 @@ msgstr ""
 "Erreur durant la récupération de la liste des groupes de discussion du "
 "serveur."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Cause : {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -662,7 +688,7 @@ msgstr ""
 "La reconnexion au serveur a échoué.\n"
 "Voulez-vous vous reconnecter maintenant ?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -671,6 +697,7 @@ msgstr ""
 "Voulez-vous vous reconnecter maintenant ?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protocole"
@@ -680,11 +707,17 @@ msgstr "Protocole"
 msgid "Hostname"
 msgstr "Nom d'hôte"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Impossible de charger le serveur :"
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Personne / Privé"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Groupe / Public"
 
@@ -717,11 +750,45 @@ msgid ""
 "An engine with this name already exists! Please specify a different one."
 msgstr "Un moteur avec ce nom éxiste deja ! Veuillez en spécifier un autre."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Jour changé à {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Expression régulière de filtrage invalide '{0}'. Raison : {1} "
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Êtes vous sûr(e) de vouloir supprimer le filtre sélectionné ?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protocole / Serveur"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Type de chat"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Evenement"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Type :"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Motif"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -732,11 +799,11 @@ msgstr "Téléchargement de la liste des utilisateurs pour {0}..."
 msgid "done."
 msgstr "terminé."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
 msgstr "Personne"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
@@ -745,26 +812,15 @@ msgstr ""
 "connectées sur celui-ci !\n"
 "Êtes vous sûr(e) de vouloir continuer ?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Motif"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Joins"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Parts"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Quits"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
 msgstr "Êtes vous sûr(e) de vouloir supprimer le serveur sélectionné ?"
 
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Impossible d'editer le serveur :"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
 msgstr "Rechercher"
@@ -798,44 +854,10 @@ msgstr "Smuxi - Trouver un groupe de discussion"
 msgid "_Name:"
 msgstr "_Nom :"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Connexion rapide"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Port"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "_Nom d'hôte :"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Nom d'utilisateur :"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "Mot de _passe :"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "_Protocole :"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Commandes de connexion :"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Commandes de connexion :"
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Surnoms :"
@@ -848,6 +870,14 @@ msgstr "<b> Position de la liste d'utilisateurs </b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Canal </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Filtres de canaux</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Filtres d'utilisateurs</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
 msgstr "Utiliser un tunnel _SSH"
@@ -872,6 +902,12 @@ msgid ""
 "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
 msgstr "<span size=\"small\">Adresse IP ou DNS et port du serveur SSH</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
@@ -907,6 +943,11 @@ msgstr ""
 "Le mot de passe est optionnel si un mécanisme d'autorisation par clé SSH est "
 "utilisé (via Pageant de la suite d'outils PuTTY).</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Nom d'utilisateur :"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid ""
 "<span size=\"small\">Username which will be used to log into the Smuxi "
@@ -915,6 +956,11 @@ msgstr ""
 "<span size=\"small\">Nom d'utilisateur qui sera utilisé pour "
 "l'enregistrement auprès du moteur Smuxi</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "Mot de _passe :"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
 msgstr "<span size=\"small\">Mot de passe de l'utilisateur</span>"
@@ -973,6 +1019,35 @@ msgstr "Smuxi - Ouvrir un chat"
 msgid "_Type:"
 msgstr "_Type :"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Réseau :"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Nom d'hôte :"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protocole :"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "Commandes de _connexion :"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "_Ignorer les commandes"
+
+#~ msgid "Joins"
+#~ msgstr "Joins"
+
+#~ msgid "Parts"
+#~ msgstr "Parts"
+
+#~ msgid "Quits"
+#~ msgstr "Quits"
+
 #~ msgid "Unknown Command: {0}"
 #~ msgstr "Commande inconnue : {0}"
 
@@ -1051,6 +1126,3 @@ msgstr "_Type :"
 
 #~ msgid "Tray"
 #~ msgstr "Barre des tâches"
-
-#~ msgid "Filters"
-#~ msgstr "Filtres"
diff --git a/po-Frontend-GNOME/it.po b/po-Frontend-GNOME/it.po
index d15d7e0..9a94136 100644
--- a/po-Frontend-GNOME/it.po
+++ b/po-Frontend-GNOME/it.po
@@ -1,17 +1,18 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # David Paleino <d.paleino at gmail.com>, 2008.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend-gnome\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2009-12-30 19:03+0100\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-15 13:26+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -63,42 +64,33 @@ msgid "<b> Topic Position </b>"
 msgstr "<b> Posizione dell'argomento </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Filtri dei canali</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Filtri dell'utente</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Attività"
 
 #
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
 msgstr "Connessione automatica al server all'avvio"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Sfondo"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Completamento in stile bash"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
 msgstr "Avviso acustico sull'evidenziazione"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -106,81 +98,85 @@ msgstr "Avviso acustico sull'evidenziazione"
 msgid "Bottom"
 msgstr "Giù"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Righe di buffer:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "C_onnessione"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Carattere di comando:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Dimensione della cronologia dei comandi:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Carattere di completamento:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Abilita"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Codifica:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
 msgstr "Righe di buffer del motore:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "In primo piano"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "Generale"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Evidenziazione"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Evidenzia parole:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Nome dell'host:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Input"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Entra/Esci/Modo"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -188,6 +184,10 @@ msgstr "Entra/Esci/Modo"
 msgid "Left"
 msgstr "Sinistra"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Messaggi di registro filtrati"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Rete:"
@@ -267,7 +267,7 @@ msgid "Right"
 msgstr "Destra"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Mostra la password"
 
@@ -281,7 +281,7 @@ msgstr "Mostra quando la finestra viene chiusa"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:53
 msgid "Show when window is minimized"
-msgstr "Chiudi quando la finestra viene minimizzata"
+msgstr "Mostra quando la finestra viene minimizzata"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:54
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:406
@@ -289,6 +289,7 @@ msgid "Smuxi - Preferences"
 msgstr "Preferenze di Smuxi"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Server di Smuxi"
 
@@ -345,7 +346,7 @@ msgid "Username:"
 msgstr "Nome utente:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filtri"
 
@@ -355,17 +356,21 @@ msgid "_Interface"
 msgstr "_Interfaccia"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Registro"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Server"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "_Modalità a capo automatico:"
 
 #
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -387,6 +392,10 @@ msgstr ""
 "MM = mese\n"
 "yy/yyyy = anno"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "David Paleino <d.paleino at gmail.com>\nVincenzo Campanella <vinz65 at gmail.com>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "Tedesco"
@@ -411,17 +420,21 @@ msgstr "Italiano"
 msgid "Smuxi Website"
 msgstr "Sito web di Smuxi"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
-msgstr "Oops, l'ho fatto ancora..."
+msgstr "Oops, l'ho fatto ancora."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
 msgstr "Smuxi si è bloccato perché è avvenuta un'eccezione non gestita."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
-msgstr "Ecco lo stacktrace. Per favore, segnala questo bug."
+msgstr "Ecco lo stacktrace. Per favore, segnalare questo bug."
+
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Segnala bug"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
@@ -446,7 +459,7 @@ msgstr "Motore:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Motore locale"
 
@@ -454,28 +467,28 @@ msgstr "Motore locale"
 msgid "Please select an engine!"
 msgstr "Scegliere un motore."
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
 msgstr ""
 "La versione dell'interfaccia in uso ({0}) non corrisponde a quella del "
 "motore ({1})."
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
 msgstr "Errore durante la connessione al motore."
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "URL del motore: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Errore: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Si è sicuri di voler eliminare il motore «{0}»?"
@@ -488,89 +501,89 @@ msgstr "Si stanno per incollare {0} righe. Continuare?"
 #
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
 msgstr "Comandi dell'interfaccia"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_File"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Server"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
-msgstr "_Connessione Rapida"
+msgstr "C_onnessione Rapida"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "_Gestisci"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Apri / Partecipa alla chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
 msgstr "_Trova il gruppo chat"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "Cance_lla tutte le attività"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
 msgstr "Chat segue_nte"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
 msgstr "Chat p_recedente"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Motore"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Utilizza il motore locale"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "_Aggiungi motore remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "_Cambia motore remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Visualizza"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
 msgstr "_Modalità cursore"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "A_iuto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
 msgstr "Impossibile aggiungere il server: "
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
 msgstr "Tipo di chat sconosciuto: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -579,7 +592,7 @@ msgstr ""
 "attuale.\n"
 "Si è sicuri di volerlo fare?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -593,37 +606,51 @@ msgid "Sorry, not implemented yet!"
 msgstr "Spiacente, non ancora implementato."
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Carattere"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Parola"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Connessione"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Interfaccia"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Server"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtri"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Registri"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "Predefinito dal sistema"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Il campo soprannomi non deve essere vuoto."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Espressione regolare di evidenziazione non valida: «{0}». Motivo: «{1}»."
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Nome"
 
@@ -645,13 +672,13 @@ msgstr ""
 msgid "Error while fetching the list of group chats from the server."
 msgstr "Errore durante il recupero dell'elenco dei gruppi di chat dal server."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Causa: {0}"
 
 #
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -661,16 +688,15 @@ msgstr ""
 
 #
 #: ../src/Frontend-GNOME/Frontend.cs:479
-#, fuzzy
 msgid ""
 "Reconnecting to the server has failed.\n"
 "Do you want to try again?"
 msgstr ""
-"L'interfaccia ha perso la connessione al server.\n"
-"Riconnettersi ora?"
+"La riconnessione al server non è riuscita.\n"
+"Riprovare?"
 
 #
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -679,6 +705,7 @@ msgstr ""
 "Riconnettersi ora?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protocollo"
@@ -688,11 +715,17 @@ msgstr "Protocollo"
 msgid "Hostname"
 msgstr "Nome dell'host"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Impossibile caricare il server: "
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Persona / Privato"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Gruppo / Pubblico"
 
@@ -724,13 +757,47 @@ msgstr "Grazie"
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
 msgid ""
 "An engine with this name already exists! Please specify a different one."
-msgstr ""
+msgstr "Un motore con questo nome esiste già. Specificarne un altro."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Giorno modificato in {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Espressione regolare del filtro non valida: «{0}». Motivo: »{1}»."
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Si è sicuri di voler eliminare il filtro selezionato?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protocollo / Server"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Tipo di chat"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normale"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Evento"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Tipo"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Modello"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -742,11 +809,11 @@ msgstr "Recupero dell'elenco degli utenti per {0} in corso"
 msgid "done."
 msgstr "eseguito."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
 msgstr "Persona"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
@@ -755,26 +822,15 @@ msgstr ""
 "essa collegate.\n"
 "Si è sicuri di volerlo fare?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Modello"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Ingressi"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Uscite"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Disconnessioni"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
 msgstr "Si è sicuri di voler eliminare il server selezionato?"
 
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Impossibile modificare il server: "
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
 msgstr "Trova"
@@ -808,44 +864,10 @@ msgstr "Smuxi - Trova chat di gruppo"
 msgid "_Name:"
 msgstr "_Nome:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Connessione rapida"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Porta:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "Nome dell'_host:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "Nome _utente:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "_Password:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "_Protocollo:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Comandi alla connessione:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Comandi alla connessione:"
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Soprannomi:"
@@ -858,6 +880,14 @@ msgstr "<b> Posizione dell'elenco degli utenti </b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Canale </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Filtri del canale</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Filtri dell'utente</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
 msgstr "Usa tunnel _SSH"
@@ -881,6 +911,12 @@ msgid ""
 "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
 msgstr "<span size=\"small\">DNS o indirizzo IP e porta del server SSH</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Porta:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
@@ -917,6 +953,11 @@ msgstr ""
 "SSH. La password è facoltativa se viene utilizzata una chiave di "
 "autorizzazione SSH (tramite Pageant dagli strumenti di PuTTY).</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "Nome _utente:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid ""
 "<span size=\"small\">Username which will be used to log into the Smuxi "
@@ -925,6 +966,11 @@ msgstr ""
 "<span size=\"small\">Nome utente che verrà utilizzato per accedere al server "
 "Smuxi</span>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Password:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
 msgstr "<span size=\"small\"Password dell'utente</span>"
@@ -945,7 +991,7 @@ msgid ""
 "\n"
 "Click \"Forward\" to begin."
 msgstr ""
-"Benvenuto nell'assistente di configurazione del motore di Smuxi.\n"
+"Benvenuti nell'assistente di configurazione del motore di Smuxi.\n"
 "Sarà necessario inserire alcune informazioni prima di poter usare il "
 "motore.\n"
 "\n"
@@ -987,5 +1033,34 @@ msgstr "Smuxi - Apri chat"
 msgid "_Type:"
 msgstr "_Tipo:"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Rete:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "Nome dell'_host:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protocollo:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "_Comandi alla connessione:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "_Ignora comandi"
+
+#~ msgid "Joins"
+#~ msgstr "Ingressi"
+
+#~ msgid "Parts"
+#~ msgstr "Uscite"
+
+#~ msgid "Quits"
+#~ msgstr "Disconnessioni"
+
 #~ msgid "Unknown Command: {0}"
 #~ msgstr "Comando sconosciuto: {0}"
diff --git a/po-Frontend-GNOME/es.po b/po-Frontend-GNOME/pt.po
similarity index 63%
copy from po-Frontend-GNOME/es.po
copy to po-Frontend-GNOME/pt.po
index 9ea2d3d..dc11158 100644
--- a/po-Frontend-GNOME/es.po
+++ b/po-Frontend-GNOME/pt.po
@@ -1,28 +1,30 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Juan Miguel Carrero <streinleght at gmail.com>, 2008-2009.
+# Translation of smuxi-frontend-gnome messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-frontend-gnome package.
 #
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: 0.6.2\n"
+"Project-Id-Version: smuxi-frontend-gnome \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2009-08-12 16:47+0100\n"
-"Last-Translator: Juan Miguel Carrero <streinleght at gmail.com>\n"
-"Language-Team: Spanish Spanish Localization <debian-l10n-spanish at lists."
-"debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-15 02:31+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:1
 msgid "<b> Chat </b>"
-msgstr "<b> Chat </b>"
+msgstr "<b> Conversar </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:2
 msgid "<b> Color </b>"
-msgstr "<b> Color </b>"
+msgstr "<b> Cor </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:3
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1372
@@ -31,179 +33,177 @@ msgstr "<b> Campo de Entrada </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:4
 msgid "<b> Font </b>"
-msgstr "<b> Fuente </b>"
+msgstr "<b> Tipo de Letra </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:5
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1702
 msgid "<b> Highlighting </b>"
-msgstr "<b> Resaltar </b>"
+msgstr "<b> Destaque </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:6
 msgid "<b> Notification Area Icon </b>"
-msgstr "<b> Icono de Área de Notificación </b>"
+msgstr "<b> Ícone da Área de Notificação </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:7
 msgid "<b> Person List Position </b>"
-msgstr "<b> Posición Lista de Personas </b>"
+msgstr "<b> Posição da Lista de Pessoas </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:8
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1209
 msgid "<b> Tab Colors </b>"
-msgstr "<b> Colores de pestañas </b>"
+msgstr "<b> Cores do Separador </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:9
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1110
 msgid "<b> Tabs Position </b>"
-msgstr "<b> Posicion de pestañas </b>"
+msgstr "<b> Posição dos Separadores </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:10
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1515
 msgid "<b> Topic Position </b>"
-msgstr "<b> Posicion del topic </b>"
+msgstr "<b> Posição do Tópico </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Filtro de canales</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Filtro de usuarios</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
-msgstr "Actividad"
+msgstr "Actividade"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
-#, fuzzy
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
-msgstr "Conectar automaticamente al servidor al iniciar"
+msgstr "Ligar automaticamente ao servidor no inicio"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
-msgstr "Fondo"
+msgstr "Fundo"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
-msgstr "Autocompletado  Bash"
+msgstr "Acabamento ao Estilo Bash"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
-msgstr "Beep al resaltar"
+msgstr "Apitar no destaque"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1486
 msgid "Bottom"
-msgstr "Abajo"
+msgstr "Fundo"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
-msgstr "Lineas de buffer:"
+msgstr "Linhas do Buffer:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
-msgstr "C_onexión"
+msgstr "Ligaçã_o"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
-msgstr "Carácter de Comandos:"
+msgstr "Caractere de Comandos:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
-msgstr "Tamaño Historial de Comandos:"
+msgstr "Tamanho do Histórico de Comandos:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
-msgstr "Carácter de Auto-Completar"
+msgstr "Caractere de Acabamento:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
-msgstr "Habilitar"
+msgstr "Activar"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Activo"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
-msgstr "Codificación:"
+msgstr "Codificar:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
-msgstr "Lineas de buffer del motor"
+msgstr "Linhas do Buffer do Motor:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
-msgstr "Prioridad"
+msgstr "Primeiro plano"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
-msgstr "General"
+msgstr "Geral"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
-msgstr "Resaltar"
+msgstr "Destacar"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
-msgstr "Palabras resaltadas:"
+msgstr "Destacar palavras:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
-msgstr "Nombre del Host:"
+msgstr "Nome da máquina:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Entrada"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
-msgstr "Entrar/Salir/Modo"
+msgstr "Juntar/Parte/Modo"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1561
 msgid "Left"
-msgstr "Izquierda"
+msgstr "Esquerda"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Registar Mensagens Filtradas"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
-msgstr "Redes:"
+msgstr "Rede:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:36
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1402
 msgid "Nick Colors"
-msgstr "Colores del Nick"
+msgstr "Cores da Alcunha"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:37
 msgid "Nickname(s):"
-msgstr "Nick(s):"
+msgstr "Alcunha(s):"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:38
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1153
 msgid "No Activity"
-msgstr "Sin Actividad"
+msgstr "Nenhuma Actividade"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
@@ -213,38 +213,38 @@ msgstr "Sin Actividad"
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1501
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1616
 msgid "None"
-msgstr "Ninguno"
+msgstr "Nenhum"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:40
 msgid "Notification"
-msgstr "Notificación"
+msgstr "Notificação"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:41
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:581
 msgid "On Connect Commands:"
-msgstr "Comandos al conectar:"
+msgstr "Comandos Ao Ligar:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:42
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:627
 msgid "On Startup Commands:"
-msgstr "Comandos al arrancar:"
+msgstr "Comandos Ao Arrancar:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:43
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1714
 msgid "Output"
-msgstr "Salida"
+msgstr "Saída"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:44
 msgid "Override"
-msgstr "Anular"
+msgstr "Sobrepor"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:45
 msgid "Password:"
-msgstr "Contraseña:"
+msgstr "Palavra-passe:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:46
 msgid "Port:"
-msgstr "Puerto:"
+msgstr "Porto:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:47
 msgid "Protocol:"
@@ -253,7 +253,7 @@ msgstr "Protocolo:"
 #: ../glade/smuxi-frontend-gnome.glade.h:48
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:538
 msgid "Realname:"
-msgstr "Nombre Real:"
+msgstr "Nome Real:"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
@@ -263,66 +263,69 @@ msgstr "Nombre Real:"
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1576
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1601
 msgid "Right"
-msgstr "Derecha"
+msgstr "Direita"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
-msgstr "Mostrar Contraseña:"
+msgstr "Mostrar a palavra-passe"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:51
 msgid "Show always"
-msgstr "Mostrar siempre"
+msgstr "Mostrar sempre"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:52
 msgid "Show when window is closed"
-msgstr "Mostrar cuando la ventana se cierra"
+msgstr "Mostrar quando a janela é fechada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:53
 msgid "Show when window is minimized"
-msgstr "Mostrar cuando la ventana se minimiza"
+msgstr "Mostrar quando a janela é minimizada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:54
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:406
 msgid "Smuxi - Preferences"
-msgstr "Smuxi - Preferencias"
+msgstr "Smuxi - Preferências"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Servidor"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:56
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:828
 msgid "Strip Colors"
-msgstr "Ocultar Colores"
+msgstr "Despojar Cores"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:57
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:867
 msgid "Strip Formattings"
-msgstr "Ocultar Formatos"
+msgstr "Despojar Formatações"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:58
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:907
 msgid "Strip UTF-8"
-msgstr "Ocultar UTF-8"
+msgstr "Despojar UTF-8"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:59
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1222
 msgid "Tabs"
-msgstr "Pestañas"
+msgstr "Separadores"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
-#, fuzzy
 msgid ""
 "The nickname to use. You can specify extra nicknames (separated by spaces) "
 "which will be used as fallbacks when the first choice is not available. By "
 "default $nick_ and $nick__ will be used as fallbacks."
-msgstr "El apodo "
+msgstr ""
+"A alcunha a usar. Você pode especificar alcunhas extra (separadas por "
+"espaços) que serão usadas como apoios quando a primeira escolha não está "
+"disponível. Por predefinição $alcunha_ e $alcunha__ serão usadas como apoios."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
 msgid "Timestamp Format:"
-msgstr "Formato de Marca de Tiempo:"
+msgstr "Formato de Marcas Temporais:"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
@@ -332,35 +335,38 @@ msgstr "Formato de Marca de Tiempo:"
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1420
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1446
 msgid "Top"
-msgstr "Arriba"
+msgstr "Topo"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:63
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:515
 msgid "Username:"
-msgstr "Usuario:"
+msgstr "Nome de utilizador:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filtros"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:65
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1723
 msgid "_Interface"
-msgstr "_Interfaz"
+msgstr "_Interface"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "Registo em _Log"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Servidores"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
-msgstr "_Modo Caret"
+msgstr "Modo de _Wrap:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
-#, fuzzy
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -374,29 +380,33 @@ msgid ""
 msgstr ""
 "ss = segundos\n"
 "mm = minutos\n"
-"hh = hora (1 - 12)\n"
-"HH = hora (0 - 23)\n"
+"hh = horas (01 - 12)\n"
+"HH = horas (00 - 23)\n"
 "tt = AM/PM\n"
 "\n"
-"dd = día\n"
-"MM = mes\n"
-"yy/yyyy = año"
+"dd = dia\n"
+"MM = mês\n"
+"yy/yyyy = ano"
+
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Américo Monteiro <a_monteiro at netcabo.pt>"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
-msgstr "Alemán"
+msgstr "Alemão"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:48
 msgid "Spanish"
-msgstr "Español"
+msgstr "Espanhol"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:49
 msgid "British English"
-msgstr "Inglés Británico"
+msgstr "Inglês Britânico"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:50
 msgid "French"
-msgstr "Francés"
+msgstr "Francês"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:51
 msgid "Italian"
@@ -404,36 +414,39 @@ msgstr "Italiano"
 
 #: ../src/Frontend-GNOME/AboutDialog.cs:54
 msgid "Smuxi Website"
-msgstr "Web de Smuxi"
+msgstr "Site web do Smuxi"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
-msgstr "Opps, lo hice de nuevo..."
+msgstr "Oops, já o fiz outra vez..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
-msgstr "Smuxi ha fallado porque una excepción incontrolada ocurrió! "
+msgstr "Smuxi crashou porque uma excepção não prevista foi lançada!"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
-msgstr "Aquí esta el stacktrace , por favor reporta este fallo!"
+msgstr "Aqui está informação de depuração, por favor reporte este bug!"
+
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Reportar um Bug"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
-msgstr "Gestor de Motor"
+msgstr "Gestor do Motor"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:68
 msgid "_Connect"
-msgstr "_Conectar"
+msgstr "_Ligar"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:78
 msgid "_Edit"
 msgstr "_Editar"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:90
-#, fuzzy
 msgid "Select which Smuxi engine you want to connect to"
-msgstr "Elegir motor con el cual deseas que Smuxi conecte"
+msgstr "Seleccionar a qual motor Smuxi deseja ligar-se"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:96
 msgid "Engine:"
@@ -441,188 +454,199 @@ msgstr "Motor:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
-msgstr "Motor Local:"
+msgstr "Motor Local"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:174
 msgid "Please select an engine!"
-msgstr "Seleccione un motor por favor!"
+msgstr "Por favor seleccione um motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
-#, fuzzy, csharp-format
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
+#, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
-msgstr ""
-"La version de tu frontend ({0}) no corresponde a la version del motor ({1})!"
+msgstr "A sua versão de frontend {0} não equivale à versão do motor ({1})!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
-#, fuzzy
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
-msgstr "Se ha producido un error al conectar al motor!"
+msgstr "Ocorreu um erro ao ligar ao motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
-msgstr "Dirección Motor: {0}"
+msgstr "URL do Motor: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
-msgstr "Error: {0}"
+msgstr "Erro: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
-msgstr "Estas seguro de que quieres borrar el motor \"{0}\"?"
+msgstr "Tem certeza que deseja apagar o motor \"{0}\"?"
 
 #: ../src/Frontend-GNOME/Entry.cs:403
-#, fuzzy, csharp-format
+#, csharp-format
 msgid "You are going to paste {0} lines. Do you want to continue?"
-msgstr "Vas a pegar {0} líneas , quieres continuar?"
+msgstr "Você vai colar {0} linhas. Deseja continuar?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
-#, fuzzy
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
-msgstr "[Comandos Frontend]"
+msgstr "Comandos do Frontend"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
-msgstr "_Fichero"
+msgstr "_Ficheiro"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Servidor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
-msgstr "Conexión _Rapida"
+msgstr "Ligação _Rápida"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
-msgstr "_Administrar"
+msgstr "_Gerir"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
-msgstr "_Chat"
+msgstr "_Conversação"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
-msgstr "Abrir / Unirse a Chat"
+msgstr "Abrir / Juntar a Conversa"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
-msgstr "_Encontrar Salas Chat"
+msgstr "_Procurar Grupo de Conversação"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
-msgstr "Eliminar Toda Actividad"
+msgstr "_Limpar Toda a Actividade"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
-msgstr "_Siguiente Chat"
+msgstr "_Próxima Conversa"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
-msgstr "_Chat Anterior"
+msgstr "Conversa An_terior"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Usar Motor Local"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
-msgstr "_Añadir Motor Remoto"
+msgstr "_Adicionar Motor Remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
-msgstr "_Cambiar Motor Remoto"
+msgstr "_Trocar Motor Remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Ver"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
-msgstr "_Modo Caret"
+msgstr "Modo _Caret"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
-msgstr "_Ayuda"
+msgstr "_Ajuda"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
-msgstr "Imposible añadir el servidor: "
+msgstr "Incapaz de adicionar servidor: "
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
-msgstr "Comando desconocido: {0}"
+msgstr "Tipo de Conversação Desconhecida: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Cambiar al motor local te desconectará del engine actual!\n"
-"¿Estás seguro de que quieres hacer ésto?"
+"Mudar para o motor local irá desligá-lo do motor actual!\n"
+"Tem certeza que deseja fazer isto?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Cambiar al motor remoto te desconectará del engine actual!\n"
-"¿Estás seguro de que quieres hacer ésto?"
+"Mudar o motor remoto irá desligá-lo do motor actual!\n"
+"Tem certeza que deseja fazer isto?"
 
 #: ../src/Frontend-GNOME/NotImplementedMessageDialog.cs:40
 msgid "Sorry, not implemented yet!"
-msgstr "Lo siento , no está aún implementado!"
+msgstr "Desculpe, ainda não implementado!"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
-msgstr "Carácter de Comandos:"
+msgstr "Caractere"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
-msgstr "Palabra"
+msgstr "Palavra"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
-msgstr "Conexión"
+msgstr "Ligação"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
-msgstr "Interfaz"
+msgstr "Interface"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Servidores"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filtros"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Registar em log"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
-msgstr "Sistema por defecto"
+msgstr "Predefinição do Sistema"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
-msgstr "El campo Nick(s) no debe estar vacío."
+msgstr "O campo da(s) alcunha(s) não pode estar vazio."
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Destaque regex inválido: '{0}'. Razão: {1}"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:74
 msgid "Topic"
-msgstr "Topic"
+msgstr "Tópico"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:102
 msgid ""
@@ -630,48 +654,45 @@ msgid ""
 "take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
-"Buscar un grupo de canales sin filtrar no se recomienda.  Esto puede tardar "
-"un rato, o puede no funcionar.\n"
-"¿Desea continuar?"
+"Não é recomendado procurar por grupos de conversação sem um filtro. Isto "
+"pode demorar imenso, ou nem funcionar de todo.\n"
+"Deseja continuar?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
 msgid "Error while fetching the list of group chats from the server."
-msgstr ""
-"Se ha producido un error mientras se descargaba la lista salas del servidor."
+msgstr "Erro ao obter a lista de grupos de conversação a partir do servidor."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
-msgstr "Motivo: {0}"
+msgstr "Causa: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
-#, fuzzy
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
 msgstr ""
-"El servidor ha perdido la conexión con el frontend.\n"
-"¿Desea reconectar ahora?"
+"O frontend perdeu a ligação ao servidor.\n"
+"Deseja re-ligar agora?"
 
 #: ../src/Frontend-GNOME/Frontend.cs:479
-#, fuzzy
 msgid ""
 "Reconnecting to the server has failed.\n"
 "Do you want to try again?"
 msgstr ""
-"El servidor ha perdido la conexión con el frontend.\n"
-"¿Desea reconectar ahora?"
+"A re-ligação ao servidor falhou.\n"
+"Deseja tentar de novo?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
-#, fuzzy
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
 msgstr ""
-"El servidor ha perdido la conexión con el frontend.\n"
-" ¿Quieres reconectar ahora?"
+"O servidor perdeu a ligação ao frontend.\n"
+"Deseja re-ligar agora?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protocolo"
@@ -679,184 +700,183 @@ msgstr "Protocolo"
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:63
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:71
 msgid "Hostname"
-msgstr "Nombre del Host"
+msgstr "Nome da máquina"
+
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Incapaz de carregar servidor: "
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
-msgstr "Persona / Privado"
+msgstr "Pessoal / Privado"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Grupo / Público"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:70
 msgid "Engine Assistant - Smuxi"
-msgstr "Smuxi - Asistente de Motores"
+msgstr "Assistente de Motores - Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:92
 msgid "Add Smuxi Engine"
-msgstr "Añadir Motor  a Smuxi"
+msgstr "Adicionar Motor Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:94
 msgid "Edit Smuxi Engine"
-msgstr "Editar Motor de Smuxi"
+msgstr "Editar Motor Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:203
 msgid "Credentials"
-msgstr "Credenciales"
+msgstr "Credenciais"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:265
 msgid "Now you can use the Smuxi Engine"
-msgstr "Ya puedes usar el Motor Smuxi"
+msgstr "Agora você pode usar o motor Smuxi"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:268
 msgid "Thank you"
-msgstr "Gracias"
+msgstr "Obrigado"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
 msgid ""
 "An engine with this name already exists! Please specify a different one."
 msgstr ""
+"Já existe um engenho com este nome! Por favor especifique num nome diferente."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
-msgstr "El día ha cambiado a {0}"
+msgstr "Dia alterado para {0}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Filtro regex inválido: '{0}'. Razão: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Tem certeza que deseja apagar o filtro seleccionado?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protocolo / Servidor"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Tipo de Conversação"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Evento"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Tipo"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Padrão"
 
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
-msgstr ""
+msgstr "A obter lista de utilizadores para {0}..."
 
 #. TRANSLATOR: this string will be appended to the one above
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:286
-#, fuzzy
 msgid "done."
-msgstr "hecho."
+msgstr "feito."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
-msgstr "Persona"
+msgstr "Pessoa"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Cerrar el protocolo también cerrará todos los canales abiertos que estés "
-"conectado!\n"
-"¿Estás seguro de querer hacer ésto?"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Patrón"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Entradas"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Salidas"
+"Fechar o protocolo de conversa irá também fechar todas as conversações "
+"abertas ligadas a ele!\n"
+"Tem certeza que deseja fazer isto?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Cierres"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
-msgstr "¿Estás seguro de que quieres borrar el servidor seleccionado?"
+msgstr "Tem certeza que deseja apagar o servidor seleccionado?"
+
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Incapaz de editar o servidor: "
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
-msgstr "Buscar"
+msgstr "Procurar"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:62
 msgid "_Search for:"
-msgstr "_Buscar:"
+msgstr "_Procurar por:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:91
-#, fuzzy
 msgid "_Match Case"
-msgstr "_Coincidir mayúsculas y minúsculas"
+msgstr "Caso de _Equivalência"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:103
-#, fuzzy
 msgid "Search _Backwards"
-msgstr "Buscar _anterior"
+msgstr "Procurar para _Trás"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:115
-#, fuzzy
 msgid "_Wrap Around"
-msgstr "_Volver Caret"
+msgstr "_Wrap em Volta"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:128
 msgid "Use _Regular Expressions"
-msgstr "Usar _Expresion Regular"
+msgstr "Usar Expressões _Regulares"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:40
 msgid "Smuxi - Find Group Chat"
-msgstr "Smuxi- Buscar Grupos de Chat"
+msgstr "Smuxi - Procurar Grupo de Conversação"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FindGroupChatDialog.cs:64
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:87
 msgid "_Name:"
-msgstr "_Nombre:"
+msgstr "_Nome:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
-msgstr "Smuxi - Conexión Rápida"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Puerto"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "Nombre del _Host:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Usuario:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "_Contraseña:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "_Protocolo:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Comandos al conectar:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Comandos al conectar:"
+msgstr "Smuxi - Ligação Rápida"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
-msgstr "Nicks:"
+msgstr "Alcunhas:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1630
 msgid "<b> User List Position </b>"
-msgstr "<b> Posición Lista de Usuarios </b>"
+msgstr "<b> Posição da Lista de Utilizadores </b>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1641
 msgid "<b> Channel </b>"
 msgstr "<b> Canal </b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Filtros de Canais</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Filtros de Utilizadores</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
-#, fuzzy
 msgid "Use _SSH Tunnel"
-msgstr "Usar Tunel _SSH"
+msgstr "Usar Túnel _SSH"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
 msgid ""
@@ -864,45 +884,50 @@ msgid ""
 "small performance impact, but is more secure and required when using NAT or "
 "port-based firewalls</span>"
 msgstr ""
-"<span size=\"small\">Permite el uso de SSH para la conexión. Esto conlleva a "
-"una pequeña bajada de rendimiento , pero se aumenta la seguridad y es un "
-"requisito para el uso de NAT o un cortafuegos </span>"
+"<span size=\"small\">Activa o uso de SSH para a ligação. Isto tem um pequeno "
+"impacto na performance, mas é mais seguro e necessário quando se usa NAT ou "
+"firewalls baseadas em portos.</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
-msgstr "_Servidor SSH:"
+msgstr "_Máquina SSH:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr ""
-"<span size=\"small\">DNS o dirección IP y puerto del servidor SSH</span>"
+msgstr "<span size=\"small\">DNS ou endereço IP e porto do servidor SSH</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Porto:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
 msgid ""
 "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
 msgstr ""
-"<span size=\"small\">DNS o dirección IP y puerto del servidor Smuxi</span>"
+"<span size=\"small\">DNS ou endereço IP e porto do servidor Smuxi</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
-msgstr "_Servidor Smuxi:"
+msgstr "Máquina _Smuxi:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:76
 msgid "_SSH Username: (optional)"
-msgstr "_Usuario SSH: (opcional)"
+msgstr "Nome de utilizador _SSH: (opcional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
 msgid ""
 "<span size=\"small\">Username which will be used to log into the SSH server</"
 "span>"
 msgstr ""
-"<span size=\"small\">Usuario que sere usado para logear en el servidor SSH</"
-"span>"
+"<span size=\"small\">Nome de utilizador que será usado para login no "
+"servidor SSH</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
-msgstr ""
+msgstr "Palavra-passe de _SSH: (opcional)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
 msgid ""
@@ -910,90 +935,112 @@ msgid ""
 "The password is optional if SSH key authorization is used (via Pageant from "
 "the PuTTY tools).</span>"
 msgstr ""
+"<span size=\"small\">Palavra-passe que será usada para login no servidor "
+"SSH. A palavra-passe é opcional se for usada uma chave de autenticação SSH "
+"(via Pageant a partir das ferramentas PuTTY).</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "Nome de _Utilizador:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
 msgid ""
 "<span size=\"small\">Username which will be used to log into the Smuxi "
 "server</span>"
 msgstr ""
-"<span size=\"small\">Usuario que sere usado para logear en el servidor "
-"Smuxi</span>"
+"<span size=\"small\">Nome de utilizador que será usado para login no "
+"servidor Smuxi</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Palavra-passe:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
-msgstr "<span size=\"small\">Contraseña del usuario</span>"
+msgstr "<span size=\"small\">Palavra-passe do utilizador</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:251
 msgid "_Verify Password:"
-msgstr "_Verifica Contraseña:"
+msgstr "_Verificar Palavra-passe:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:275
 msgid "<span size=\"small\">Repeat the password for verification</span>"
-msgstr "<span size=\"small\">Repetir contraseña para verificación</span>"
+msgstr "<span size=\"small\">Repita a palavra-passe para verificação</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantIntroWidget.cs:27
-#, fuzzy
 msgid ""
 "Welcome to the Smuxi Engine Configuration Assistant.\n"
 "You need to enter some information before you can use the engine.\n"
 "\n"
 "Click \"Forward\" to begin."
 msgstr ""
-"Bienvenido al Asistente de Configuración de  Motor de Smuxi.\n"
-"Necesita introducir alguna información antes de que puedas usar el engine.\n"
+"Bem vindo ao Assistente de Configuração de Motores Smuxi.\n"
+"Você precisa indicar alguma informação antes de poder usar o motor.\n"
 "\n"
-"Click \"Avanzar\" para comenzar."
+"Clique em \"Avançar\" para começar."
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:52
 msgid "_Engine Name:"
-msgstr "Nombre del _Motor:"
+msgstr "Nom_e do Motor:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:75
 msgid "<span size=\"small\">Profile name of the new engine</span>"
-msgstr "<span size=\"small\">Nombre del perfil del nuevo motor</span>"
+msgstr "<span size=\"small\">Nome de perfil do novo motor</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:96
 msgid "_Default Engine:"
-msgstr "Motor por _Defecto:"
+msgstr "Motor Pre_definido:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:107
 msgid "Use as new default engine"
-msgstr "Usar como motor por defecto"
+msgstr "Usar como novo motor predefinido"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
-#, fuzzy
 msgid ""
 "<span size=\"small\">If enabled, the current engine will be the default next "
 "time Smuxi is started</span>"
 msgstr ""
-"<span size=\"small\">Si se habilita modifica el motor actual por defecto "
-"cuando Smuxi arranque la próxima vez</span>"
+"<span size=\"small\">Se activo, o motor actual será o predefinido na próxima "
+"vez que o Smuxi for iniciado</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
-msgstr "Smuxi - Chat Abierto"
+msgstr "Smuxi - Abrir Conversação"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:77
 msgid "_Type:"
 msgstr "_Tipo:"
 
-#~ msgid "Unknown Command: {0}"
-#~ msgstr "Comando desconocido: {0}"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Rede:"
 
-#~ msgid "gtk-cancel"
-#~ msgstr "gtk-cancel"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "Nome de _Máquina:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "_Protocolo:"
 
-#~ msgid "gtk-ok"
-#~ msgstr "gtk-ok"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "C_omandos Ao Ligar:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "Comandos de Ignorar:"
 
-#~ msgid "#"
-#~ msgstr "#"
+#~ msgid "Unknown Command: {0}"
+#~ msgstr "Comando Desconhecido: {0}"
 
-#~ msgid "Syncing chat persons of {0}..."
-#~ msgstr "Sincronizando lista de usuarios de {0}..."
+#~ msgid "Joins"
+#~ msgstr "Juntas"
 
-#~ msgid "localhost"
-#~ msgstr "localhost"
+#~ msgid "Parts"
+#~ msgstr "Partes"
 
-#~ msgid "smuxi - Preferences"
-#~ msgstr "smuxi - Preferencias"
+#~ msgid "Quits"
+#~ msgstr "Saídas"
diff --git a/po-Frontend-GNOME/sv.po b/po-Frontend-GNOME/sv.po
index 6f89623..5479d4d 100644
--- a/po-Frontend-GNOME/sv.po
+++ b/po-Frontend-GNOME/sv.po
@@ -5,12 +5,13 @@
 # Martin Bagge <brother at bsnet.se>, 2009
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Smuxi Frontend GNOME\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 03:23+0100\n"
-"PO-Revision-Date: 2010-01-05 22:37+0100\n"
-"Last-Translator: Martin Bagge <brother at bsnet.se>\n"
-"Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:35+0200\n"
+"PO-Revision-Date: 2010-07-15 13:15+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
+"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+"Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -63,41 +64,32 @@ msgid "<b> Topic Position </b>"
 msgstr "<b> Position för rubrik </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1853
-msgid "<b>Channel Filters</b>"
-msgstr "<b>Kanalfilter</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:12
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1870
-msgid "<b>User Filters</b>"
-msgstr "<b>Användarfilter</b>"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:13
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1161
 msgid "Activity"
 msgstr "Aktivitet"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:14
+#: ../glade/smuxi-frontend-gnome.glade.h:12
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:107
 msgid "Automatically connect to server at startup"
 msgstr "Anslut automatiskt till server vid uppstart"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:15
+#: ../glade/smuxi-frontend-gnome.glade.h:13
 msgid "Background"
 msgstr "Bakgrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:16
+#: ../glade/smuxi-frontend-gnome.glade.h:14
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1360
 msgid "Bash-Style Completion"
 msgstr "Bash-liknande komplettering"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:17
+#: ../glade/smuxi-frontend-gnome.glade.h:15
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1690
 msgid "Beep on highlight"
 msgstr "Pip vid förstärkning"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:18
+#: ../glade/smuxi-frontend-gnome.glade.h:16
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:980
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1002
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1461
@@ -105,81 +97,85 @@ msgstr "Pip vid förstärkning"
 msgid "Bottom"
 msgstr "Botten"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:19
+#: ../glade/smuxi-frontend-gnome.glade.h:17
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:746
 msgid "Buffer Lines:"
 msgstr "Buffrade rader:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../glade/smuxi-frontend-gnome.glade.h:18
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:671
 msgid "C_onnection"
 msgstr "_Anslutning"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:21
+#: ../glade/smuxi-frontend-gnome.glade.h:19
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1312
 msgid "Command Character:"
 msgstr "Kommandotecken:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:22
+#: ../glade/smuxi-frontend-gnome.glade.h:20
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
 msgid "Command History Size:"
 msgstr "Antal kommandon i historik:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:23
+#: ../glade/smuxi-frontend-gnome.glade.h:21
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1292
 msgid "Completion Character:"
 msgstr "Kompletteringstecken:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:24
+#: ../glade/smuxi-frontend-gnome.glade.h:22
 msgid "Enable"
 msgstr "Aktivera"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
+#: ../glade/smuxi-frontend-gnome.glade.h:23
+msgid "Enabled"
+msgstr "Aktivera"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:559
 msgid "Encoding:"
 msgstr "Kodning:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:26
+#: ../glade/smuxi-frontend-gnome.glade.h:25
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:769
 msgid "Engine Buffer Lines:"
 msgstr "Buffrade rader i motorn"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:27
+#: ../glade/smuxi-frontend-gnome.glade.h:26
 msgid "Foreground"
 msgstr "Förgrund"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:28
+#: ../glade/smuxi-frontend-gnome.glade.h:27
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:925
 msgid "General"
 msgstr "Allmänt"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
+#: ../glade/smuxi-frontend-gnome.glade.h:28
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
 msgid "Highlight"
 msgstr "Förstärk"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:30
+#: ../glade/smuxi-frontend-gnome.glade.h:29
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1666
 msgid "Highlight words:"
 msgstr "Förstärk ord"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:31
+#: ../glade/smuxi-frontend-gnome.glade.h:30
 msgid "Hostname:"
 msgstr "Värdnamn:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:32
+#: ../glade/smuxi-frontend-gnome.glade.h:31
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1381
 msgid "Input"
 msgstr "Indata"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:33
+#: ../glade/smuxi-frontend-gnome.glade.h:32
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1171
 msgid "Join/Part/Mode"
 msgstr "Anslut/Lämna/Användartillstånd"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:34
+#: ../glade/smuxi-frontend-gnome.glade.h:33
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1016
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1041
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1535
@@ -187,6 +183,10 @@ msgstr "Anslut/Lämna/Användartillstånd"
 msgid "Left"
 msgstr "Vänster"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:34
+msgid "Log Filtered Messages"
+msgstr "Logga filtrerade meddelanden"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:35
 msgid "Network:"
 msgstr "Nätverk"
@@ -266,7 +266,7 @@ msgid "Right"
 msgstr "Höger"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:186
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:195
 msgid "Show Password"
 msgstr "Visa lösenord"
 
@@ -288,6 +288,7 @@ msgid "Smuxi - Preferences"
 msgstr "Smuxi - Egenskaper"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:26
 msgid "Smuxi - Server"
 msgstr "Smuxi - Server"
 
@@ -312,14 +313,8 @@ msgid "Tabs"
 msgstr "Flikar"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
-msgid ""
-"The nickname to use. You can specify extra nicknames (separated by spaces) "
-"which will be used as fallbacks when the first choice is not available. By "
-"default $nick_ and $nick__ will be used as fallbacks."
-msgstr ""
-"Smeknamn att använda. Du kan ange flera smeknamn (separerade med mellanslag) "
-"som ska användas som alternativ om det första valet inte är ledigt. "
-"Standardalternativ är $nick_ och $nick__."
+msgid "The nickname to use. You can specify extra nicknames (separated by spaces) which will be used as fallbacks when the first choice is not available. By default $nick_ and $nick__ will be used as fallbacks."
+msgstr "Smeknamn att använda. Du kan ange flera smeknamn (separerade med mellanslag) som ska användas som alternativ om det första valet inte är ledigt. Standardalternativ är $nick_ och $nick__."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:726
@@ -342,7 +337,7 @@ msgid "Username:"
 msgstr "Användarnamn:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1882
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1881
 msgid "_Filters"
 msgstr "_Filter"
 
@@ -352,16 +347,20 @@ msgid "_Interface"
 msgstr "_Gränssnitt"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
+msgid "_Logging"
+msgstr "_Loggning"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:67
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1789
 msgid "_Servers"
 msgstr "_Servrar"
 
 #. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:68
+#: ../glade/smuxi-frontend-gnome.glade.h:69
 msgid "_Wrap Mode:"
 msgstr "_Läge för radbrytning:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:69
+#: ../glade/smuxi-frontend-gnome.glade.h:70
 msgid ""
 "ss = seconds\n"
 "mm = minutes\n"
@@ -383,6 +382,10 @@ msgstr ""
 "MM = månad\n"
 "yy/yyyy = år"
 
+#: ../src/Frontend-GNOME/AboutDialog.cs:52
+msgid "translator-credits"
+msgstr "Martin Bagge <brother at bsnet.se>"
+
 #: ../src/Frontend-GNOME/AboutDialog.cs:47
 msgid "German"
 msgstr "German"
@@ -407,19 +410,21 @@ msgstr "Italian"
 msgid "Smuxi Website"
 msgstr "Smuxis webbplats"
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:39
+#: ../src/Frontend-GNOME/CrashDialog.cs:44
 msgid "Oops, I did it again..."
 msgstr "Oj. Nu gjorde vi sådär igen ja..."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:53
+#: ../src/Frontend-GNOME/CrashDialog.cs:57
 msgid "Smuxi crashed because an unhandled exception was thrown!"
 msgstr "Smuxi krashade på grund av ett ohanterat fel."
 
-#: ../src/Frontend-GNOME/CrashDialog.cs:57
+#: ../src/Frontend-GNOME/CrashDialog.cs:61
 msgid "Here is the stacktrace, please report this bug!"
-msgstr ""
-"Kan du vara bussig och rapportera denna bugg. Ta med utskriften från "
-"kraschen i felrapporten!"
+msgstr "Kan du vara bussig och rapportera denna bugg. Ta med utskriften från kraschen i felrapporten!"
+
+#: ../src/Frontend-GNOME/CrashDialog.cs:81
+msgid "_Report Bug"
+msgstr "_Rapportera fel"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
 msgid "Engine Manager"
@@ -443,7 +448,7 @@ msgstr "Motor:"
 
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:122
 #: ../src/Frontend-GNOME/EngineManagerDialog.cs:182
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:360
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:359
 msgid "Local Engine"
 msgstr "Lokal motor:"
 
@@ -451,28 +456,26 @@ msgstr "Lokal motor:"
 msgid "Please select an engine!"
 msgstr "Välj en motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:196
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:195
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
-msgstr ""
-"Versionen för din framdel ({0}) stämmer inte överrens med motorns version "
-"({1})!"
+msgstr "Versionen för din framdel ({0}) stämmer inte överrens med motorns version ({1})!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
 msgid "An error occurred while connecting to the engine!"
 msgstr "Ett fel uppstod vid anslutning till motorn!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:224
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:223
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "URL till motorn: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:227
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:226
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Fel: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:297
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:296
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Är du säker på att du vill radera motorn \"{0}\"?"
@@ -484,89 +487,89 @@ msgstr "Du kommer att klistra in {0} rader. Vill du fortsätta?"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:505
+#: ../src/Frontend-GNOME/Entry.cs:506
 msgid "Frontend Commands"
 msgstr "Kommandon för framdelen"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:179
+#: ../src/Frontend-GNOME/MainWindow.cs:186
 msgid "_File"
 msgstr "_Arkiv"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:195
+#: ../src/Frontend-GNOME/MainWindow.cs:202
 msgid "_Server"
 msgstr "_Server"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:199
+#: ../src/Frontend-GNOME/MainWindow.cs:206
 msgid "_Quick Connect"
 msgstr "Snabb _anslutning"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:210
+#: ../src/Frontend-GNOME/MainWindow.cs:217
 msgid "_Manage"
 msgstr "_Hantera"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:217
+#: ../src/Frontend-GNOME/MainWindow.cs:224
 msgid "_Chat"
 msgstr "_Chatt"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:221
+#: ../src/Frontend-GNOME/MainWindow.cs:228
 msgid "Open / Join Chat"
 msgstr "Öppna / Anslut till chatt"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:226
+#: ../src/Frontend-GNOME/MainWindow.cs:233
 msgid "_Find Group Chat"
 msgstr "_Hitta gruppchatt"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:231
+#: ../src/Frontend-GNOME/MainWindow.cs:238
 msgid "C_lear All Activity"
 msgstr "_Rensa all aktivitet"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:238
+#: ../src/Frontend-GNOME/MainWindow.cs:245
 msgid "_Next Chat"
 msgstr "_Nästa chatt"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:248
+#: ../src/Frontend-GNOME/MainWindow.cs:255
 msgid "_Previous Chat"
 msgstr "_Föregående chatt"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:300
+#: ../src/Frontend-GNOME/MainWindow.cs:307
 msgid "_Engine"
 msgstr "_Motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:304
+#: ../src/Frontend-GNOME/MainWindow.cs:311
 msgid "_Use Local Engine"
 msgstr "_Använd lokal motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:310
+#: ../src/Frontend-GNOME/MainWindow.cs:317
 msgid "_Add Remote Engine"
 msgstr "_Lägg till fjärrmotor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:315
+#: ../src/Frontend-GNOME/MainWindow.cs:322
 msgid "_Switch Remote Engine"
 msgstr "_Byt fjärrmotor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:322
+#: ../src/Frontend-GNOME/MainWindow.cs:329
 msgid "_View"
 msgstr "_Visa"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:326
+#: ../src/Frontend-GNOME/MainWindow.cs:333
 msgid "_Caret Mode"
 msgstr "_Markörläge"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:336
+#: ../src/Frontend-GNOME/MainWindow.cs:343
 msgid "_Help"
 msgstr "_Hjälp"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:507
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:220
+#: ../src/Frontend-GNOME/MainWindow.cs:567
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:222
 msgid "Unable to add server: "
 msgstr "Kan inte lägga till server:"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:554
+#: ../src/Frontend-GNOME/MainWindow.cs:614
 #, csharp-format
 msgid "Unknown ChatType: {0}"
 msgstr "Okänd chattyp: {0}"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:770
+#: ../src/Frontend-GNOME/MainWindow.cs:822
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -574,7 +577,7 @@ msgstr ""
 "Byte till lokal motor kommer att koppla bort dig från den aktuella motorn!\n"
 "Är du säker på att du vill göra detta?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:812
+#: ../src/Frontend-GNOME/MainWindow.cs:864
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -587,37 +590,51 @@ msgid "Sorry, not implemented yet!"
 msgstr "Ursäkta, detta är inte implementerat än!"
 
 #. fill ListStore
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:144
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:162
 msgid "Character"
 msgstr "Tecken"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:145
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
 msgid "Word"
 msgstr "Ord"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:155
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:173
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:139
 msgid "Connection"
 msgstr "Anslutning"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:159
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:177
 msgid "Interface"
 msgstr "Gränssnitt."
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:163
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:181
 msgid "Servers"
 msgstr "Servrar"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:215
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:185
+msgid "Filters"
+msgstr "Filter"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:189
+msgid "Logging"
+msgstr "Loggning"
+
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:238
 msgid "System Default"
 msgstr "Systemstandard"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:461
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:505
 msgid "Nicknames(s) field must not be empty."
 msgstr "Fältet för smeknamn kan inte lämnas tomt."
 
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:649
+#, csharp-format
+msgid "Invalid highlight regex: '{0}'. Reason: {1}"
+msgstr "Ogiltigt mönster för framhävande: \"{0}\". Anledning: {1}"
+
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:69
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:105
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:271
 msgid "Name"
 msgstr "Namn"
 
@@ -627,24 +644,22 @@ msgstr "Rubrik"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:102
 msgid ""
-"Searching for group chats without a filter is not recommended.  This may "
-"take a while, or may not work at all.\n"
+"Searching for group chats without a filter is not recommended.  This may take a while, or may not work at all.\n"
 "Do you wish to continue?"
 msgstr ""
-"Sökning efter gruppchattar utan att använda filter är inte rekomenderat. Det "
-"kan ta lång tid eller inte fungera alls.\n"
+"Sökning efter gruppchattar utan att använda filter är inte rekomenderat. Det kan ta lång tid eller inte fungera alls.\n"
 "Vill du verkligen fortsätta?"
 
 #: ../src/Frontend-GNOME/FindGroupChatDialog.cs:143
 msgid "Error while fetching the list of group chats from the server."
 msgstr "Fel vid hämtning av lista för gruppchattar från servern."
 
-#: ../src/Frontend-GNOME/Frontend.cs:415
+#: ../src/Frontend-GNOME/Frontend.cs:394
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Anledning: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:464
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -660,7 +675,7 @@ msgstr ""
 "Återanslutningsförsöket fungerade inte.\n"
 "Vill du försöka igen?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:628
+#: ../src/Frontend-GNOME/Frontend.cs:580
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -669,6 +684,7 @@ msgstr ""
 "Vill du återansluta?"
 
 #: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protokoll"
@@ -678,11 +694,17 @@ msgstr "Protokoll"
 msgid "Hostname"
 msgstr "Värdnamn"
 
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+msgid "Unable to load server: "
+msgstr "Kan inte ladda server:"
+
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:54
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:244
 msgid "Person / Private"
 msgstr "Person / Privat"
 
 #: ../src/Frontend-GNOME/ChatTypeWidget.cs:55
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:245
 msgid "Group / Public"
 msgstr "Grupp / Publikt"
 
@@ -711,15 +733,48 @@ msgid "Thank you"
 msgstr "Tack"
 
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:285
-msgid ""
-"An engine with this name already exists! Please specify a different one."
+msgid "An engine with this name already exists! Please specify a different one."
 msgstr "En motor med detta namn finns reda. Ange ett annat."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:162
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:182
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Dygnsskifte, {0}"
 
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:123
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:133
+#, csharp-format
+msgid "Invalid filter regex: '{0}'. Reason: {1}"
+msgstr "Ogiltigt filtermänster: \"{0}\". Anledning: {1}"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:200
+msgid "Are you sure you want to delete the selected filter?"
+msgstr "Är du säker på att du vill radera det valda filtret?"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:246
+msgid "Protocol / Server"
+msgstr "Protokoll / Server"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:253
+msgid "Chat Type"
+msgstr "Chattyp"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:287
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:288
+msgid "Event"
+msgstr "Händelse"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:295
+msgid "Type"
+msgstr "Typ"
+
+#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:321
+msgid "Pattern"
+msgstr "Mönster"
+
 #: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:241
 #, csharp-format
 msgid "Retrieving user list for {0}..."
@@ -730,39 +785,27 @@ msgstr "Hämtar användarlistan för {0}..."
 msgid "done."
 msgstr "klar"
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:306
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:301
 msgid "Person"
 msgstr "Person"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:72
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:68
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"När protokollchatten stängs kommer även alla öppna chattar som är anslutna "
-"till den att stängas!\n"
+"När protokollchatten stängs kommer även alla öppna chattar som är anslutna till den att stängas!\n"
 "Är du säker på att du vill göra detta?"
 
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:81
-msgid "Pattern"
-msgstr "Mönster"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:96
-msgid "Joins"
-msgstr "Anslutningar"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:111
-msgid "Parts"
-msgstr "Lämnar"
-
-#: ../src/Frontend-GNOME/Preferences/ChannelFilterListView.cs:127
-msgid "Quits"
-msgstr "Kopplar från"
-
-#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:182
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:184
 msgid "Are you sure you want to delete the selected server?"
 msgstr "Är du säker på att du vill radera den valda servern?"
 
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:240
+#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:274
+msgid "Unable to edit server: "
+msgstr "Kan inte redigera server:"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs:42
 msgid "Find"
 msgstr "Sök"
@@ -796,44 +839,10 @@ msgstr "Smuxi - Hitta gruppchatt"
 msgid "_Name:"
 msgstr "_Namn:"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:74
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:32
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Snabbanslutning"
 
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:145
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
-msgid "_Port:"
-msgstr "_Port"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:204
-msgid "_Hostname:"
-msgstr "_Värdnamn:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:214
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
-msgid "_Username:"
-msgstr "_Användarnamn:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:224
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
-msgid "_Password:"
-msgstr "_Lösenord:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:234
-msgid "_Protocol:"
-msgstr "P_rotokoll:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:253
-#, fuzzy
-msgid "_On Connect Commands:"
-msgstr "Kommando vid anslutning:"
-
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:264
-#, fuzzy
-msgid "_Ignore Commands"
-msgstr "Kommando vid anslutning:"
-
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:495
 msgid "Nicknames:"
 msgstr "Smeknamn:"
@@ -846,35 +855,39 @@ msgstr "<b> Position för användarlista</b>"
 msgid "<b> Channel </b>"
 msgstr "<b> Kanal</b>"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1852
+msgid "<b>Channel Filters</b>"
+msgstr "<b>Kanalfilter</b>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1869
+msgid "<b>User Filters</b>"
+msgstr "<b>Användarfilter</b>"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:64
 msgid "Use _SSH Tunnel"
 msgstr "_Använd SSH-Tunnel"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:78
-msgid ""
-"<span size=\"small\">Enables the use of SSH for the connection.  This has a "
-"small performance impact, but is more secure and required when using NAT or "
-"port-based firewalls</span>"
-msgstr ""
-"<span size=\"small\">Aktiverar användning av SSH för anslutningen. Detta kan "
-"innebära en liten negativ inverka på hastigheten men är säkrare och krävs "
-"när NAT eller port-baserade brändväggar används</span>"
+msgid "<span size=\"small\">Enables the use of SSH for the connection.  This has a small performance impact, but is more secure and required when using NAT or port-based firewalls</span>"
+msgstr "<span size=\"small\">Aktiverar användning av SSH för anslutningen. Detta kan innebära en liten negativ inverka på hastigheten men är säkrare och krävs när NAT eller port-baserade brändväggar används</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:157
 msgid "SSH _Host:"
 msgstr "SS_H-värd:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:168
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the SSH server</span>"
-msgstr ""
-"<span size=\"small\">DNS eller IP-adress och port för SSH-servern</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the SSH server</span>"
+msgstr "<span size=\"small\">DNS eller IP-adress och port för SSH-servern</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:181
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:195
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:154
+msgid "_Port:"
+msgstr "_Port"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:208
-msgid ""
-"<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
-msgstr ""
-"<span size=\"small\">DNS eller IP-adress och port för Smuxi-servern</span>"
+msgid "<span size=\"small\">DNS or IP address and port of the Smuxi server</span>"
+msgstr "<span size=\"small\">DNS eller IP-adress och port för Smuxi-servern</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs:221
 msgid "_Smuxi Host:"
@@ -885,34 +898,30 @@ msgid "_SSH Username: (optional)"
 msgstr "_SSH-avnändarnamn: (valbart)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:99
-msgid ""
-"<span size=\"small\">Username which will be used to log into the SSH server</"
-"span>"
-msgstr ""
-"<span size=\"small\">Användarnamn som ska användas för att logga in i SSH-"
-"servern</span>"
+msgid "<span size=\"small\">Username which will be used to log into the SSH server</span>"
+msgstr "<span size=\"small\">Användarnamn som ska användas för att logga in i SSH-servern</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:119
 msgid "_SSH Password: (optional)"
 msgstr "SSH-_lösenord: (valbart)"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:143
-msgid ""
-"<span size=\"small\">Password which will be used to log into the SSH server. "
-"The password is optional if SSH key authorization is used (via Pageant from "
-"the PuTTY tools).</span>"
-msgstr ""
-"<span size=\"small\">Lösenord för att logga in i SSH-servern. Lösenordet är "
-"valbart om användarverifiering kan ske via SSH-nyckel (via Pageant i PuTTY-"
-"verktygen).</span>"
+msgid "<span size=\"small\">Password which will be used to log into the SSH server. The password is optional if SSH key authorization is used (via Pageant from the PuTTY tools).</span>"
+msgstr "<span size=\"small\">Lösenord för att logga in i SSH-servern. Lösenordet är valbart om användarverifiering kan ske via SSH-nyckel (via Pageant i PuTTY-verktygen).</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:164
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:223
+msgid "_Username:"
+msgstr "_Användarnamn:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:187
-msgid ""
-"<span size=\"small\">Username which will be used to log into the Smuxi "
-"server</span>"
-msgstr ""
-"<span size=\"small\">Användarnamnet som ska användas för att logga in i "
-"Smuxi-server</span>"
+msgid "<span size=\"small\">Username which will be used to log into the Smuxi server</span>"
+msgstr "<span size=\"small\">Användarnamnet som ska användas för att logga in i Smuxi-server</span>"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:207
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:233
+msgid "_Password:"
+msgstr "_Lösenord:"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs:231
 msgid "<span size=\"small\">Password of the user</span>"
@@ -955,12 +964,8 @@ msgid "Use as new default engine"
 msgstr "Använd som ny standardmotor"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantNameWidget.cs:120
-msgid ""
-"<span size=\"small\">If enabled, the current engine will be the default next "
-"time Smuxi is started</span>"
-msgstr ""
-"<span size=\"small\">Om detta väljs kommer den aktuella motorn att bli "
-"standardmotor nästa gång Smuxi startas</span>"
+msgid "<span size=\"small\">If enabled, the current engine will be the default next time Smuxi is started</span>"
+msgstr "<span size=\"small\">Om detta väljs kommer den aktuella motorn att bli standardmotor nästa gång Smuxi startas</span>"
 
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs:34
 msgid "Smuxi - Open Chat"
@@ -970,5 +975,32 @@ msgstr "Smuxi - Öppen hatt"
 msgid "_Type:"
 msgstr "_Typ:"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:95
+msgid "_Network:"
+msgstr "_Nätverk:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:213
+msgid "_Hostname:"
+msgstr "_Värdnamn:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:243
+msgid "_Protocol:"
+msgstr "P_rotokoll:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:262
+msgid "_On Connect Commands:"
+msgstr "_Kommando vid anslutning:"
+
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:273
+msgid "_Ignore Commands"
+msgstr "Kommando att _ignorera"
+
+#~ msgid "Joins"
+#~ msgstr "Anslutningar"
+#~ msgid "Parts"
+#~ msgstr "Lämnar"
+#~ msgid "Quits"
+#~ msgstr "Kopplar från"
 #~ msgid "Unknown Command: {0}"
 #~ msgstr "Okänt kommando: {0}"
+
diff --git a/po-Frontend/LINGUAS b/po-Frontend/LINGUAS
index eafe8ea..54679b1 100644
--- a/po-Frontend/LINGUAS
+++ b/po-Frontend/LINGUAS
@@ -1,9 +1,11 @@
+ca
 cs
-de
+da
 de
 es
 es_AR
 en_GB
 fr
 it
+pt
 sv
diff --git a/po-Frontend/ca.po b/po-Frontend/ca.po
new file mode 100644
index 0000000..814459e
--- /dev/null
+++ b/po-Frontend/ca.po
@@ -0,0 +1,90 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Smuxi\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>\n"
+"Language-Team: Siegfried-Angel Gevatter Pujals <siegfried at gevatter.com>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1\n"
+"X-Poedit-Language: Catalan\n"
+
+#: ../src/Frontend/CommandManager.cs:143
+#, csharp-format
+msgid "Unknown Command: {0}"
+msgstr "Orde desconeguda: {0}"
+
+#: ../src/Frontend/EngineManager.cs:292
+#, csharp-format
+msgid "Unknown channel ({0}) - only the following channel types are supported:"
+msgstr "Sala desconeguda ({0}) - només s'admeten els següent tipus de sales:"
+
+#: ../src/Frontend/EngineManager.cs:301
+msgid "Registration with engine failed!  The username and/or password were wrong - please verify them."
+msgstr "No s'ha pogut registrar amb el motor!  El nom d'usuari i/o la contrasenya són incorrectes - comproveu-les."
+
+#: ../src/Frontend/SshTunnelManager.cs:146
+msgid "SSH client application was not found: "
+msgstr "No s'ha trobat cap client d'SSH:"
+
+#: ../src/Frontend/SshTunnelManager.cs:149
+msgid "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+msgstr "El client d'SSH ha de ser l'OpenSSH (ssh) o bé el Plink (plink.exe, no putty.exe)"
+
+#: ../src/Frontend/SshTunnelManager.cs:186
+#, csharp-format
+msgid "The local SSH forwarding port {0} is already in use. Is there an old SSH tunnel still active?"
+msgstr "El port local de reenviament de l'SSH {0} ja està en ús. Hi ha un túnel SSH vell que encara estigui actiu?"
+
+#: ../src/Frontend/SshTunnelManager.cs:210
+#, csharp-format
+msgid ""
+"SSH tunnel setup failed (exit code: {0})\n"
+"\n"
+"SSH program: {1}\n"
+"SSH parameters: {2}\n"
+"\n"
+"Program Error:\n"
+"{3}\n"
+"Program Output:\n"
+"{4}\n"
+msgstr ""
+"Ha fallat la creació del túnel SSH (codi de sortida: {0})\n"
+"\n"
+"Programa SSH: {1}\n"
+"Paràmetres SSH: {2}\n"
+"\n"
+"Missatges d'error del programa:\n"
+"{3}\n"
+"Sortida del programa:\n"
+"{4}\n"
+
+#: ../src/Frontend/SshTunnelManager.cs:405
+#, csharp-format
+msgid ""
+"OpenSSH version number not found (exit code: {0})\n"
+"\n"
+"SSH program: {1}\n"
+"\n"
+"Program Error:\n"
+"{2}\n"
+"Program Output:\n"
+"{3}\n"
+msgstr ""
+"No s'ha trobat el nombre de versió de l'OpenSSH (codi de sortida: {0})\n"
+"\n"
+"Programa SSH: {1}\n"
+"\n"
+"Missatge d'error del programa:\n"
+"{2}\n"
+"Sortida del programa:\n"
+"{3}\n"
+
+#: ../src/Frontend/SshTunnelManager.cs:441
+msgid "PuTTY / Plink requires a username to be set."
+msgstr "El PuTTY / Plink requereix que un nom d'usuari estigui establert."
+
diff --git a/po-Frontend/cs.po b/po-Frontend/cs.po
index 733f310..6c14519 100644
--- a/po-Frontend/cs.po
+++ b/po-Frontend/cs.po
@@ -1,24 +1,25 @@
 # Smuxi - IRC client for sophisticated users
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
+# Michal Simunek <michal.simunek at gmail.com>, 2009 - 2010.
 #
-# Michal Simunek <michal.simunek at gmail.com>, 2009, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-frontend 0.6.4.1-1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-09 13:31+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:51+0200\n"
 "Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Frontend/CommandManager.cs:144
+#: ../src/Frontend/CommandManager.cs:143
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr ""
+msgstr "Neznámý příkaz: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
diff --git a/po-Frontend/cs.po b/po-Frontend/da.po
similarity index 53%
copy from po-Frontend/cs.po
copy to po-Frontend/da.po
index 733f310..f18a132 100644
--- a/po-Frontend/cs.po
+++ b/po-Frontend/da.po
@@ -1,47 +1,47 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
+# Danish translation smuxi-frontend.
+# Copyright (C) 2010 Mirco Bauer & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi-frontend package.
+# Joe Hansen (joedalton2 at yahoo.dk), 2010.
 #
-# Michal Simunek <michal.simunek at gmail.com>, 2009, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi-frontend 0.6.4.1-1\n"
+"Project-Id-Version: smuxi-frontend\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-09 13:31+0100\n"
-"Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
-"Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-22 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Frontend/CommandManager.cs:144
+#: ../src/Frontend/CommandManager.cs:143
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr ""
+msgstr "Ukendt kommando: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
 msgid "Unknown channel ({0}) - only the following channel types are supported:"
-msgstr "Neznámý kanál ({0}) - podporovány jsou pouze následující typy kanálů:"
+msgstr "Ukendt kanal ({0}) - kun de følgende kanaltyper er understøttet:"
 
 #: ../src/Frontend/EngineManager.cs:301
 msgid ""
 "Registration with engine failed!  The username and/or password were wrong - "
 "please verify them."
 msgstr ""
-"Registrace selhala!  Uživatelské jméno nebo heslo bylo chybné - zkontrolujte "
-"je prosím."
+"Registrering med motor mislykkedes! Brugernavnet og/eller adgangskoden var "
+"forkert - bekræft dem venligst."
 
 #: ../src/Frontend/SshTunnelManager.cs:146
 msgid "SSH client application was not found: "
-msgstr "Klientská aplikace SSH nebyla nalezena: "
+msgstr "SSH-klientprogram blev ikke fundet: "
 
 #: ../src/Frontend/SshTunnelManager.cs:149
 msgid ""
 "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
 msgstr ""
-"Klient SSH musí být buď OpenSSH (ssh) nebo Plink (plink.exe, nikoli putty."
+"SSH-klient skal enten være OpenSSH (ssh) eller Plink (plink.exe, ikke putty."
 "exe)"
 
 #: ../src/Frontend/SshTunnelManager.cs:186
@@ -50,8 +50,8 @@ msgid ""
 "The local SSH forwarding port {0} is already in use. Is there an old SSH "
 "tunnel still active?"
 msgstr ""
-"Místní forwarding SSH port {0} se již používá. Není stále aktivní dřívější "
-"tunel SSH?"
+"Den lokale SSH-videresendelsesport {0} er allerede i brug. Er der en "
+"gammel SSH-tunnel, der stadig er aktiv?"
 
 #: ../src/Frontend/SshTunnelManager.cs:210
 #, csharp-format
@@ -66,14 +66,14 @@ msgid ""
 "Program Output:\n"
 "{4}\n"
 msgstr ""
-"Nastavení tunelu SSH selhalo (exit code: {0})\n"
+"Kunne ikke opsætte SSH-tunnel (afbrydelseskode: {0})\n"
 "\n"
-"Program SSH: {1}\n"
-"Parametry SSH: {2}\n"
+"SSH-program: {1}\n"
+"SSH-parametre: {2}\n"
 "\n"
-"Chyba programu:\n"
+"Programfejl:\n"
 "{3}\n"
-"Výstup programu:\n"
+"Programuddata:\n"
 "{4}\n"
 
 #: ../src/Frontend/SshTunnelManager.cs:405
@@ -88,15 +88,15 @@ msgid ""
 "Program Output:\n"
 "{3}\n"
 msgstr ""
-"Nenalezeno číslo verze OpenSSH (exit code: {0})\n"
+"Versionnummer for OpenSSH blev ikke fundet (afbrydelseskode: {0})\n"
 "\n"
-"Program SSH: {1}\n"
+"SSH-program: {1}\n"
 "\n"
-"Chyba programu:\n"
+"Programfejl:\n"
 "{2}\n"
-"Výstup programu:\n"
+"Programuddata:\n"
 "{3}\n"
 
 #: ../src/Frontend/SshTunnelManager.cs:441
 msgid "PuTTY / Plink requires a username to be set."
-msgstr "PuTTY / Plink potřebuje mít nastavené uživatelské jméno."
+msgstr "PuTTY / Plink kræver at et brugernavn er angivet."
diff --git a/po-Frontend/en_GB.po b/po-Frontend/en_GB.po
index 3313093..697d2db 100644
--- a/po-Frontend/en_GB.po
+++ b/po-Frontend/en_GB.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Ryan Smith-Evans <Kimera.Kimera at gmail.com>, 2009.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi 0.6.4\n"
@@ -18,7 +18,7 @@ msgstr ""
 #: ../src/Frontend/CommandManager.cs:144
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr ""
+msgstr "Unknown Command: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
@@ -26,31 +26,21 @@ msgid "Unknown channel ({0}) - only the following channel types are supported:"
 msgstr "Unknown channel ({0}). Only the following channel types are supported:"
 
 #: ../src/Frontend/EngineManager.cs:301
-msgid ""
-"Registration with engine failed!  The username and/or password were wrong - "
-"please verify them."
-msgstr ""
-"Registration with engine failed!  The username and/or password are incorrect "
-"- please verify them."
+msgid "Registration with engine failed!  The username and/or password were wrong - please verify them."
+msgstr "Registration with engine failed!  The username and/or password are incorrect - please verify them."
 
 #: ../src/Frontend/SshTunnelManager.cs:146
 msgid "SSH client application was not found: "
 msgstr "SSH client application was not found: "
 
 #: ../src/Frontend/SshTunnelManager.cs:149
-msgid ""
-"SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
-msgstr ""
-"SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+msgid "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+msgstr "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
 
 #: ../src/Frontend/SshTunnelManager.cs:186
 #, csharp-format
-msgid ""
-"The local SSH forwarding port {0} is already in use. Is there an old SSH "
-"tunnel still active?"
-msgstr ""
-"The local SSH forwarding port {0} is already in use. Is there an old SSH "
-"tunnel still active?"
+msgid "The local SSH forwarding port {0} is already in use. Is there an old SSH tunnel still active?"
+msgstr "The local SSH forwarding port {0} is already in use. Is there an old SSH tunnel still active?"
 
 #: ../src/Frontend/SshTunnelManager.cs:210
 #, csharp-format
diff --git a/po-Frontend/it.po b/po-Frontend/it.po
index 32c999a..96d4d30 100644
--- a/po-Frontend/it.po
+++ b/po-Frontend/it.po
@@ -1,24 +1,25 @@
 # Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
-# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010.
 #
+# Vincenzo Campanella <vinz65 at gmail.com>, 2009-2010, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2009-12-30 19:41+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:15+0200\n"
 "Last-Translator: Vincenzo Campanella <vinz65 at gmail.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
+"Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Frontend/CommandManager.cs:144
+#: ../src/Frontend/CommandManager.cs:143
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr ""
+msgstr "Comando sconosciuto: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
@@ -50,6 +51,8 @@ msgid ""
 "The local SSH forwarding port {0} is already in use. Is there an old SSH "
 "tunnel still active?"
 msgstr ""
+"La porta d'inoltro locale di SSH {0} è già utilizzata. Controllare se è "
+"ancora attivo un vecchio tunnel SSH."
 
 #: ../src/Frontend/SshTunnelManager.cs:210
 #, csharp-format
diff --git a/po-Frontend/de.po b/po-Frontend/pt.po
similarity index 52%
copy from po-Frontend/de.po
copy to po-Frontend/pt.po
index 76e42b2..363e347 100644
--- a/po-Frontend/de.po
+++ b/po-Frontend/pt.po
@@ -1,52 +1,52 @@
-# Smuxi - IRC client for sophisticated users
-# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
-# This file is distributed under the same license as the Smuxi package.
-# Mirco Bauer <meebey at meebey.net>, 2009
-# Bianca Mix <heavydemon at freenet.de>, 2010
+# Translation of smuxi-frontend messages to Portuguese
+# Copyright (C) 2010 the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi-frontend package.
 #
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: smuxi 0.6.4\n"
+"Project-Id-Version: smuxi-frontend \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-10 23:55+0100\n"
-"Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
-"Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 01:46+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Frontend/CommandManager.cs:144
+#: ../src/Frontend/CommandManager.cs:143
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr "Unbekannter Befehl: {0}"
+msgstr "Comando Desconhecido: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
 msgid "Unknown channel ({0}) - only the following channel types are supported:"
 msgstr ""
-"Unbekannter Channel ({0}) - nur die folgenden Channel-Typen werden "
-"unterstützt:"
+"Canal desconhecido ({0}) - apenas os seguintes tipos de canais são "
+"suportados:"
 
 #: ../src/Frontend/EngineManager.cs:301
 msgid ""
 "Registration with engine failed!  The username and/or password were wrong - "
 "please verify them."
 msgstr ""
-"Registierung gegenüber der Engine ist fehlgeschlagen. Benutzer und/oder "
-"Passwort ist falsch, bitte überprüfen Sie Ihre Eingabe."
+"O registo com o motor falhou! O nome de utilizador e/ou a palavra-passe "
+"estavam errados - por favor verifique-os."
 
 #: ../src/Frontend/SshTunnelManager.cs:146
 msgid "SSH client application was not found: "
-msgstr "SSH-Client-Programm wurde nicht gefunden: "
+msgstr "A aplicação cliente SSH não foi encontrada: "
 
 #: ../src/Frontend/SshTunnelManager.cs:149
 msgid ""
 "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
 msgstr ""
-"SSH-Client muss entweder OpenSSH (ssh) oder Plink (plink.exe, nicht putty."
-"exe) sein"
+"O cliente SSH tem de ser ou OpenSSH (ssh) ou Plink (plink.exe, não putty.exe)"
 
 #: ../src/Frontend/SshTunnelManager.cs:186
 #, csharp-format
@@ -54,8 +54,8 @@ msgid ""
 "The local SSH forwarding port {0} is already in use. Is there an old SSH "
 "tunnel still active?"
 msgstr ""
-"Der lokale SSH Weiterleitungs-Port {0} wird bereits verwendet. Ist noch ein "
-"alter SSH Tunnel aktiv?"
+"O porto reencaminhado de SSH local {0} já está em uso. Existe um túnel SSH "
+"antigo ainda activo?"
 
 #: ../src/Frontend/SshTunnelManager.cs:210
 #, csharp-format
@@ -70,14 +70,14 @@ msgid ""
 "Program Output:\n"
 "{4}\n"
 msgstr ""
-"Aufbau des SSH-Tunnels ist fehlgeschlagen (Exit-Code: {0})\n"
+"Configuração do túnel SSH falhou (código ao terminar: {0})\n"
 "\n"
-"SSH-Programm: {1}\n"
-"SSH-Parameter: {2}\n"
+"Programa SSH: {1}\n"
+"Parâmetros SSH: {2}\n"
 "\n"
-"Programm-Fehler:\n"
+"Erro do Programa:\n"
 "{3}\n"
-"Programm-Ausgabe:\n"
+"Saída do Programa:\n"
 "{4}\n"
 
 #: ../src/Frontend/SshTunnelManager.cs:405
@@ -92,15 +92,16 @@ msgid ""
 "Program Output:\n"
 "{3}\n"
 msgstr ""
-"OpenSSH-Version konnte nicht ermittelt werden (Exit-Code: {0})\n"
+"Número de versão de OpenSSH não encontrado (código ao terminar: {0})\n"
 "\n"
-"SSH-Programm: {1}\n"
+"Programa SSH: {1}\n"
 "\n"
-"Programm-Fehler:\n"
+"Erro do Programa:\n"
 "{2}\n"
-"Programm-Ausgabe:\n"
+"Saída do Programa:\n"
 "{3}\n"
 
 #: ../src/Frontend/SshTunnelManager.cs:441
 msgid "PuTTY / Plink requires a username to be set."
-msgstr "PuTTY / Plink fordert einen gesetzten Benutzernamen."
+msgstr "PuTTY / Plink requer que seja definido um nome de utilizador."
+
diff --git a/po-Frontend/sv.po b/po-Frontend/sv.po
index c49ed2e..17eb48e 100644
--- a/po-Frontend/sv.po
+++ b/po-Frontend/sv.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-01-09 21:43+0100\n"
-"PO-Revision-Date: 2010-01-05 22:37+0100\n"
+"PO-Revision-Date: 2010-07-08 00:40+0100\n"
 "Last-Translator: Martin Bagge <brother at bsnet.se>\n"
 "Language-Team: Swedish <debian-l10n-swedish at lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
 #: ../src/Frontend/CommandManager.cs:144
 #, csharp-format
 msgid "Unknown Command: {0}"
-msgstr ""
+msgstr "Okänt kommando: {0}"
 
 #: ../src/Frontend/EngineManager.cs:292
 #, csharp-format
@@ -28,32 +28,21 @@ msgid "Unknown channel ({0}) - only the following channel types are supported:"
 msgstr "Okänd kanal ({0}) - endast följande kanaltyper stöds:"
 
 #: ../src/Frontend/EngineManager.cs:301
-msgid ""
-"Registration with engine failed!  The username and/or password were wrong - "
-"please verify them."
-msgstr ""
-"Kunde inte ansluta till motorn! Användarnamnet och/eller lösenordet var fel "
-"- kontrollera dessa."
+msgid "Registration with engine failed!  The username and/or password were wrong - please verify them."
+msgstr "Kunde inte ansluta till motorn! Användarnamnet och/eller lösenordet var fel - kontrollera dessa."
 
 #: ../src/Frontend/SshTunnelManager.cs:146
 msgid "SSH client application was not found: "
 msgstr "SSH-klient-applikationen kunde inte hittas:"
 
 #: ../src/Frontend/SshTunnelManager.cs:149
-msgid ""
-"SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
-msgstr ""
-"SSH-klienten måste vara antingen OpenSSH (ssh) eller Plink (plink.exe, inte "
-"putty.exe)"
+msgid "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+msgstr "SSH-klienten måste vara antingen OpenSSH (ssh) eller Plink (plink.exe, inte putty.exe)"
 
 #: ../src/Frontend/SshTunnelManager.cs:186
 #, csharp-format
-msgid ""
-"The local SSH forwarding port {0} is already in use. Is there an old SSH "
-"tunnel still active?"
-msgstr ""
-"Den lokala porten för vidaresändning av SSH {0} används redan. Finns där en "
-"gammal SSH-tunnel som fortfarande är aktiv?"
+msgid "The local SSH forwarding port {0} is already in use. Is there an old SSH tunnel still active?"
+msgstr "Den lokala porten för vidaresändning av SSH {0} används redan. Finns där en gammal SSH-tunnel som fortfarande är aktiv?"
 
 #: ../src/Frontend/SshTunnelManager.cs:210
 #, csharp-format
@@ -102,3 +91,4 @@ msgstr ""
 #: ../src/Frontend/SshTunnelManager.cs:441
 msgid "PuTTY / Plink requires a username to be set."
 msgstr "PuTTY/Plink kräver att ett användarnamn används."
+
diff --git a/po-Server/LINGUAS b/po-Server/LINGUAS
index d6a6366..d1ab565 100644
--- a/po-Server/LINGUAS
+++ b/po-Server/LINGUAS
@@ -1,2 +1,6 @@
-fr
+cs
+da
 de
+fr
+pt
+sv
diff --git a/po-Server/cs.po b/po-Server/cs.po
new file mode 100644
index 0000000..6d54de0
--- /dev/null
+++ b/po-Server/cs.po
@@ -0,0 +1,110 @@
+# Smuxi - IRC client for sophisticated users
+# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# This file is distributed under the same license as the Smuxi package.
+# Michal Simunek <michal.simunek at gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi-server 0.6.4.1-1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-19 11:31+0200\n"
+"Last-Translator: Michal Simunek <michal.simunek at gmail.com>\n"
+"Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/Server/Main.cs:69
+msgid "Add user to Server"
+msgstr "Přidat uživatele na server"
+
+#: ../src/Server/Main.cs:78
+msgid "Modify existing user of Server"
+msgstr "Upravit existujícího uživatele serveru"
+
+#: ../src/Server/Main.cs:87
+msgid "Delete user from Server"
+msgstr "Smazat uživatele ze serveru"
+
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Procházet všechny existující uživatele serveru"
+
+#: ../src/Server/Main.cs:105
+msgid "User to create, modify or delete"
+msgstr "Uživatel, který se má přidat, upravit či smazat"
+
+#: ../src/Server/Main.cs:114
+msgid "Password of the user when creating or modifying a user"
+msgstr "Heslo vytvářeného či upravovaného uživatele"
+
+#: ../src/Server/Main.cs:123
+msgid "Enable debug output"
+msgstr "Povolit ladicí informace"
+
+#: ../src/Server/Main.cs:131
+msgid "Show this help"
+msgstr "Ukázat tuto nápovědu"
+
+#: ../src/Server/Main.cs:133
+msgid "Usage: smuxi-server [options]"
+msgstr "Používání: smuxi-server [volby]"
+
+#: ../src/Server/Main.cs:135
+msgid "Options:"
+msgstr "Volby:"
+
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Neznámá volba: '{0}'"
+
+#: ../src/Server/Main.cs:170
+#, csharp-format
+msgid "Command line error: {0}"
+msgstr "Chybný příkaz: {0}"
+
+#: ../src/Server/Main.cs:214
+msgid ""
+"At most one of --add-user, --modify-user, and --delete-user may be used at a "
+"time."
+msgstr ""
+"V současné době můžete použít jednu z těchto voleb: --add-user, --modify-user "
+"a --delete-user."
+
+#: ../src/Server/Main.cs:224
+msgid "You must specify a username with the --username option."
+msgstr "U volby --username musíte zadat uživatelské jméno."
+
+#: ../src/Server/Main.cs:230
+msgid "Username must not be empty."
+msgstr "Uživatelské jméno nemůže být prázdné."
+
+#: ../src/Server/Main.cs:240
+msgid "You must specify a password with the --password option."
+msgstr "U volby --password musíte zadat heslo."
+
+#: ../src/Server/Main.cs:246
+msgid "Password must not be empty."
+msgstr "Heslo nemůže být prázdné."
+
+#: ../src/Server/Main.cs:263
+#, csharp-format
+msgid "User \"{0}\" successfully added to server."
+msgstr "Uživatel \"{0}\" byl úspěšně přidán na server."
+
+#: ../src/Server/Main.cs:272
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Uživatel \"{0}\" byl úspěšně upraven."
+
+#: ../src/Server/Main.cs:281
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Uživatel \"{0}\" byl úspěšně smazán ze serveru."
+
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Uživatelé:"
diff --git a/po-Server/da.po b/po-Server/da.po
new file mode 100644
index 0000000..b69e1e7
--- /dev/null
+++ b/po-Server/da.po
@@ -0,0 +1,111 @@
+# Danish translation smuxi po-server.
+# Copyright (C) 2010 smuxi po-server & nedenstående oversættere.
+# This file is distributed under the same license as the smuxi po-server package.
+# Joe Hansen <joedalton2 at yahoo.dk>, 2010.
+#
+# NB: Server er et navn
+# hvorfor er de sidste strenge med lille s?
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi po-server\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-16 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/Server/Main.cs:69
+msgid "Add user to Server"
+msgstr "Tilføj bruger til Server"
+
+#: ../src/Server/Main.cs:78
+msgid "Modify existing user of Server"
+msgstr "Ændr eksisterende bruger af Server"
+
+#: ../src/Server/Main.cs:87
+msgid "Delete user from Server"
+msgstr "Slet bruger fra Server"
+
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Vis alle eksisterende brugere af Server"
+
+#: ../src/Server/Main.cs:105
+msgid "User to create, modify or delete"
+msgstr "Bruger at oprette, ændre eller slette"
+
+#: ../src/Server/Main.cs:114
+msgid "Password of the user when creating or modifying a user"
+msgstr "Adgangskode på brugeren når en bruger oprettes eller ændres"
+
+#: ../src/Server/Main.cs:123
+msgid "Enable debug output"
+msgstr "Aktiver fejlsøgningsuddata"
+
+#: ../src/Server/Main.cs:131
+msgid "Show this help"
+msgstr "Vis denne hjælp"
+
+#: ../src/Server/Main.cs:133
+msgid "Usage: smuxi-server [options]"
+msgstr "Brug: smuxi-server [tilvalg]"
+
+#: ../src/Server/Main.cs:135
+msgid "Options:"
+msgstr "Tilvalg:"
+
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Ukendt tilvalg: '{0}'"
+
+#: ../src/Server/Main.cs:170
+#, csharp-format
+msgid "Command line error: {0}"
+msgstr "Kommandolinjefejl: {0}"
+
+#: ../src/Server/Main.cs:214
+msgid ""
+"At most one of --add-user, --modify-user, and --delete-user may be used at a "
+"time."
+msgstr ""
+"Kun en af brugerne --add-user, --modify-user eller --delete-user kan bruges "
+"på samme tid."
+
+#: ../src/Server/Main.cs:224
+msgid "You must specify a username with the --username option."
+msgstr "Du skal angive et brugernavn med tilvalget --username."
+
+#: ../src/Server/Main.cs:230
+msgid "Username must not be empty."
+msgstr "Brugernavn må ikke være tomt."
+
+#: ../src/Server/Main.cs:240
+msgid "You must specify a password with the --password option."
+msgstr "Du skal angive en adgangskode med tilvalget --password."
+
+#: ../src/Server/Main.cs:246
+msgid "Password must not be empty."
+msgstr "Adgangskode må ikke være tomt."
+
+#: ../src/Server/Main.cs:263
+#, csharp-format
+msgid "User \"{0}\" successfully added to server."
+msgstr "Bruger »{0}« tilføjet til server."
+
+#: ../src/Server/Main.cs:272
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Bruger »{0}« ændret."
+
+#: ../src/Server/Main.cs:281
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Bruger »{0}« slettet fra server."
+
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Brugere:"
diff --git a/po-Server/de.po b/po-Server/de.po
index 21434af..ed5964d 100644
--- a/po-Server/de.po
+++ b/po-Server/de.po
@@ -2,12 +2,12 @@
 # Copyright (C) 2005-2010 Mirco Bauer <meebey at meebey.net>
 # This file is distributed under the same license as the Smuxi package.
 # Bianca Mix <heavydemon at freenet.de>, 2010.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi 0.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 22:46+0100\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
 "PO-Revision-Date: 2010-01-11 00:47+0100\n"
 "Last-Translator: Bianca Mix <heavydemon at freenet.de>\n"
 "Language-Team: German Localization <debian-l10n-german at lists.debian.org>\n"
@@ -15,83 +15,91 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Server/Main.cs:62
+#: ../src/Server/Main.cs:69
 msgid "Add user to Server"
 msgstr "Benutzer zum Server hinzufügen"
 
-#: ../src/Server/Main.cs:71
+#: ../src/Server/Main.cs:78
 msgid "Modify existing user of Server"
 msgstr "Verändern eines bereits existierenden Benutzers des Servers"
 
-#: ../src/Server/Main.cs:80
+#: ../src/Server/Main.cs:87
 msgid "Delete user from Server"
 msgstr "Benutzer vom Server entfernen"
 
-#: ../src/Server/Main.cs:89
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Liste alle vorhandenen Benutzer des Servers"
+
+#: ../src/Server/Main.cs:105
 msgid "User to create, modify or delete"
 msgstr "Benutzer, der erstellt, verändert oder entfernt werden soll"
 
-#: ../src/Server/Main.cs:98
+#: ../src/Server/Main.cs:114
 msgid "Password of the user when creating or modifying a user"
-msgstr ""
-"Passwort für den Benutzer, wenn Benutzer erstellt oder verändert werden soll"
+msgstr "Passwort für den Benutzer, wenn Benutzer erstellt oder verändert werden soll"
 
-#: ../src/Server/Main.cs:107
+#: ../src/Server/Main.cs:123
 msgid "Enable debug output"
 msgstr "Aktivieren der Ausgabe zur Fehlerbeseitigung"
 
-#: ../src/Server/Main.cs:115
+#: ../src/Server/Main.cs:131
 msgid "Show this help"
 msgstr "Zeige diese Hilfe an"
 
-#: ../src/Server/Main.cs:117
+#: ../src/Server/Main.cs:133
 msgid "Usage: smuxi-server [options]"
 msgstr "Verwendung: smuxi-server [options]"
 
-#: ../src/Server/Main.cs:119
+#: ../src/Server/Main.cs:135
 msgid "Options:"
 msgstr "Optionen:"
 
-#: ../src/Server/Main.cs:136
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Unbekannte Auswahl: '{0}'"
+
+#: ../src/Server/Main.cs:170
 #, csharp-format
 msgid "Command line error: {0}"
 msgstr "Kommandozeilenfehler: {0}"
 
-#: ../src/Server/Main.cs:194
-msgid ""
-"At most one of --add-user, --modify-user, and --delete-user may be used at a "
-"time."
-msgstr ""
-"Höchstens einer der Optionen --add-user, --modify-user, und --delete-user "
-"darf gleichzeitig verwendet werden."
+#: ../src/Server/Main.cs:214
+msgid "At most one of --add-user, --modify-user, and --delete-user may be used at a time."
+msgstr "Höchstens einer der Optionen --add-user, --modify-user, und --delete-user darf gleichzeitig verwendet werden."
 
-#: ../src/Server/Main.cs:204
+#: ../src/Server/Main.cs:224
 msgid "You must specify a username with the --username option."
 msgstr "Sie müssen einen Benutzernamen mit der Option --username angeben."
 
-#: ../src/Server/Main.cs:210
+#: ../src/Server/Main.cs:230
 msgid "Username must not be empty."
 msgstr "Benutzername darf nicht leer sein."
 
-#: ../src/Server/Main.cs:220
+#: ../src/Server/Main.cs:240
 msgid "You must specify a password with the --password option."
 msgstr "Sie müssen ein Passwort mit der --password Option angeben."
 
-#: ../src/Server/Main.cs:226
+#: ../src/Server/Main.cs:246
 msgid "Password must not be empty."
 msgstr "Passwort darf nicht leer sein."
 
-#: ../src/Server/Main.cs:241
+#: ../src/Server/Main.cs:263
 #, csharp-format
 msgid "User \"{0}\" successfully added to server."
 msgstr "Benutzer \"{0}\" wurde erfolgreich zum Server hinzugefügt."
 
-#: ../src/Server/Main.cs:250
+#: ../src/Server/Main.cs:272
 #, csharp-format
 msgid "User \"{0}\" successfully modified."
 msgstr "Benutzer \"{0}\" wurde erfolgreich verändert."
 
-#: ../src/Server/Main.cs:259
+#: ../src/Server/Main.cs:281
 #, csharp-format
 msgid "User \"{0}\" successfully deleted from server."
 msgstr "Benutzer \"{0}\" wurde erfolgreich vom Server entfernt."
+
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Benutzer:"
diff --git a/po-Server/fr.po b/po-Server/fr.po
index cb71eed..b346d09 100644
--- a/po-Server/fr.po
+++ b/po-Server/fr.po
@@ -7,57 +7,66 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-09 22:46+0100\n"
-"PO-Revision-Date: 2010-01-09 22:56+0100\n"
-"Last-Translator: Clement BOURGEOIS <moonpyk at gmail.com>\n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 22:28+0100\n"
+"Last-Translator: Clément Bourgeois <moonpyk at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../src/Server/Main.cs:62
+#: ../src/Server/Main.cs:69
 msgid "Add user to Server"
 msgstr "Ajouter un utilisateur au serveur"
 
-#: ../src/Server/Main.cs:71
+#: ../src/Server/Main.cs:78
 msgid "Modify existing user of Server"
 msgstr "Modifier un utilisateur existant du serveur"
 
-#: ../src/Server/Main.cs:80
+#: ../src/Server/Main.cs:87
 msgid "Delete user from Server"
 msgstr "Supprimer un utilisateur du serveur"
 
-#: ../src/Server/Main.cs:89
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Lister tous les utilisateurs existants du serveur"
+
+#: ../src/Server/Main.cs:105
 msgid "User to create, modify or delete"
 msgstr "Utilisateur à créer, modifier ou supprimer"
 
-#: ../src/Server/Main.cs:98
+#: ../src/Server/Main.cs:114
 msgid "Password of the user when creating or modifying a user"
 msgstr ""
 "Mot de passe utilisé pendant la création ou la modification d'un utilisateur."
 
-#: ../src/Server/Main.cs:107
+#: ../src/Server/Main.cs:123
 msgid "Enable debug output"
 msgstr "Activer la sortie de déboguage"
 
-#: ../src/Server/Main.cs:115
+#: ../src/Server/Main.cs:131
 msgid "Show this help"
 msgstr "Affiche cette aide"
 
-#: ../src/Server/Main.cs:117
+#: ../src/Server/Main.cs:133
 msgid "Usage: smuxi-server [options]"
 msgstr "Usage : smuxi-server [options]"
 
-#: ../src/Server/Main.cs:119
+#: ../src/Server/Main.cs:135
 msgid "Options:"
 msgstr "Options :"
 
-#: ../src/Server/Main.cs:136
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Option inconnue : '{0}'"
+
+#: ../src/Server/Main.cs:170
 #, csharp-format
 msgid "Command line error: {0}"
 msgstr "Erreur de ligne de commande : {0}"
 
-#: ../src/Server/Main.cs:194
+#: ../src/Server/Main.cs:214
 msgid ""
 "At most one of --add-user, --modify-user, and --delete-user may be used at a "
 "time."
@@ -65,38 +74,42 @@ msgstr ""
 "Les options -a|--add-user ou -m|--modify-user et -d|-delete-user ne peuvent "
 "pas être utilisées en même temps."
 
-#: ../src/Server/Main.cs:204
+#: ../src/Server/Main.cs:224
 msgid "You must specify a username with the --username option."
 msgstr "Vous devez spécifier un nom d'utilisateur avec l'option --username."
 
-#: ../src/Server/Main.cs:210
+#: ../src/Server/Main.cs:230
 msgid "Username must not be empty."
 msgstr "Le nom d'utilisateur ne peut pas être vide."
 
-#: ../src/Server/Main.cs:220
+#: ../src/Server/Main.cs:240
 msgid "You must specify a password with the --password option."
 msgstr "Vous devez spécifier un mot de passe avec l'option --password."
 
-#: ../src/Server/Main.cs:226
+#: ../src/Server/Main.cs:246
 msgid "Password must not be empty."
 msgstr "Le mot de passe ne peut pas être vide."
 
-#: ../src/Server/Main.cs:241
+#: ../src/Server/Main.cs:263
 #, csharp-format
 msgid "User \"{0}\" successfully added to server."
 msgstr "L'utilisateur \"{0}\" a été ajouté avec succès au serveur."
 
-#: ../src/Server/Main.cs:250
+#: ../src/Server/Main.cs:272
 #, csharp-format
 msgid "User \"{0}\" successfully modified."
 msgstr "L'utilisateur \"{0}\" a été modifié avec succès."
 
-#: ../src/Server/Main.cs:259
+#: ../src/Server/Main.cs:281
 #, csharp-format
 msgid "User \"{0}\" successfully deleted from server."
 msgstr ""
 "L'utilisateur : \"{0}\" a été supprimé de la configuration avec succès."
 
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Utilisateurs :"
+
 #~ msgid ""
 #~ "Error: -a|--add-user and -m|--modify-user options can't be used together"
 #~ msgstr ""
diff --git a/po-Server/pt.po b/po-Server/pt.po
new file mode 100644
index 0000000..80cf9b8
--- /dev/null
+++ b/po-Server/pt.po
@@ -0,0 +1,114 @@
+# Translation of smuxi-server to Portuguese
+# Copyright (C) 2010, the smuxi's copyright holder
+# This file is distributed under the same license as the smuxi package.
+#
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: smuxi-server \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-19 22:21+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Language-Team: Portuguese <traduz at debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../src/Server/Main.cs:69
+msgid "Add user to Server"
+msgstr "Adicionar utilizador ao Servidor"
+
+#: ../src/Server/Main.cs:78
+msgid "Modify existing user of Server"
+msgstr "Modificar utilizador existente do Servidor"
+
+#: ../src/Server/Main.cs:87
+msgid "Delete user from Server"
+msgstr "Apagar utilizador do Servidor"
+
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Listar todos os utilizadores existentes do Servidor"
+
+#: ../src/Server/Main.cs:105
+msgid "User to create, modify or delete"
+msgstr "Utilizador para criar, modificar ou apagar"
+
+#: ../src/Server/Main.cs:114
+msgid "Password of the user when creating or modifying a user"
+msgstr "Palavra-passe do utilizador quando cria ou modifica um utilizador"
+
+#: ../src/Server/Main.cs:123
+msgid "Enable debug output"
+msgstr "Activar saída de depuração"
+
+#: ../src/Server/Main.cs:131
+msgid "Show this help"
+msgstr "Mostra esta ajuda"
+
+#: ../src/Server/Main.cs:133
+msgid "Usage: smuxi-server [options]"
+msgstr "Utilização: smuxi-server [opções]"
+
+#: ../src/Server/Main.cs:135
+msgid "Options:"
+msgstr "Opções:"
+
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Opção desconhecida: '{0}'"
+
+#: ../src/Server/Main.cs:170
+#, csharp-format
+msgid "Command line error: {0}"
+msgstr "Erro da linha de comandos: {0}"
+
+#: ../src/Server/Main.cs:214
+msgid ""
+"At most one of --add-user, --modify-user, and --delete-user may be used at a "
+"time."
+msgstr ""
+"No máximo pode ser usado apenas um de --add-user, --modify-user, e "
+"--delete-user de cada vez."
+
+#: ../src/Server/Main.cs:224
+msgid "You must specify a username with the --username option."
+msgstr "Você tem de especificar um nome de utilizador com a opção --username."
+
+#: ../src/Server/Main.cs:230
+msgid "Username must not be empty."
+msgstr "O nome de utilizador não pode estar vazio."
+
+#: ../src/Server/Main.cs:240
+msgid "You must specify a password with the --password option."
+msgstr "Você tem de especificar uma palavra-passe com a opção --password."
+
+#: ../src/Server/Main.cs:246
+msgid "Password must not be empty."
+msgstr "A palavra-passe não pode estar vazia."
+
+#: ../src/Server/Main.cs:263
+#, csharp-format
+msgid "User \"{0}\" successfully added to server."
+msgstr "Utilizador \"{0}\" adicionado com sucesso ao servidor."
+
+#: ../src/Server/Main.cs:272
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Utilizador \"{0}\" modificado com sucesso."
+
+#: ../src/Server/Main.cs:281
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Utilizador \"{0}\" apagado com sucesso do servidor."
+
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Utilizadores:"
+
+
diff --git a/po-Server/sv.po b/po-Server/sv.po
new file mode 100644
index 0000000..e557fad
--- /dev/null
+++ b/po-Server/sv.po
@@ -0,0 +1,109 @@
+# Smuxi - IRC client for sophisticated users
+# Copyright (C) 2005-2009 Mirco Bauer <meebey at meebey.net>
+# This file is distributed under the same license as the Smuxi package.
+#
+# Martin Bagge <brother at bsnet.se>, 2010
+msgid ""
+msgstr ""
+"Project-Id-Version: Smuxi Server\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-07-15 01:40+0200\n"
+"PO-Revision-Date: 2010-07-15 13:13+0100\n"
+"Last-Translator: Martin Bagge / brother <brother at bsnet.se>\n"
+"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Swedish\n"
+"X-Poedit-Country: Sweden\n"
+
+#: ../src/Server/Main.cs:69
+msgid "Add user to Server"
+msgstr "Lägg till användare till server"
+
+#: ../src/Server/Main.cs:78
+msgid "Modify existing user of Server"
+msgstr "Redigera existerande användare på server"
+
+#: ../src/Server/Main.cs:87
+msgid "Delete user from Server"
+msgstr "Radera användare från server"
+
+#: ../src/Server/Main.cs:96
+msgid "List all existing users of Server"
+msgstr "Visa alla existerande användare på Server"
+
+#: ../src/Server/Main.cs:105
+msgid "User to create, modify or delete"
+msgstr "Användare att skapa, redigera eller radera"
+
+#: ../src/Server/Main.cs:114
+msgid "Password of the user when creating or modifying a user"
+msgstr "Lösenord för användaren som skapas eller redigeras"
+
+#: ../src/Server/Main.cs:123
+msgid "Enable debug output"
+msgstr "Aktivera utskrift av fellogg"
+
+#: ../src/Server/Main.cs:131
+msgid "Show this help"
+msgstr "Visa den här hjälpen"
+
+#: ../src/Server/Main.cs:133
+msgid "Usage: smuxi-server [options]"
+msgstr "Använding: smuxi-server [flaggor]"
+
+#: ../src/Server/Main.cs:135
+msgid "Options:"
+msgstr "Flaggor:"
+
+#: ../src/Server/Main.cs:146
+#, csharp-format
+msgid "Unknown option: '{0}'"
+msgstr "Okänt alternativ: \"{0}\""
+
+#: ../src/Server/Main.cs:170
+#, csharp-format
+msgid "Command line error: {0}"
+msgstr "Komandoradsfel: {0}"
+
+#: ../src/Server/Main.cs:214
+msgid "At most one of --add-user, --modify-user, and --delete-user may be used at a time."
+msgstr "Endast en av --add-user, --modify-user eller --delete-user kan användas i taget."
+
+#: ../src/Server/Main.cs:224
+msgid "You must specify a username with the --username option."
+msgstr "Du måste ange ett användarnamn med flaggan --username."
+
+#: ../src/Server/Main.cs:230
+msgid "Username must not be empty."
+msgstr "Användarnamnet får inte vara tomt."
+
+#: ../src/Server/Main.cs:240
+msgid "You must specify a password with the --password option."
+msgstr "Du måste ange ett lösenord med flaggan --pasword."
+
+#: ../src/Server/Main.cs:246
+msgid "Password must not be empty."
+msgstr "Lösenordet kan inte vara tomt."
+
+#: ../src/Server/Main.cs:263
+#, csharp-format
+msgid "User \"{0}\" successfully added to server."
+msgstr "Användaren \"{0}\" lades till korrekt i servern."
+
+#: ../src/Server/Main.cs:272
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Användaren \"{0}\" redigerades utan besvär."
+
+#: ../src/Server/Main.cs:281
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Användaren \"{0}\" raderades från servern utan besvär."
+
+#: ../src/Server/Main.cs:288
+msgid "Users:"
+msgstr "Användare:"
+
diff --git a/src/AssemblyVersion.cs b/src/AssemblyVersion.cs
index 77aa1c0..e9ce512 100644
--- a/src/AssemblyVersion.cs
+++ b/src/AssemblyVersion.cs
@@ -36,5 +36,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
-[assembly: AssemblyVersion("0.7.1")]
+[assembly: AssemblyVersion("0.7.2")]
 
diff --git a/src/Common/Makefile.am b/src/Common/Makefile.am
index b9c2c5b..67a50b6 100644
--- a/src/Common/Makefile.am
+++ b/src/Common/Makefile.am
@@ -55,7 +55,9 @@ FILES = \
 	LibraryCatalog.cs \
 	NDesk.Options.cs \
 	Defines.cs \
-	TaskQueue.cs
+	TaskQueue.cs \
+	Platform.cs \
+	Pattern.cs 
 	
 DATA_FILES = 
 
diff --git a/src/Common/Makefile.in b/src/Common/Makefile.in
index 39b5def..a2a108f 100644
--- a/src/Common/Makefile.in
+++ b/src/Common/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -280,7 +285,9 @@ FILES = \
 	LibraryCatalog.cs \
 	NDesk.Options.cs \
 	Defines.cs \
-	TaskQueue.cs
+	TaskQueue.cs \
+	Platform.cs \
+	Pattern.cs 
 
 DATA_FILES = 
 RESOURCES = 
diff --git a/src/Common/Pattern.cs b/src/Common/Pattern.cs
new file mode 100644
index 0000000..f822beb
--- /dev/null
+++ b/src/Common/Pattern.cs
@@ -0,0 +1,83 @@
+// Smuxi - Smart MUltipleXed Irc
+// 
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+// 
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace Smuxi.Common
+{
+    public static class Pattern
+    {
+        public static bool IsMatch(string input, string pattern)
+        {
+            if (input == null) {
+                throw new ArgumentNullException("input");
+            }
+            if (pattern == null) {
+                throw new ArgumentNullException("pattern");
+            }
+
+            // regex matching
+            if (pattern.StartsWith("/") &&
+                pattern.EndsWith("/")) {
+                var regexPattern = pattern.Substring(1, pattern.Length - 2);
+                return Regex.IsMatch(input, regexPattern);
+            }
+
+            // globbing
+            if (pattern.Length == 0 &&
+                input.Length == 0) {
+                return true;
+            }
+            if (pattern == "*") {
+                return true;
+            }
+            if (pattern.StartsWith("*") &&
+                pattern.EndsWith("*")) {
+                string globPattern = pattern.Substring(1, pattern.Length - 2);
+                return input.Contains(globPattern);
+            }
+            if (pattern.StartsWith("*")) {
+                string globPattern = pattern.Substring(1);
+                return input.EndsWith(globPattern);
+            }
+            if (pattern.EndsWith("*")) {
+                string globPattern = pattern.Substring(0, pattern.Length - 1);
+                return input.StartsWith(globPattern);
+            }
+
+            // exact matching
+            return input == pattern;
+        }
+
+        public static bool ContainsPatternCharacters(string input)
+        {
+            if (input == null) {
+                throw new ArgumentNullException("input");
+            }
+            if (input.Length == 0) {
+                return false;
+            }
+
+            return !input.StartsWith("*") && !input.EndsWith("*") &&
+                   !(input.StartsWith("/") && input.EndsWith("/"));
+        }
+    }
+}
diff --git a/src/Common/Platform.cs b/src/Common/Platform.cs
new file mode 100644
index 0000000..50fad2d
--- /dev/null
+++ b/src/Common/Platform.cs
@@ -0,0 +1,112 @@
+// $Id$
+// 
+// Smuxi - Smart MUltipleXed Irc
+// 
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+// 
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using System.IO;
+using System.Diagnostics;
+
+namespace Smuxi.Common
+{
+    public static class Platform
+    {
+        public static string OperatingSystem {
+            get {
+                // uname present?
+                try {
+                    var pinfo = new ProcessStartInfo("uname");
+                    pinfo.UseShellExecute = false;
+                    pinfo.RedirectStandardOutput = true;
+                    Process.Start(pinfo);
+                } catch (Exception) {
+                    // fall back to runtime detector
+                    return Environment.OSVersion.Platform.ToString();
+                }
+
+                // GNU/Linux
+                // GNU/kFreeBSD
+                var info = new ProcessStartInfo("uname", "-o");
+                info.UseShellExecute = false;
+                info.RedirectStandardOutput = true;
+                var process = Process.Start(info);
+                process.WaitForExit();
+                if (process.ExitCode == 0) {
+                    return process.StandardOutput.ReadLine();
+                }
+
+                // not all operating systems support -o so lets fallback to -s
+                // Linux
+                // FreeBSD
+                // Darwin
+                info = new ProcessStartInfo("uname", "-s");
+                info.UseShellExecute = false;
+                info.RedirectStandardOutput = true;
+                process = Process.Start(info);
+                process.WaitForExit();
+                if (process.ExitCode == 0) {
+                    return process.StandardOutput.ReadLine();
+                }
+
+                return "Unknown";
+            }
+        }
+        
+        public static string Architecture {
+            get {
+                // uname present?
+                try {
+                    var pinfo = new ProcessStartInfo("uname");
+                    pinfo.UseShellExecute = false;
+                    pinfo.RedirectStandardOutput = true;
+                    Process.Start(pinfo);
+                } catch (Exception) {
+                    // fall back to pointer size
+                    return String.Format("{0}-bit", IntPtr.Size * 8);
+                }
+
+                // i386
+                // i686
+                // x86_64
+                var info = new ProcessStartInfo("uname", "-m");
+                info.UseShellExecute = false;
+                info.RedirectStandardOutput = true;
+                var process = Process.Start(info);
+                process.WaitForExit();
+                if (process.ExitCode == 0) {
+                    return process.StandardOutput.ReadLine();
+                }
+
+                return "Unknown";
+            }
+        }
+
+        public static string LogPath {
+            get {
+                var logPath = Environment.GetFolderPath(
+                    Environment.SpecialFolder.LocalApplicationData
+                );
+                logPath = Path.Combine(logPath, "smuxi");
+                logPath = Path.Combine(logPath, "logs");
+                return logPath;
+            }
+        }
+    }
+}
diff --git a/src/Engine-IRC/Makefile.in b/src/Engine-IRC/Makefile.in
index c626f80..697357b 100644
--- a/src/Engine-IRC/Makefile.in
+++ b/src/Engine-IRC/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
index c9c8661..bb148d1 100644
--- a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
+++ b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
@@ -206,30 +206,33 @@ namespace Smuxi.Engine
 
         public override string ToString()
         {
-            string result = "IRC ";
+            string result = null;
             if (_IrcClient != null) {
-                result += _IrcClient.Address + ":" + _IrcClient.Port;
+                if (String.IsNullOrEmpty(_Network)) {
+                    result += _IrcClient.Address;
+                } else {
+                    result += _Network;
+                }
             }
+            result += " (IRC)";
             
             if (IsConnected) {
                 if (_IrcClient.IsAway) {
                     result += " (" + _("away") + ")";
                 }
+                if (_IrcClient.Lag > TimeSpan.FromSeconds(5)) {
+                    result += String.Format(" ({0})",
+                                    String.Format(
+                                        // TRANSLATOR: {0} is the amount of seconds
+                                        _("lag: {0} seconds"),
+                                        (int) _IrcClient.Lag.TotalSeconds
+                                    )
+                              );
+                }
             } else {
                 result += " (" + _("not connected") + ")";
             }
             
-            TimeSpan lag = _IrcClient.Lag;
-            if (_IrcClient != null && lag > TimeSpan.FromSeconds(5)) {
-                result += String.Format(" ({0})",
-                                String.Format(
-                                    // TRANSLATOR: {0} is the amount of seconds
-                                    _("lag: {0} seconds"),
-                                    (int) lag.TotalSeconds
-                                )
-                          );
-            }
-
             return result;
         }
 
@@ -297,6 +300,9 @@ namespace Smuxi.Engine
                 Session.AddTextToChat(_NetworkChat, "-!- " + msg);
                 Session.AddTextToChat(_NetworkChat, "-!- " + _("Logging in..."));
                 string realname = (string) Session.UserConfig["Connection/Realname"];
+                if (realname.Trim().Length == 0) {
+                    realname = "unset";
+                }
                 _IrcClient.Login(_Nicknames, realname, 0, _Username, _Password);
                 
                 foreach (string command in (string[]) Session.UserConfig["Connection/OnConnectCommands"]) {
@@ -418,7 +424,8 @@ namespace Smuxi.Engine
             
             string channel = null;
             if (filter != null) {
-                if (!filter.Name.StartsWith("*") && !filter.Name.EndsWith("*")) {
+                if (!String.IsNullOrEmpty(filter.Name) &&
+                    !filter.Name.StartsWith("*") && !filter.Name.EndsWith("*")) {
                     channel = String.Format("*{0}*", filter.Name);
                 } else {
                     channel = filter.Name;
@@ -463,14 +470,30 @@ namespace Smuxi.Engine
         public override void CloseChat(FrontendManager fm, ChatModel chat)
         {
             Trace.Call(fm, chat);
-            
+
+            if (fm == null) {
+                throw new ArgumentNullException("chat");
+            }
+            if (chat == null) {
+                throw new ArgumentNullException("chat");
+            }
+
+            // get real chat object from session
+            chat = Session.GetChat(chat.ID, chat.ChatType, this);
+            if (chat == null) {
+#if LOG4NET
+                _Logger.Error("CloseChat(): Session.GetChat(" + chat.ID + ", " + chat.ChatType + ", this) return null!");
+#endif
+                return;
+            }
+            if (!chat.IsEnabled) {
+                Session.RemoveChat(chat);
+                return;
+            }
+
             switch (chat.ChatType) {
                 case ChatType.Person:
-                    // get real chat object from session
-                    chat = Session.GetChat(chat.ID, chat.ChatType, this);
-                    if (chat != null) {
-                        Session.RemoveChat(chat);
-                    }
+                    Session.RemoveChat(chat);
                     break;
                 case ChatType.Group:
                     CommandModel cmd = new CommandModel(fm, _NetworkChat, chat.ID);
@@ -745,7 +768,7 @@ namespace Smuxi.Engine
             "ame action-message",
             "notice (channel|nick) message",
             "anotice message",
-            "invite nick",
+            "invite nick [channel]",
             "who nick/channel",
             "whois nick",
             "whowas nick",
@@ -879,7 +902,7 @@ namespace Smuxi.Engine
             // HACK: clear possible highlights so we can't highlight ourself!
             ClearHighlights(msg);
 
-            Session.AddMessageToChat(chat, msg);
+            Session.AddMessageToChat(chat, msg, true);
         }
         
         public void CommandJoin(CommandModel cd)
@@ -1127,7 +1150,10 @@ namespace Smuxi.Engine
             
             if (cd.DataArray.Length >= 3) {
                 string message = String.Join(" ", cd.DataArray, 2, cd.DataArray.Length-2);
-                _Say(chat, message);
+                // ignore empty messages
+                if (message.TrimEnd(' ').Length > 0) {
+                    _Say(chat, message);
+                }
             }
         }
         
@@ -1141,7 +1167,7 @@ namespace Smuxi.Engine
                 if (chat == null) {
                     // server chat as fallback if we are not joined
                     chat = _NetworkChat;
-                    Session.AddTextToChat(chat, "<" + _IrcClient.Nickname + ":" + channelname + "> " + message);
+                    Session.AddTextToChat(chat, "<" + _IrcClient.Nickname + ":" + channelname + "> " + message, true);
                 } else {
                      _Say(chat, message);
                 }
@@ -1401,7 +1427,12 @@ namespace Smuxi.Engine
             if (cd.DataArray.Length >= 2) {
                 _IrcClient.RfcWhois(cd.DataArray[1]);
             } else {
-                _NotEnoughParameters(cd);
+                if (cd.Chat is PersonChatModel) {
+                    var pchat = (PersonChatModel) cd.Chat;
+                    _IrcClient.RfcWhois(pchat.Person.ID);
+                } else {
+                    _NotEnoughParameters(cd);
+                }
             }
         }
         
@@ -1410,7 +1441,12 @@ namespace Smuxi.Engine
             if (cd.DataArray.Length >= 2) {
                 _IrcClient.RfcWhowas(cd.DataArray[1]);
             } else {
-                _NotEnoughParameters(cd);
+                if (cd.Chat is PersonChatModel) {
+                    var pchat = (PersonChatModel) cd.Chat;
+                    _IrcClient.RfcWhowas(pchat.Person.ID);
+                } else {
+                    _NotEnoughParameters(cd);
+                }
             }
         }
         
@@ -1648,7 +1684,12 @@ namespace Smuxi.Engine
         {
             FrontendManager fm = cd.FrontendManager;
             ChatModel chat = cd.Chat;
-            string channel = chat.ID;
+            string channel;
+            if (cd.DataArray.Length >= 3) {
+                channel = cd.DataArray[2];
+            } else {
+                channel = chat.ID;
+            }
             if (cd.DataArray.Length >= 2) {
                 if (!_IrcClient.IsJoined(channel, cd.DataArray[1])) {
                     _IrcClient.RfcInvite(cd.DataArray[1], channel);
@@ -1657,8 +1698,8 @@ namespace Smuxi.Engine
                                                         cd.DataArray[1], channel));
                 } else {
                     fm.AddTextToChat(chat, "-!- " + String.Format(
-                                                        _("{0} is already on channel"),
-                                                        cd.DataArray[1]));
+                                                        _("{0} is already on {1}"),
+                                                        cd.DataArray[1], channel));
                 }
             } else {
                 _NotEnoughParameters(cd);
@@ -1774,8 +1815,10 @@ namespace Smuxi.Engine
             msg.MessageParts.Add(textMsg);
             
             _IrcMessageToMessageModel(ref msg, cd.Parameter);
-            
-            Session.AddMessageToChat(cd.Chat, msg);
+            // HACK: clear possible highlights so we can't highlight ourself!
+            ClearHighlights(msg);
+
+            Session.AddMessageToChat(cd.Chat, msg, true);
         }
         
         public void CommandNotice(CommandModel cd)
@@ -1795,7 +1838,8 @@ namespace Smuxi.Engine
                 if (chat == null) {
                     chat = _NetworkChat;
                 }
-                Session.AddTextToChat(chat, "[notice(" + target + ")] " + message);
+                Session.AddTextToChat(chat, "[notice(" + target + ")] " +
+                                      message, true);
             }
         }
         
@@ -2052,12 +2096,6 @@ namespace Smuxi.Engine
                     submessage = message;
                 }
                 
-                bool highlight = false;
-                // BUG: don't highlight everything, like nicknames, maybe require whitespace?
-                if (submessage.IndexOf(_IrcClient.Nickname, StringComparison.CurrentCultureIgnoreCase) != -1) {
-                    highlight = true;
-                }
-                
                 TextMessagePartModel msgPart = new TextMessagePartModel();
                 msgPart.Text = submessage;
                 msgPart.Bold = bold;
@@ -2065,19 +2103,27 @@ namespace Smuxi.Engine
                 msgPart.Italic = italic;
                 msgPart.ForegroundColor = fg_color;
                 msgPart.BackgroundColor = bg_color;
-                msgPart.IsHighlight = highlight;
-                if (highlight) {
-                    msgPart.ForegroundColor = TextColor.Parse(
-                        (string) Session.UserConfig["Interface/Notebook/Tab/HighlightColor"]
-                    );
-                }
                 msg.MessageParts.Add(msgPart);
             } while (controlCharFound);
 
+            MarkHighlights(msg);
+
             // parse URLs
             ParseUrls(msg);
         }
         
+        protected override bool ContainsHighlight (string msg)
+        {
+            Regex regex;
+            // First check to see if our current nick is in there.
+            regex = new Regex(String.Format("(^|\\W){0}($|\\W)", _IrcClient.Nickname), RegexOptions.IgnoreCase);
+            if (regex.Match(msg).Success) {
+                return true;
+            } else {
+                return base.ContainsHighlight(msg);
+            }
+        }
+
         private TextColor _IrcTextColorToTextColor(int color)
         {
             switch (color) {
@@ -2135,6 +2181,53 @@ namespace Smuxi.Engine
             }
         }
 
+        private void MarkHighlights(MessageModel msg)
+        {
+            if (msg == null) {
+                throw new ArgumentNullException("msg");
+            }
+
+            bool containsHighlight = false;
+            foreach (MessagePartModel msgPart in msg.MessageParts) {
+                if (!(msgPart is TextMessagePartModel)) {
+                    continue;
+                }
+
+                TextMessagePartModel textMsg = (TextMessagePartModel) msgPart;
+                if (ContainsHighlight(textMsg.Text)) {
+                    containsHighlight = true;
+                }
+            }
+
+            if (!containsHighlight) {
+                // nothing to do
+                return;
+            }
+
+            // colorize the whole message
+            var highlightColor = TextColor.Parse(
+                (string) Session.UserConfig["Interface/Notebook/Tab/HighlightColor"]
+            );
+            foreach (MessagePartModel msgPart in msg.MessageParts) {
+                if (!(msgPart is TextMessagePartModel)) {
+                    continue;
+                }
+
+                TextMessagePartModel textMsg = (TextMessagePartModel) msgPart;
+                if (textMsg.ForegroundColor != null &&
+                    textMsg.ForegroundColor != TextColor.None) {
+                    // HACK: don't overwrite colors as that would replace
+                    // nick-colors for example
+                    continue;
+                }
+                // HACK: we have to mark all parts as highlight else
+                // ClearHighlights() has no chance to properly undo all
+                // highlights
+                textMsg.IsHighlight = true;
+                textMsg.ForegroundColor = highlightColor;
+            }
+        }
+
         private void ApplyConfig(UserConfig config)
         {
             if (String.IsNullOrEmpty(_Username)) {
@@ -2488,6 +2581,38 @@ namespace Smuxi.Engine
         
         private void _OnCtcpRequest(object sender, CtcpEventArgs e)
         {
+            // DoS protection
+            try {
+                switch (e.CtcpCommand.ToLower()) {
+                    case "time":
+                        _IrcClient.SendMessage(
+                            SendType.CtcpReply, e.Data.Nick,
+                            String.Format("{0} {1}",
+                                e.CtcpCommand,
+                                DateTime.Now.ToString(
+                                    "ddd MMM dd HH:mm:ss yyyy",
+                                    DateTimeFormatInfo.InvariantInfo
+                                )
+                            )
+                        );
+                        break;
+                    case "finger":
+                    case "userinfo":
+                        _IrcClient.SendMessage(
+                            SendType.CtcpReply, e.Data.Nick,
+                            String.Format("{0} {1}",
+                                e.CtcpCommand,
+                                (string) Session.UserConfig["Connection/Realname"]
+                            )
+                        );
+                        break;
+                }
+            } catch (Exception ex) {
+#if LOG4NET
+                _Logger.Error("_OnCtcpRequest()", ex);
+#endif
+            }
+
             Session.AddTextToChat(_NetworkChat,
                 String.Format(
                     // TRANSLATOR: {0}: nickname, {1}: ident at host,
@@ -2542,7 +2667,7 @@ namespace Smuxi.Engine
                 return IrcTextColor.Blue;
             }
             
-            return GetIdentityNameColor(nickname);
+            return GetIdentityNameColor(NormalizeNick(nickname.TrimEnd('_')));
         }
         
         private void _OnChannelMessage(object sender, IrcEventArgs e)
@@ -2609,6 +2734,16 @@ namespace Smuxi.Engine
         
         private void _OnQueryMessage(object sender, IrcEventArgs e)
         {
+            MessageModel msg = new MessageModel();
+            TextMessagePartModel msgPart;
+
+            msgPart = new TextMessagePartModel();
+            msgPart.Text = String.Format("<{0}> ", e.Data.Nick);
+            msgPart.IsHighlight = true;
+            msg.MessageParts.Add(msgPart);
+
+            _IrcMessageToMessageModel(ref msg, e.Data.Message);
+
             ChatModel chat = GetChat(e.Data.Nick, ChatType.Person);
             if (chat == null) {
                 IrcPersonModel person = new IrcPersonModel(e.Data.Nick,
@@ -2618,25 +2753,30 @@ namespace Smuxi.Engine
                                                            NetworkID,
                                                            this);
                 chat = new PersonChatModel(person, e.Data.Nick, e.Data.Nick, this);
+                // don't create chats for filtered messages
+                if (Session.IsFilteredMessage(chat, msg)) {
+                    Session.LogMessage(chat, msg, true);
+                    return;
+                }
                 Session.AddChat(chat);
                 Session.SyncChat(chat);
             }
-            
-            MessageModel fmsg = new MessageModel();
-            TextMessagePartModel fmsgti;
-            
-            fmsgti = new TextMessagePartModel();
-            fmsgti.Text = String.Format("<{0}> ", e.Data.Nick);
-            fmsgti.IsHighlight = true;
-            fmsg.MessageParts.Add(fmsgti);
-            
-            _IrcMessageToMessageModel(ref fmsg, e.Data.Message);
-            
-            Session.AddMessageToChat(chat, fmsg);
+
+            Session.AddMessageToChat(chat, msg);
         }
         
         private void _OnQueryAction(object sender, ActionEventArgs e)
         {
+            MessageModel msg = new MessageModel();
+            TextMessagePartModel msgPart;
+
+            msgPart = new TextMessagePartModel();
+            msgPart.Text = String.Format(" * {0} ", e.Data.Nick);
+            msgPart.IsHighlight = true;
+            msg.MessageParts.Add(msgPart);
+
+            _IrcMessageToMessageModel(ref msg, e.ActionMessage);
+
             ChatModel chat = GetChat(e.Data.Nick, ChatType.Person);
             if (chat == null) {
                 IrcPersonModel person = new IrcPersonModel(e.Data.Nick,
@@ -2646,25 +2786,34 @@ namespace Smuxi.Engine
                                                            NetworkID,
                                                            this);
                 chat = new PersonChatModel(person, e.Data.Nick, e.Data.Nick, this);
+                // don't create chats for filtered messages
+                if (Session.IsFilteredMessage(chat, msg)) {
+                    Session.LogMessage(chat, msg, true);
+                    return;
+                }
                 Session.AddChat(chat);
                 Session.SyncChat(chat);
             }
-            
-            MessageModel fmsg = new MessageModel();
-            TextMessagePartModel fmsgti;
-            
-            fmsgti = new TextMessagePartModel();
-            fmsgti.Text = String.Format(" * {0} ", e.Data.Nick);
-            fmsgti.IsHighlight = true;
-            fmsg.MessageParts.Add(fmsgti);
-            
-            _IrcMessageToMessageModel(ref fmsg, e.ActionMessage);
-            
-            Session.AddMessageToChat(chat, fmsg);
+
+            Session.AddMessageToChat(chat, msg);
         }
         
         private void _OnQueryNotice(object sender, IrcEventArgs e)
         {
+            MessageModel msg = new MessageModel();
+            TextMessagePartModel msgPart;
+
+            msgPart = new TextMessagePartModel();
+            msgPart.Text = String.Format("-{0} ({1}@{2})- ",
+                                        e.Data.Nick,
+                                        e.Data.Ident,
+                                        e.Data.Host);
+            // notice shouldn't be a highlight
+            //fmsgti.IsHighlight = true;
+            msg.MessageParts.Add(msgPart);
+
+            _IrcMessageToMessageModel(ref msg, e.Data.Message);
+
             ChatModel chat = null;
             if (e.Data.Nick != null) {
                 chat = GetChat(e.Data.Nick, ChatType.Person);
@@ -2683,26 +2832,17 @@ namespace Smuxi.Engine
                                                                NetworkID,
                                                                this);
                     chat = new PersonChatModel(person, e.Data.Nick, e.Data.Nick, this);
+                    // don't create chats for filtered messages
+                    if (Session.IsFilteredMessage(chat, msg)) {
+                        Session.LogMessage(chat, msg, true);
+                        return;
+                    }
                     Session.AddChat(chat);
                     Session.SyncChat(chat);
                 }
             }
 
-            MessageModel fmsg = new MessageModel();
-            TextMessagePartModel fmsgti;
-            
-            fmsgti = new TextMessagePartModel();
-            fmsgti.Text = String.Format("-{0} ({1}@{2})- ",
-                                        e.Data.Nick,
-                                        e.Data.Ident,
-                                        e.Data.Host);
-            // notice shouldn't be a highlight
-            //fmsgti.IsHighlight = true;
-            fmsg.MessageParts.Add(fmsgti);
-            
-            _IrcMessageToMessageModel(ref fmsg, e.Data.Message);
-            
-            Session.AddMessageToChat(chat, fmsg);
+            Session.AddMessageToChat(chat, msg);
         }
 
         private void _OnJoin(object sender, JoinEventArgs e)
@@ -3397,5 +3537,23 @@ namespace Smuxi.Engine
         {
             return LibraryCatalog.GetString(msg, _LibraryTextDomain);
         }
+        
+        public static string NormalizeNick(string nickname)
+        {
+            string normalized = nickname;
+
+            normalized = normalized.ToLower();
+            normalized = normalized.Replace("[", "{");
+            normalized = normalized.Replace("]", "}");
+            normalized = normalized.Replace("\\", "|");
+            normalized = normalized.Replace("~", "^");
+
+            return normalized;
+        }
+        
+        public static bool CompareNicks(string a, string b)
+        {
+            return NormalizeNick(a) == NormalizeNick(b);
+        }
     }
 }
diff --git a/src/Engine-MSNP/Makefile.in b/src/Engine-MSNP/Makefile.in
index f6b030d..fb27c92 100644
--- a/src/Engine-MSNP/Makefile.in
+++ b/src/Engine-MSNP/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Engine-OSCAR/Makefile.in b/src/Engine-OSCAR/Makefile.in
index b030f51..06a5313 100644
--- a/src/Engine-OSCAR/Makefile.in
+++ b/src/Engine-OSCAR/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Engine-Twitter/Makefile.in b/src/Engine-Twitter/Makefile.in
index c3bbb65..5440b9c 100644
--- a/src/Engine-Twitter/Makefile.in
+++ b/src/Engine-Twitter/Makefile.in
@@ -87,6 +87,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -96,6 +97,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -121,6 +123,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -172,6 +175,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
index faca27f..2aba7b6 100644
--- a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
+++ b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
@@ -98,7 +98,7 @@ namespace Smuxi.Engine
 
             f_FriendsTimelineChat = new GroupChatModel(
                 TwitterChatType.FriendsTimeline.ToString(),
-                _("Friends Timeline"),
+                _("Home Timeline"),
                 this
             );
             f_GroupChats.Add(f_FriendsTimelineChat);
@@ -161,40 +161,40 @@ namespace Smuxi.Engine
             // twitter is sometimes pretty slow, so fetch this in the background
             ThreadPool.QueueUserWorkItem(delegate {
                 try {
-                    msg =_("Fetching user details from Twitter, please wait...");
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg);
+                    var message = _("Fetching user details from Twitter, please wait...");
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message);
 
                     UpdateUser();
 
-                    msg =_("Finished fetching user details.");
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg);
+                    message = _("Finished fetching user details.");
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message);
 
                     f_FriendsTimelineChat.PersonCount = f_TwitterUser.NumberOfFriends;
                     f_RepliesChat.PersonCount = f_TwitterUser.NumberOfFriends;
                     f_DirectMessagesChat.PersonCount = f_TwitterUser.NumberOfFriends;
                 } catch (Exception ex) {
-                    msg =_("Failed to fetch user details from Twitter. Reason: ");
+                    var message = _("Failed to fetch user details from Twitter. Reason: ");
 #if LOG4NET
-                    f_Logger.Error("Connect(): " + msg, ex);
+                    f_Logger.Error("Connect(): " + message, ex);
 #endif
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg + ex.Message);
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message + ex.Message);
                 }
             });
             ThreadPool.QueueUserWorkItem(delegate {
                 try {
-                    msg =_("Fetching friends from Twitter, please wait...");
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg);
+                    var message = _("Fetching friends from Twitter, please wait...");
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message);
 
                     UpdateFriends();
 
-                    msg =_("Finished fetching friends.");
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg);
+                    message = _("Finished fetching friends.");
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message);
                 } catch (Exception ex) {
-                    msg =_("Failed to fetch friends from Twitter. Reason: ");
+                    var message = _("Failed to fetch friends from Twitter. Reason: ");
 #if LOG4NET
-                    f_Logger.Error("Connect(): " + msg, ex);
+                    f_Logger.Error("Connect(): " + message, ex);
 #endif
-                    Session.AddTextToChat(f_ProtocolChat, "-!- " + msg + ex.Message);
+                    Session.AddTextToChat(f_ProtocolChat, "-!- " + message + ex.Message);
                 }
             });
 
@@ -259,6 +259,11 @@ namespace Smuxi.Engine
                 return;
             }
 
+            if (f_UpdateFriendsTimelineThread != null &&
+                f_UpdateFriendsTimelineThread.IsAlive) {
+                return;
+            }
+
             // BUG: causes a race condition as the frontend syncs the
             // unpopulated chat! So only add it if it's ready
             //Session.AddChat(f_FriendsTimelineChat);
@@ -283,6 +288,11 @@ namespace Smuxi.Engine
                 return;
             }
 
+            if (f_UpdateRepliesThread != null &&
+                f_UpdateRepliesThread.IsAlive) {
+                return;
+            }
+
             // BUG: causes a race condition as the frontend syncs the
             // unpopulated chat! So only add it if it's ready
             //Session.AddChat(f_RepliesChat);
@@ -307,6 +317,11 @@ namespace Smuxi.Engine
                 return;
             }
 
+            if (f_UpdateDirectMessagesThread != null &&
+                f_UpdateDirectMessagesThread.IsAlive) {
+                return;
+            }
+
             // BUG: causes a race condition as the frontend syncs the
             // unpopulated chat! So only add it if it's ready
             //Session.AddChat(f_DirectMessagesChat);
@@ -319,12 +334,12 @@ namespace Smuxi.Engine
             f_UpdateDirectMessagesThread.Start();
         }
 
-        private void OpenPrivateChat(int userId)
+        private ChatModel OpenPrivateChat(int userId)
         {
-            OpenPrivateChat(userId.ToString());
+            return OpenPrivateChat(userId.ToString());
         }
 
-        private void OpenPrivateChat(string userId)
+        private ChatModel OpenPrivateChat(string userId)
         {
             ChatModel chat =  Session.GetChat(
                 userId,
@@ -333,7 +348,7 @@ namespace Smuxi.Engine
             );
 
             if (chat != null) {
-                return;
+                return chat;
             }
 
             TwitterUser user = f_Twitter.User.Show(userId);
@@ -352,12 +367,38 @@ namespace Smuxi.Engine
             );
             Session.AddChat(personChat);
             Session.SyncChat(personChat);
+            return personChat;
         }
 
         public override void CloseChat(FrontendManager fm, ChatModel chat)
         {
             Trace.Call(fm, chat);
 
+            if (chat.ChatType == ChatType.Group) {
+               TwitterChatType twitterChatType = (TwitterChatType)
+                    Enum.Parse(typeof(TwitterChatType), chat.ID);
+               switch (twitterChatType) {
+                    case TwitterChatType.FriendsTimeline:
+                        if (f_UpdateFriendsTimelineThread != null &&
+                            f_UpdateFriendsTimelineThread.IsAlive) {
+                            f_UpdateFriendsTimelineThread.Abort();
+                        }
+                        break;
+                    case TwitterChatType.Replies:
+                        if (f_UpdateRepliesThread != null &&
+                            f_UpdateRepliesThread.IsAlive) {
+                            f_UpdateRepliesThread.Abort();
+                        }
+                        break;
+                    case TwitterChatType.DirectMessages:
+                        if (f_UpdateDirectMessagesThread != null &&
+                            f_UpdateDirectMessagesThread.IsAlive) {
+                            f_UpdateDirectMessagesThread.Abort();
+                        }
+                        break;
+                }
+            }
+
             Session.RemoveChat(chat);
         }
 
@@ -456,7 +497,14 @@ namespace Smuxi.Engine
                 switch (twitterChatType) {
                     case TwitterChatType.FriendsTimeline:
                     case TwitterChatType.Replies:
-                        PostUpdate(cmd.Data);
+                        try {
+                            PostUpdate(cmd.Data);
+                        } catch (Exception ex) {
+                            fm.AddTextToChat(cmd.Chat, "-!- " +
+                                String.Format(_("Could not update status - Reason: {0}"),
+                                              ex.Message)
+                            );
+                        }
                         break;
                     case TwitterChatType.DirectMessages:
                         fm.AddTextToChat(
@@ -468,7 +516,17 @@ namespace Smuxi.Engine
                         break;
                 }
             } else if (cmd.Chat.ChatType == ChatType.Person) {
-                SendMessage(cmd.Chat.ID, cmd.Data);
+                try {
+                    SendMessage(cmd.Chat.ID, cmd.Data);
+                } catch (Exception ex) {
+#if LOG4NET
+                    f_Logger.Error(ex);
+#endif
+                    fm.AddTextToChat(cmd.Chat, "-!- " +
+                        String.Format(_("Could not send message - Reason: {0}"),
+                                      ex.Message)
+                    );
+                }
             } else {
                 // ignore protocol chat
             }
@@ -499,11 +557,18 @@ namespace Smuxi.Engine
                 return;
             }
 
-            OpenPrivateChat(user.ID);
+            var chat = OpenPrivateChat(user.ID);
 
             if (cmd.DataArray.Length >= 3) {
                 string message = String.Join(" ", cmd.DataArray, 2, cmd.DataArray.Length-2);
-                SendMessage(user.ID.ToString(), message);
+                try {
+                    SendMessage(user.ID.ToString(), message);
+                } catch (Exception ex) {
+                    fm.AddTextToChat(chat, "-!- " +
+                        String.Format(_("Could not send message - Reason: {0}"),
+                                      ex.Message)
+                    );
+                }
             }
          }
 
@@ -565,10 +630,17 @@ namespace Smuxi.Engine
 #endif
                 string msg =_("An error occurred while fetching the friends timeline from Twitter. Reason: ");
                 Session.AddTextToChat(f_ProtocolChat, "-!- " + msg + ex.Message);
-            }
+            } finally {
 #if LOG4NET
-            f_Logger.Debug("UpdateFriendsTimelineThread(): finishing thread.");
+                f_Logger.Debug("UpdateFriendsTimelineThread(): finishing thread.");
 #endif
+                lock (Session.Chats) {
+                    if (Session.Chats.Contains(f_FriendsTimelineChat)) {
+                        Session.RemoveChat(f_FriendsTimelineChat);
+                    }
+                }
+                f_FriendsTimelineChat.UnsafePersons.Clear();
+            }
         }
 
         private void UpdateFriendsTimeline()
@@ -585,7 +657,7 @@ namespace Smuxi.Engine
                                f_LastFriendsTimelineStatusID);
             }
             TwitterStatusCollection timeline =
-                f_Twitter.Status.FriendsTimeline(parameters);
+                f_Twitter.Status.HomeTimeline(parameters);
 #if LOG4NET
             f_Logger.Debug("UpdateFriendsTimeline(): done. New tweets: " +
                 (timeline == null ? 0 : timeline.Count));
@@ -648,10 +720,17 @@ namespace Smuxi.Engine
 #endif
                 string msg =_("An error occurred while fetching the replies from Twitter. Reason: ");
                 Session.AddTextToChat(f_ProtocolChat, "-!- " + msg + ex.Message);
-            }
+            } finally {
 #if LOG4NET
-            f_Logger.Debug("UpdateRepliesThread(): finishing thread.");
+                f_Logger.Debug("UpdateRepliesThread(): finishing thread.");
 #endif
+                lock (Session.Chats) {
+                    if (Session.Chats.Contains(f_RepliesChat)) {
+                        Session.RemoveChat(f_RepliesChat);
+                    }
+                }
+                f_RepliesChat.UnsafePersons.Clear();
+            }
         }
 
         private void UpdateReplies()
@@ -736,10 +815,17 @@ namespace Smuxi.Engine
 #endif
                 string msg =_("An error occurred while fetching direct messages from Twitter. Reason: ");
                 Session.AddTextToChat(f_ProtocolChat, "-!- " + msg + ex.Message);
-            }
+            } finally {
 #if LOG4NET
-            f_Logger.Debug("UpdateDirectMessagesThread(): finishing thread.");
+                f_Logger.Debug("UpdateDirectMessagesThread(): finishing thread.");
 #endif
+                lock (Session.Chats) {
+                    if (Session.Chats.Contains(f_DirectMessagesChat)) {
+                        Session.RemoveChat(f_DirectMessagesChat);
+                    }
+                }
+                f_DirectMessagesChat.UnsafePersons.Clear();
+            }
         }
 
         private void UpdateDirectMessages()
@@ -950,9 +1036,17 @@ namespace Smuxi.Engine
         {
             Trace.Call(exception == null ? null : exception.GetType());
 
-            if (exception.InnerException is WebException) {
+            if (exception.RequestData != null &&
+                exception.RequestData.ResponseException != null) {
+                CheckWebException(exception.RequestData.ResponseException);
+                return;
+            } else if (exception.InnerException is WebException) {
                 CheckWebException((WebException) exception.InnerException);
                 return;
+            } else if (exception.InnerException != null) {
+#if LOG4NET
+                f_Logger.Warn("CheckTwitterizerException(): unknown inner exception: " + exception.InnerException.GetType(), exception.InnerException);
+#endif
             }
 
             throw exception;
@@ -964,7 +1058,10 @@ namespace Smuxi.Engine
 
             switch (exception.Status) {
                 case WebExceptionStatus.ConnectFailure:
+                case WebExceptionStatus.ConnectionClosed:
+                case WebExceptionStatus.Timeout:
                 case WebExceptionStatus.ReceiveFailure:
+                case WebExceptionStatus.NameResolutionFailure:
                     // ignore temporarly issues
 #if LOG4NET
                     f_Logger.Warn("CheckWebException(): ignored exception", exception);
diff --git a/src/Engine-XMPP/Makefile.in b/src/Engine-XMPP/Makefile.in
index 30a8352..c48b624 100644
--- a/src/Engine-XMPP/Makefile.in
+++ b/src/Engine-XMPP/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Engine/Config/ChannelFilterListController.cs b/src/Engine/Config/ChannelFilterListController.cs
deleted file mode 100644
index 019b286..0000000
--- a/src/Engine/Config/ChannelFilterListController.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * $Id: PreferencesDialog.cs 142 2007-01-02 22:19:08Z meebey $
- * $URL: svn+ssh://svn.qnetp.net/svn/smuxi/smuxi/trunk/src/Frontend-GNOME/PreferencesDialog.cs $
- * $Rev: 142 $
- * $Author: meebey $
- * $Date: 2007-01-02 23:19:08 +0100 (Tue, 02 Jan 2007) $
- *
- * Smuxi - Smart MUltipleXed Irc
- *
- * Copyright (c) 2005-2006 Mirco Bauer <meebey at meebey.net>
- *
- * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-using System;
-using System.Collections.Generic;
-using Smuxi;
-using Smuxi.Common;
-using Smuxi.Engine;
-
-namespace Smuxi.Engine
-{
-    public class ChannelFiltersController
-    {
-        private UserConfig _UserConfig;
-        
-        public ChannelFiltersController(UserConfig userConfig)
-        {
-            _UserConfig = userConfig;
-        }
-        
-        public IList<ChannelFilterModel> GetFilterList()
-        {
-            string[] channels = (string[]) _UserConfig["Filters/Channel/Patterns"];
-            IList<ChannelFilterModel> filters = new List<ChannelFilterModel>();
-            if (channels == null) {
-                return filters;
-            }
-            foreach (string channel in channels) {
-                filters.Add(GetFilter(channel));
-            }
-            return filters;
-        }
-        
-        public ChannelFilterModel GetFilter(string pattern)
-        {
-            string prefix = "Filters/Channel/" + pattern + "/";
-            ChannelFilterModel filter = new ChannelFilterModel();
-            if (_UserConfig[prefix + "Pattern"] == null) {
-                // filter does not exist
-                return null;
-            }
-            filter.Pattern     = (string) _UserConfig[prefix + "Pattern"];
-            filter.FilterJoins = (bool) _UserConfig[prefix + "FilterJoins"];
-            filter.FilterParts = (bool) _UserConfig[prefix + "FilterParts"];
-            filter.FilterQuits = (bool) _UserConfig[prefix + "FilterQuits"];
-            return filter;
-        }
-        
-        public void AddFilter(ChannelFilterModel filter)
-        {
-            string prefix = "Filters/Channel/" + filter.Pattern + "/";
-            _UserConfig[prefix + "Pattern"] = filter.Pattern;
-            _UserConfig[prefix + "FilterJoins"] = filter.FilterJoins;
-            _UserConfig[prefix + "FilterParts"] = filter.FilterParts;
-            _UserConfig[prefix + "FilterQuits"] = filter.FilterQuits;
-            
-            string[] channels = (string[]) _UserConfig["Filters/Channel/Patterns"];
-            if (channels == null) {
-                channels = new string[] {};
-            }
-            List<string> channelList = new List<string>(channels);
-            channelList.Add(filter.Pattern);
-            _UserConfig["Filters/Channel/Patterns"] = channelList.ToArray();
-        }
-
-        public void SetFilter(ChannelFilterModel filter)
-        {
-            string prefix = "Filters/Channel/" + filter.Pattern + "/";
-            _UserConfig[prefix + "Pattern"] = filter.Pattern;
-            _UserConfig[prefix + "FilterJoins"] = filter.FilterJoins;
-            _UserConfig[prefix + "FilterParts"] = filter.FilterParts;
-            _UserConfig[prefix + "FilterQuits"] = filter.FilterQuits;
-        }
-        
-        public void RemoveFilter(string pattern)
-        {
-            // TODO
-        }
-    }
-}
diff --git a/src/Engine/Config/ChannelFilterModel.cs b/src/Engine/Config/ChannelFilterModel.cs
deleted file mode 100644
index 5f5436d..0000000
--- a/src/Engine/Config/ChannelFilterModel.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * $Id: PreferencesDialog.cs 142 2007-01-02 22:19:08Z meebey $
- * $URL: svn+ssh://svn.qnetp.net/svn/smuxi/smuxi/trunk/src/Frontend-GNOME/PreferencesDialog.cs $
- * $Rev: 142 $
- * $Author: meebey $
- * $Date: 2007-01-02 23:19:08 +0100 (Tue, 02 Jan 2007) $
- *
- * Smuxi - Smart MUltipleXed Irc
- *
- * Copyright (c) 2005-2006 Mirco Bauer <meebey at meebey.net>
- *
- * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-using System;
-using Smuxi;
-using Smuxi.Common;
-
-namespace Smuxi.Engine
-{
-    public class ChannelFilterModel
-    {
-        private string _Pattern;
-        private bool   _FilterJoins;
-        private bool   _FilterParts;
-        private bool   _FilterQuits;
-        
-        public string Pattern {
-            get {
-                return _Pattern;
-            }
-            set {
-                _Pattern = value;
-            }
-        }
-        
-        public bool FilterJoins {
-            get {
-                return _FilterJoins;
-            }
-            set {
-                _FilterJoins = value;
-            }
-        }
-        
-        public bool FilterParts {
-            get {
-                return _FilterParts;
-            }
-            set {
-                _FilterParts = value;
-            }
-        }
-        
-        public bool FilterQuits {
-            get {
-                return _FilterQuits;
-            }
-            set {
-                _FilterQuits = value;
-            }
-        }
-        
-        public ChannelFilterModel()
-        {
-        }
-    }
-}
diff --git a/src/Engine/Config/Config.cs b/src/Engine/Config/Config.cs
index 65f355a..6804c2b 100644
--- a/src/Engine/Config/Config.cs
+++ b/src/Engine/Config/Config.cs
@@ -56,7 +56,7 @@ namespace Smuxi.Engine
 #endif
         protected bool          m_IsCleanConfig;
         protected Hashtable     m_Preferences = Hashtable.Synchronized(new Hashtable());
-        public event EventHandler Changed;
+        public event EventHandler<ConfigChangedEventArgs> Changed;
         
         public object this[string key] {
             get {
@@ -69,9 +69,14 @@ namespace Smuxi.Engine
 #endif
                     return;
                 }
+                var oldValue = m_Preferences[key];
                 m_Preferences[key] = value;
-                if (Changed != null) {
-                    Changed(this, EventArgs.Empty);
+
+                // only raise event if the value changed
+                if (!value.Equals(oldValue)) {
+                    if (Changed != null) {
+                        Changed(this, new ConfigChangedEventArgs(key, value));
+                    }
                 }
             }
         }
@@ -177,7 +182,7 @@ namespace Smuxi.Engine
             
 #elif CONFIG_NINI
             // Nini does not support native string lists, have to emulate them
-            string result_str = (string)Get(key, null);
+            string result_str = Get<string>(key, null);
             if (result_str != null) {
                 if (result_str.Length > 0) {
                     result = result_str.Split('|');
@@ -271,6 +276,10 @@ namespace Smuxi.Engine
             prefix = "Engine/Users/DEFAULT/Connection/";
             Get(prefix+"Encoding", String.Empty);
             
+            prefix = "Engine/Users/DEFAULT/Logging/";
+            Get(prefix+"Enabled", false);
+            Get(prefix+"LogFilteredMessages", false);
+
             prefix = "Engine/Users/DEFAULT/Servers/";
             Get(prefix + "Servers", new string[] {
                 "IRC/irc.oftc.net",
@@ -284,6 +293,8 @@ namespace Smuxi.Engine
             Get(prefix + "Hostname", "irc.oftc.net");
             Get(prefix + "Port", 6667);
             Get(prefix + "Network", "OFTC");
+            Get(prefix + "Username", String.Empty);
+            Get(prefix + "Password", String.Empty);
             Get(prefix + "OnStartupConnect", true);
             Get(prefix + "OnConnectCommands",
                 new string[] {
@@ -295,21 +306,29 @@ namespace Smuxi.Engine
             Get(prefix + "Hostname", "irc.gimp.org");
             Get(prefix + "Port", 6667);
             Get(prefix + "Network", "GIMPNet");
+            Get(prefix + "Username", String.Empty);
+            Get(prefix + "Password", String.Empty);
 
             prefix = "Engine/Users/DEFAULT/Servers/IRC/irc.efnet.org/";
             Get(prefix + "Hostname", "irc.efnet.org");
             Get(prefix + "Port", 6667);
             Get(prefix + "Network", "EFnet");
+            Get(prefix + "Username", String.Empty);
+            Get(prefix + "Password", String.Empty);
                 
             prefix = "Engine/Users/DEFAULT/Servers/IRC/irc.ircnet.org/";
             Get(prefix + "Hostname", "irc.ircnet.org");
             Get(prefix + "Port", 6667);
             Get(prefix + "Network", "IRCnet");
+            Get(prefix + "Username", String.Empty);
+            Get(prefix + "Password", String.Empty);
                 
             prefix = "Engine/Users/DEFAULT/Servers/IRC/irc.freenode.net/";
             Get(prefix + "Hostname", "irc.freenode.net");
             Get(prefix + "Port", 6667);
             Get(prefix + "Network", "freenode");
+            Get(prefix + "Username", String.Empty);
+            Get(prefix + "Password", String.Empty);
             
             prefix = "Engine/Users/";
             Get(prefix+"Users", new string[] { "local" });
@@ -385,6 +404,13 @@ namespace Smuxi.Engine
                     m_Preferences[prefix+user+"/Connection/OnConnectCommands"] = new string[] {};
                 }
                 
+                string[] highlight_words = GetList(prefix+user+"/Interface/Chat/HighlightWords");
+                if (highlight_words != null) {
+                    m_Preferences[prefix+user+"/Interface/Chat/HighlightWords"] = highlight_words;
+                } else {
+                    m_Preferences[prefix+user+"/Interface/Chat/HighlightWords"] = new string[] {};
+                }
+
                 LoadUserEntry(user, "Interface/Notebook/TimestampFormat", null);
                 LoadUserEntry(user, "Interface/Notebook/TabPosition", null);
                 LoadUserEntry(user, "Interface/Notebook/BufferLines", null);
@@ -412,6 +438,9 @@ namespace Smuxi.Engine
                 
                 LoadUserEntry(user, "Sound/BeepOnHighlight", null);
                 
+                LoadUserEntry(user, "Logging/Enabled", null);
+                LoadUserEntry(user, "Logging/LogFilteredMessages", null);
+
                 string[] servers = null;
                 string sprefix = prefix + user + "/Servers/";
                 servers = GetList(sprefix + "Servers");
@@ -466,21 +495,22 @@ namespace Smuxi.Engine
                     }
                 }
 
-                string[] channelFilters = null;
-                string cprefix = "Filters/Channel/";
-                channelFilters = GetList(prefix + user + "/" + cprefix + "Patterns");
-                if (channelFilters == null) {
-                    channelFilters = new string[] {};
-                    m_Preferences[prefix + user + "/" + cprefix + "Patterns"] = new string[] {};
+                string[] filters = null;
+                string cprefix = "Filters/";
+                filters = GetList(prefix + user + "/" + cprefix + "Filters");
+                if (filters == null) {
+                    filters = new string[] {};
+                    m_Preferences[prefix + user + "/" + cprefix + "Filters"] = new string[] {};
                 } else {
-                    m_Preferences[prefix + user + "/" + cprefix + "Patterns"] = channelFilters;
+                    m_Preferences[prefix + user + "/" + cprefix + "Filters"] = filters;
                 }
-                foreach (string filter in channelFilters) {
-                    cprefix = "Filters/Channel/" + filter + "/";
-                    LoadUserEntry(user, cprefix + "Pattern", null);
-                    LoadUserEntry(user, cprefix + "FilterJoins", null);
-                    LoadUserEntry(user, cprefix + "FilterParts", null);
-                    LoadUserEntry(user, cprefix + "FilterQuits", null);
+                foreach (string filter in filters) {
+                    cprefix = "Filters/" + filter + "/";
+                    LoadUserEntry(user, cprefix + "Protocol", null);
+                    LoadUserEntry(user, cprefix + "ChatType", null);
+                    LoadUserEntry(user, cprefix + "ChatID", null);
+                    LoadUserEntry(user, cprefix + "MessageType", null);
+                    LoadUserEntry(user, cprefix + "MessagePattern", null);
                 }
             }
         }
@@ -540,7 +570,7 @@ namespace Smuxi.Engine
 #endif
             
             if (Changed != null) {
-                Changed(this, EventArgs.Empty);
+                Changed(this, new ConfigChangedEventArgs(key, null));
             }
         }
 
@@ -628,4 +658,16 @@ namespace Smuxi.Engine
         }
 #endif
     }
+
+    public class ConfigChangedEventArgs : EventArgs
+    {
+        public string Key { get; private set; }
+        public object Value { get; private set; }
+
+        public ConfigChangedEventArgs(string key, object value)
+        {
+            Key = key;
+            Value = value;
+        }
+    }
 }
diff --git a/src/Engine/Config/FilterListController.cs b/src/Engine/Config/FilterListController.cs
new file mode 100644
index 0000000..e5b7a34
--- /dev/null
+++ b/src/Engine/Config/FilterListController.cs
@@ -0,0 +1,184 @@
+/*
+ * Smuxi - Smart MUltipleXed Irc
+ *
+ * Copyright (c) 2005-2006, 2010 Mirco Bauer <meebey at meebey.net>
+ *
+ * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
+using System;
+using System.Collections.Generic;
+using Smuxi.Common;
+using Smuxi.Engine;
+
+namespace Smuxi.Engine
+{
+    public class FilterListController
+    {
+        UserConfig f_UserConfig;
+
+        public FilterListController(UserConfig userConfig)
+        {
+            if (userConfig == null) {
+                throw new ArgumentNullException("userConfig");
+            }
+
+            f_UserConfig = userConfig;
+        }
+
+        public IDictionary<int, FilterModel> GetFilterList()
+        {
+            string[] filterKeys = (string[]) f_UserConfig["Filters/Filters"];
+            var filters = new Dictionary<int, FilterModel>();
+            if (filterKeys == null) {
+                return filters;
+            }
+            foreach (string filterKey in filterKeys) {
+                int key = Int32.Parse(filterKey);
+                var filter = GetFilter(key);
+                if (filter == null) {
+                    continue;
+                }
+                filters.Add(key, filter);
+            }
+            return filters;
+        }
+
+        public FilterModel GetFilter(int key)
+        {
+            Trace.Call(key);
+
+            string prefix = "Filters/" + key + "/";
+            if (f_UserConfig[prefix + "MessagePattern"] == null) {
+                // filter does not exist
+                return null;
+            }
+            FilterModel filter = new FilterModel();
+            filter.Protocol = (string) f_UserConfig[prefix + "Protocol"];
+            var chatType = (string) f_UserConfig[prefix + "ChatType"];
+            if (!String.IsNullOrEmpty(chatType)) {
+                filter.ChatType = (ChatType) Enum.Parse(
+                    typeof(ChatType),
+                    chatType
+                );
+            }
+            filter.ChatID = (string) f_UserConfig[prefix + "ChatID"];
+            var msgType = (string) f_UserConfig[prefix + "MessageType"];
+            if (!String.IsNullOrEmpty(msgType)) {
+                filter.MessageType = (MessageType) Enum.Parse(
+                    typeof(MessageType),
+                    msgType
+                );
+            }
+            filter.MessagePattern = (string) f_UserConfig[prefix + "MessagePattern"];
+            return filter;
+        }
+
+        public int AddFilter(FilterModel filter)
+        {
+            Trace.Call(filter);
+
+            if (filter == null) {
+                throw new ArgumentNullException("filter");
+            }
+
+            string[] filterKeys = (string[]) f_UserConfig["Filters/Filters"];
+            if (filterKeys == null) {
+                filterKeys = new string[] {};
+            }
+            int highestKey = 0;
+            foreach (string filterKey in filterKeys) {
+                int key = Int32.Parse(filterKey);
+                if (key > highestKey) {
+                    highestKey = key;
+                }
+            }
+            int newKey = ++highestKey;
+
+            string prefix = "Filters/" + newKey + "/";
+            f_UserConfig[prefix + "Protocol"] = filter.Protocol;
+            if (filter.ChatType == null) {
+                f_UserConfig[prefix + "ChatType"] = String.Empty;
+            } else {
+                f_UserConfig[prefix + "ChatType"] = filter.ChatType.ToString();
+            }
+            f_UserConfig[prefix + "ChatID"] = filter.ChatID;
+            if (filter.MessageType == null) {
+                f_UserConfig[prefix + "MessageType"] = String.Empty;
+            } else {
+                f_UserConfig[prefix + "MessageType"] = filter.MessageType.ToString();
+            }
+            f_UserConfig[prefix + "MessagePattern"] = filter.MessagePattern;
+
+            List<string> filterKeyList = new List<string>(filterKeys);
+            filterKeyList.Add(newKey.ToString());
+            f_UserConfig["Filters/Filters"] = filterKeyList.ToArray();
+            return newKey;
+        }
+
+        public void SetFilter(int key, FilterModel filter)
+        {
+            Trace.Call(key, filter);
+
+            if (filter == null) {
+                throw new ArgumentNullException("filter");
+            }
+
+            string prefix = "Filters/" + key + "/";
+            f_UserConfig[prefix + "Protocol"] = filter.Protocol;
+            if (filter.ChatType == null) {
+                f_UserConfig[prefix + "ChatType"] = String.Empty;
+            } else {
+                f_UserConfig[prefix + "ChatType"] = filter.ChatType.ToString();
+            }
+            f_UserConfig[prefix + "ChatID"] = filter.ChatID;
+            if (filter.MessageType == null) {
+                f_UserConfig[prefix + "MessageType"] = String.Empty;
+            } else {
+                f_UserConfig[prefix + "MessageType"] = filter.MessageType.ToString();
+            }
+            f_UserConfig[prefix + "MessagePattern"] = filter.MessagePattern;
+        }
+
+        public void RemoveFilter(int key)
+        {
+            Trace.Call(key);
+
+            string filterSection = "Filters/" + key + "/";
+            string[] filterKeys = (string[]) f_UserConfig["Filters/Filters"];
+            if (filterKeys == null) {
+                filterKeys = new string[] {};
+            }
+            List<string> filterKeyList = new List<string>(filterKeys);
+            int idx = filterKeyList.IndexOf(key.ToString());
+            if (idx == -1) {
+                // key not found
+                return;
+            }
+            filterKeyList.RemoveAt(idx);
+            f_UserConfig.Remove(filterSection);
+            f_UserConfig["Filters/Filters"] = filterKeyList.ToArray();
+        }
+
+        public void Save()
+        {
+            Trace.Call();
+
+            f_UserConfig.Save();
+        }
+    }
+}
diff --git a/src/Engine/Messages/MessageType.cs b/src/Engine/Config/FilterModel.cs
similarity index 68%
copy from src/Engine/Messages/MessageType.cs
copy to src/Engine/Config/FilterModel.cs
index e389669..99fdcc1 100644
--- a/src/Engine/Messages/MessageType.cs
+++ b/src/Engine/Config/FilterModel.cs
@@ -1,13 +1,7 @@
 /*
- * $Id: Config.cs 100 2005-08-07 14:54:22Z meebey $
- * $URL: svn+ssh://svn.qnetp.net/svn/smuxi/smuxi/trunk/src/Engine/Config.cs $
- * $Rev: 100 $
- * $Author: meebey $
- * $Date: 2005-08-07 16:54:22 +0200 (Sun, 07 Aug 2005) $
- *
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2006 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2006, 2010 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -27,12 +21,16 @@
  */
 
 using System;
+using Smuxi.Common;
 
 namespace Smuxi.Engine
 {
-    public enum MessageType
+    public class FilterModel
     {
-        Normal,
-        Event
+        public string       Protocol       { get; set; }
+        public string       ChatID         { get; set; }
+        public ChatType?    ChatType       { get; set; }
+        public MessageType? MessageType    { get; set; }
+        public string       MessagePattern { get; set; }
     }
 }
diff --git a/src/Engine/Config/FrontendConfig.cs b/src/Engine/Config/FrontendConfig.cs
index 1c13252..ba14395 100644
--- a/src/Engine/Config/FrontendConfig.cs
+++ b/src/Engine/Config/FrontendConfig.cs
@@ -90,9 +90,9 @@ namespace Smuxi.Engine
             m_Preferences[prefix+"Engines"] = engines;
             foreach (string engine in engines) {
                 string eprefix = prefix+engine+"/"; 
-                LoadEntry(eprefix+"Username", null);
-                LoadEntry(eprefix+"Password", null);
-                LoadEntry(eprefix+"Hostname", null);
+                LoadEntry(eprefix+"Username", String.Empty);
+                LoadEntry(eprefix+"Password", String.Empty);
+                LoadEntry(eprefix+"Hostname", String.Empty);
                 LoadEntry(eprefix+"BindAddress", null);
                 LoadEntry(eprefix+"Port", null);
                 LoadEntry(eprefix+"Channel", null);
@@ -103,7 +103,7 @@ namespace Smuxi.Engine
                 LoadEntry(eprefix+"SshHostname", String.Empty);
                 LoadEntry(eprefix+"SshPort", 22);
                 LoadEntry(eprefix+"SshUsername", String.Empty);
-                LoadEntry(eprefix+"SshPassword", null);
+                LoadEntry(eprefix+"SshPassword", String.Empty);
             }
             
             LoadAllEntries("Frontend/"+_UIName);
diff --git a/src/Engine/Config/ServerListController.cs b/src/Engine/Config/ServerListController.cs
index f56da8b..0b8a579 100644
--- a/src/Engine/Config/ServerListController.cs
+++ b/src/Engine/Config/ServerListController.cs
@@ -95,7 +95,9 @@ namespace Smuxi.Engine
             server.Network     = (string) _UserConfig[prefix + "Network"];
             server.Username    = (string) _UserConfig[prefix + "Username"];
             server.Password    = (string) _UserConfig[prefix + "Password"];
-            server.OnStartupConnect = (bool) _UserConfig[prefix + "OnStartupConnect"];
+            if (_UserConfig[prefix + "OnStartupConnect"] != null) {
+                server.OnStartupConnect = (bool) _UserConfig[prefix + "OnStartupConnect"];
+            }
             server.OnConnectCommands  = _UserConfig[prefix + "OnConnectCommands"] as IList<string>;
             return server;
         }
@@ -121,10 +123,13 @@ namespace Smuxi.Engine
             if (server == null) {
                 throw new ArgumentNullException("server");
             }
-            if (GetServer(server.Protocol, server.Hostname) != null) {
-                throw new InvalidOperationException("Server '" + server.Hostname + "' already exists.");
+            foreach (var s in GetServerList()) {
+                if (s.Protocol == server.Protocol &&
+                    s.Hostname == server.Hostname) {
+                    throw new InvalidOperationException("Server '" + server.Hostname + "' already exists.");
+                }
             }
-            
+
             string prefix = "Servers/" + server.Protocol + "/" + server.Hostname + "/";
             _UserConfig[prefix + "Hostname"] = server.Hostname;
             _UserConfig[prefix + "Port"]     = server.Port;
diff --git a/src/Engine/Config/UserConfig.cs b/src/Engine/Config/UserConfig.cs
index bb17f9d..2f32531 100644
--- a/src/Engine/Config/UserConfig.cs
+++ b/src/Engine/Config/UserConfig.cs
@@ -41,6 +41,8 @@ namespace Smuxi.Engine
         private string    _DefaultPrefix = "Engine/Users/DEFAULT/";
         private Hashtable _Cache; 
         
+        public event EventHandler<ConfigChangedEventArgs> Changed;
+
         public bool IsCaching
         {
             get {
@@ -98,9 +100,23 @@ namespace Smuxi.Engine
         public UserConfig(Config config, string username)
         {
             _Config = config;
+            // HACK: The Changed event was introduced in 0.7.2, for backwards
+            // compatibility with 0.7.x server we need to suppress remoting
+            // exceptions here
+            try {
+                _Config.Changed += OnConfigChanged;
+            } catch (Exception ex) {
+#if LOG4NET
+                _Logger.Warn(
+                    "UserConfig() registration of Config.Changed event failed, " +
+                    "ignoring for backwards compatibility with 0.7.x servers...",
+                    ex
+                );
+#endif
+            }
             _UserPrefix = "Engine/Users/"+username+"/";
         }
-        
+
         public void ClearCache()
         {
             if (IsCaching) {
@@ -128,5 +144,21 @@ namespace Smuxi.Engine
         {
             _Config.Save();
         }
+
+        void OnConfigChanged(object sender, ConfigChangedEventArgs e)
+        {
+            if (Changed == null) {
+                // no listeners
+                return;
+            }
+
+            if (!e.Key.StartsWith(_UserPrefix)) {
+                // setting for some other user has changed
+                return;
+            }
+
+            var key = e.Key.Substring(_UserPrefix.Length);
+            Changed(this, new ConfigChangedEventArgs(key, e.Value));
+        }
     }
 }
diff --git a/src/Engine/Config/UserListController.cs b/src/Engine/Config/UserListController.cs
index 6bd4559..2336955 100644
--- a/src/Engine/Config/UserListController.cs
+++ b/src/Engine/Config/UserListController.cs
@@ -57,7 +57,7 @@ namespace Smuxi.Engine
             CheckPassword(password);
             CheckUserNotExists(username);
 
-            List<string> userList = GetUserList();
+            List<string> userList = GetUsers();
             userList.Add(username);
             f_Config[f_Prefix + "/Users"] = userList.ToArray();
             f_Config[f_Prefix + "/" + username + "/Password"] = password;
@@ -88,7 +88,7 @@ namespace Smuxi.Engine
             CheckUsername(username);
             CheckUserExists(username);
 
-            List<string> userList = GetUserList();
+            List<string> userList = GetUsers();
             userList.Remove(username);
             f_Config[f_Prefix + "/Users"] = userList.ToArray();
             f_Config.Remove(f_Prefix + "/" + username + "/");
@@ -100,10 +100,15 @@ namespace Smuxi.Engine
                 throw new ArgumentNullException("username");
             }
 
-            List<string> usersList = GetUserList();
+            List<string> usersList = GetUsers();
             return usersList.Contains(username);
         }
 
+        public List<string> GetUsers()
+        {
+            return new List<string>((string[]) f_Config[f_Prefix + "/Users"]);
+        }
+
         protected void CheckUsername(string username)
         {
             if (String.IsNullOrEmpty(username) ||
@@ -142,11 +147,6 @@ namespace Smuxi.Engine
             }
         }
 
-        protected List<string> GetUserList()
-        {
-            return new List<string>((string[]) f_Config[f_Prefix + "/Users"]);
-        }
-
         private static string _(string msg)
         {
             return LibraryCatalog.GetString(msg, f_LibraryTextDomain);
diff --git a/src/Engine/Engine.cs b/src/Engine/Engine.cs
index 37cebba..152b13b 100644
--- a/src/Engine/Engine.cs
+++ b/src/Engine/Engine.cs
@@ -29,6 +29,7 @@
 using System;
 using System.IO;
 using System.Reflection;
+using Smuxi.Common;
 
 namespace Smuxi.Engine
 {
@@ -90,7 +91,7 @@ namespace Smuxi.Engine
             AssemblyProductAttribute pr = (AssemblyProductAttribute)asm.GetCustomAttributes(typeof(AssemblyProductAttribute), false)[0];
             _Version = asm_name.Version;
             _VersionNumber = asm_name.Version.ToString();
-            _VersionString = String.Format("{0} {1} - running on {2} {3}-bit", pr.Product, _Version, Environment.OSVersion.Platform.ToString(), IntPtr.Size * 8); 
+            _VersionString = String.Format("{0} {1} - running on {2} {3}", pr.Product, _Version, Platform.OperatingSystem, Platform.Architecture);
             
             _Config = new Config();
             _Config.Load();
diff --git a/src/Engine/FrontendManager.cs b/src/Engine/FrontendManager.cs
index 917d72b..62813df 100644
--- a/src/Engine/FrontendManager.cs
+++ b/src/Engine/FrontendManager.cs
@@ -290,6 +290,9 @@ namespace Smuxi.Engine
         
         public void RemoveChat(ChatModel chat)
         {
+            if (_SyncedChats.Contains(chat)) {
+                _SyncedChats.Remove(chat);
+            }
             f_TaskQueue.Queue(delegate {
                 _UI.RemoveChat(chat);
             });
diff --git a/src/Engine/Makefile.am b/src/Engine/Makefile.am
index 51e3d66..6476e46 100644
--- a/src/Engine/Makefile.am
+++ b/src/Engine/Makefile.am
@@ -74,14 +74,14 @@ FILES = \
 	Chats/SessionChatModel.cs \
 	Chats/ProtocolChatModel.cs \
 	Config/FrontendConfig.cs \
-	Config/ChannelFilterModel.cs \
-	Config/ChannelFilterListController.cs \
 	Config/NotificationAreaIconMode.cs \
 	Config/UserConfig.cs \
 	Config/Config.cs \
 	Config/ServerModel.cs \
 	Config/ServerListController.cs \
 	Config/UserListController.cs \
+	Config/FilterListController.cs \
+	Config/FilterModel.cs \
 	Protocols/ProtocolManagerBase.cs \
 	Protocols/ProtocolManagerFactory.cs \
 	Protocols/ProtocolManagerInfoModel.cs \
diff --git a/src/Engine/Makefile.in b/src/Engine/Makefile.in
index 9338efa..7676401 100644
--- a/src/Engine/Makefile.in
+++ b/src/Engine/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -302,14 +307,14 @@ FILES = \
 	Chats/SessionChatModel.cs \
 	Chats/ProtocolChatModel.cs \
 	Config/FrontendConfig.cs \
-	Config/ChannelFilterModel.cs \
-	Config/ChannelFilterListController.cs \
 	Config/NotificationAreaIconMode.cs \
 	Config/UserConfig.cs \
 	Config/Config.cs \
 	Config/ServerModel.cs \
 	Config/ServerListController.cs \
 	Config/UserListController.cs \
+	Config/FilterListController.cs \
+	Config/FilterModel.cs \
 	Protocols/ProtocolManagerBase.cs \
 	Protocols/ProtocolManagerFactory.cs \
 	Protocols/ProtocolManagerInfoModel.cs \
diff --git a/src/Engine/Protocols/ProtocolManagerBase.cs b/src/Engine/Protocols/ProtocolManagerBase.cs
index bec5414..78cc94e 100644
--- a/src/Engine/Protocols/ProtocolManagerBase.cs
+++ b/src/Engine/Protocols/ProtocolManagerBase.cs
@@ -165,7 +165,9 @@ namespace Smuxi.Engine
         protected virtual void OnConnected(EventArgs e)
         {
             Trace.Call(e);
-            
+
+            Session.UpdateNetworkStatus();
+
             if (Connected != null) {
                 Connected(this, e);
             }
@@ -175,6 +177,8 @@ namespace Smuxi.Engine
         {
             Trace.Call(e);
 
+            Session.UpdateNetworkStatus();
+
             if (Disconnected != null) {
                 Disconnected(this, e);
             }
@@ -318,5 +322,31 @@ namespace Smuxi.Engine
 
             return TextColor.None;
          }
+
+        protected virtual bool ContainsHighlight(string msg)
+        {
+            Regex regex;
+            //go through the user's custom highlight words and check for them.
+            foreach (string HighlightString in (string[]) Session.UserConfig["Interface/Chat/HighlightWords"]) {
+                if (String.IsNullOrEmpty(HighlightString)) {
+                    continue;
+                }
+
+                if (HighlightString.StartsWith("/") && HighlightString.EndsWith("/")) {
+                    // This is a regex, so just build a regex out of the string.
+                    regex = new Regex(HighlightString.Substring(1,HighlightString.Length-2));
+                } else {
+                    // Plain text - make a regex that matches the word as long as it's separated properly.
+                    string regex_string = String.Format("(^|\\W){0}($|\\W)", Regex.Escape(HighlightString));
+                    regex = new Regex(regex_string, RegexOptions.IgnoreCase);
+                }
+
+                if (regex.Match(msg).Success) {
+                    return true;
+                }
+            }
+            
+            return false;
+        }
     }
 }
diff --git a/src/Engine/Session.cs b/src/Engine/Session.cs
index 94728d5..ca3e799 100644
--- a/src/Engine/Session.cs
+++ b/src/Engine/Session.cs
@@ -21,9 +21,13 @@
  */
 
 using System;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
 using System.Collections;
 using System.Collections.Generic;
 using System.Runtime.Remoting;
+using System.Threading;
 using Smuxi.Common;
 
 namespace Smuxi.Engine
@@ -43,6 +47,8 @@ namespace Smuxi.Engine
         private string                                _Username;
         private ProtocolManagerFactory                _ProtocolManagerFactory;
         private UserConfig                            _UserConfig;
+        private FilterListController                  _FilterListController;
+        private ICollection<FilterModel>              _Filters;
         private bool                                  _OnStartupCommandsProcessed;
         
         public IList<IProtocolManager> ProtocolManagers {
@@ -109,12 +115,15 @@ namespace Smuxi.Engine
             _FrontendManagers = new Dictionary<string, FrontendManager>();
             _ProtocolManagers = new List<IProtocolManager>();
             _UserConfig = new UserConfig(config, username);
+            _UserConfig.Changed += OnUserConfigChanged;
+            _FilterListController = new FilterListController(_UserConfig);
+            _Filters = _FilterListController.GetFilterList().Values;
             _Chats = new List<ChatModel>();
             
             _SessionChat = new SessionChatModel("smuxi", "smuxi");
             _Chats.Add(_SessionChat);
         }
-        
+
         public void RegisterFrontendUI(IFrontendUI ui)
         {
             Trace.Call(ui);
@@ -371,7 +380,8 @@ namespace Smuxi.Engine
                 }
             } else {
                 // normal text
-                if (cd.FrontendManager.CurrentProtocolManager == null) {
+                if (cd.Chat.ChatType == ChatType.Session &&
+                    cd.FrontendManager.CurrentProtocolManager == null) {
                     _NotConnected(cd);
                     handled = true;
                 }
@@ -479,16 +489,27 @@ namespace Smuxi.Engine
                                             cd.DataArray.Length - 1));
                 cd = new CommandModel(fm, cd.Chat, cd.CommandCharacter, cmd);
             }
-            protocolManager.Command(cd);
 
-            // set this as current protocol manager
-            // but only if there was none set (we might be on a chat for example)
-            // or if this is the neutral "smuxi" tab
-            if (fm.CurrentProtocolManager == null ||
-                fm.CurrentChat != null && fm.CurrentChat.ChatType == ChatType.Session) {
-                fm.CurrentProtocolManager = protocolManager;
-                fm.UpdateNetworkStatus();
-            }
+            // run in background so it can't block the command queue
+            ThreadPool.QueueUserWorkItem(delegate {
+                try {
+                    protocolManager.Command(cd);
+
+                    // set this as current protocol manager
+                    // but only if there was none set (we might be on a chat for example)
+                    // or if this is the neutral "smuxi" tab
+                    if (fm.CurrentProtocolManager == null ||
+                        (fm.CurrentChat != null && fm.CurrentChat.ChatType == ChatType.Session)) {
+                        fm.CurrentProtocolManager = protocolManager;
+                        fm.UpdateNetworkStatus();
+                    }
+                } catch (Exception ex) {
+#if LOG4NET
+                    f_Logger.Error("CommandConnect(): ", ex);
+#endif
+                    fm.AddTextToChat(cd.Chat, "-!- " + _("Connect failed!"));
+                }
+            });
         }
         
         public void CommandDisconnect(CommandModel cd)
@@ -520,8 +541,12 @@ namespace Smuxi.Engine
                     )
                 );
             } else {
-                fm.CurrentProtocolManager.Disconnect(fm);
-                _ProtocolManagers.Remove(fm.CurrentProtocolManager);
+                var pm = cd.Chat.ProtocolManager;
+                if (pm == null) {
+                    return;
+                }
+                pm.Disconnect(fm);
+                _ProtocolManagers.Remove(pm);
             }
         }
         
@@ -533,8 +558,22 @@ namespace Smuxi.Engine
                 throw new ArgumentNullException("cd");
             }
             
-            FrontendManager fm = cd.FrontendManager;
-            fm.CurrentProtocolManager.Reconnect(fm);
+            var pm = cd.Chat.ProtocolManager;
+            if (pm == null) {
+                return;
+            }
+
+            ThreadPool.QueueUserWorkItem(delegate {
+                try {
+                    pm.Reconnect(cd.FrontendManager);
+                } catch (Exception ex) {
+#if LOG4NET
+                    f_Logger.Error("CommandReconnect(): ", ex);
+#endif
+                    cd.FrontendManager.AddTextToChat(cd.Chat, "-!- " +
+                        _("Reconnect failed!"));
+                }
+            });
         }
         
         public void CommandConfig(CommandModel cd)
@@ -634,10 +673,10 @@ namespace Smuxi.Engine
                     return;
                 }
             } else if (cd.DataArray.Length >= 2) {
-                // current network manager
-                pm = fm.CurrentProtocolManager;
+                // network manager of chat
+                pm = cd.Chat.ProtocolManager;
             }
-            
+
             if (pm != null) {
                 pm.Disconnect(fm);
                 pm.Dispose();
@@ -735,7 +774,12 @@ namespace Smuxi.Engine
             }
             
             lock (_Chats) {
-                _Chats.Remove(chat);
+                if (!_Chats.Remove(chat)) {
+#if LOG4NET
+                    f_Logger.Warn("RemoveChat(): _Chats.Remove(" + chat + ") failed, ignoring...");
+#endif
+                    return;
+                }
             }
             
             lock (_FrontendManagers) {
@@ -794,6 +838,11 @@ namespace Smuxi.Engine
         
         public void AddTextToChat(ChatModel chat, string text)
         {
+            AddTextToChat(chat, text, false);
+        }
+
+        public void AddTextToChat(ChatModel chat, string text, bool ignoreFilters)
+        {
             if (chat == null) {
                 throw new ArgumentNullException("chat");
             }
@@ -801,11 +850,17 @@ namespace Smuxi.Engine
                 throw new ArgumentNullException("text");
             }
             
-            AddMessageToChat(chat, new MessageModel(text));
+            AddMessageToChat(chat, new MessageModel(text), ignoreFilters);
         }
         
         public void AddMessageToChat(ChatModel chat, MessageModel msg)
         {
+            AddMessageToChat(chat, msg, false);
+        }
+
+        public void AddMessageToChat(ChatModel chat, MessageModel msg,
+                                     bool ignoreFilters)
+        {
             if (chat == null) {
                 throw new ArgumentNullException("chat");
             }
@@ -813,6 +868,12 @@ namespace Smuxi.Engine
                 throw new ArgumentNullException("msg");
             }
             
+            bool isFiltered = !ignoreFilters && IsFilteredMessage(chat, msg);
+            LogMessage(chat, msg, isFiltered);
+            if (isFiltered) {
+                return;
+            }
+
             int buffer_lines = (int) UserConfig["Interface/Notebook/EngineBufferLines"];
             if (buffer_lines > 0) {
                 chat.UnsafeMessages.Add(msg);
@@ -1029,6 +1090,132 @@ namespace Smuxi.Engine
             return _ProtocolManagerFactory.CreateProtocolManager(info, this);
         }
         
+        public void LogMessage(ChatModel chat, MessageModel msg, bool isFiltered)
+        {
+            if (chat == null) {
+                throw new ArgumentNullException("chat");
+            }
+            if (msg == null) {
+                throw new ArgumentNullException("msg");
+            }
+
+            if (!(bool) UserConfig["Logging/Enabled"]) {
+                return;
+            }
+            if (isFiltered && !(bool) UserConfig["Logging/LogFilteredMessages"]) {
+                return;
+            }
+
+            if (chat.ChatType == ChatType.Session ||
+                chat.ChatType == ChatType.Protocol) {
+                return;
+            }
+
+            try {
+                var logPath = Platform.LogPath;
+                var protocol = chat.ProtocolManager.Protocol.ToLower();
+                // HACK: twitter retrieves older messages and we don't want to
+                // re-log those when the twitter connection is re-opened
+                if (protocol == "twitter") {
+                    return;
+                }
+                var network = chat.ProtocolManager.NetworkID.ToLower();
+                logPath = Path.Combine(logPath, protocol);
+                if (network != protocol) {
+                    logPath = Path.Combine(logPath, network);
+                }
+                if (!Directory.Exists(logPath)) {
+                    Directory.CreateDirectory(logPath);
+                }
+                var chatId = chat.ID.Replace(" ", "_").ToLower();
+                logPath = Path.Combine(logPath, String.Format("{0}.log", chatId));
+                using (var stream = File.AppendText(logPath)) {
+                    stream.WriteLine(
+                        String.Format(
+                            "[{0:yyyy-MM-dd HH:mm:ss}] {1}",
+                            msg.TimeStamp.ToLocalTime(),
+                            msg.ToString()
+                        )
+                    );
+                }
+            } catch (Exception ex) {
+#if LOG4NET
+                f_Logger.Error("LogMessage(): logging error", ex);
+#endif
+            }
+        }
+
+        public bool IsFilteredMessage(ChatModel chat, MessageModel msg)
+        {
+            if (chat == null) {
+                throw new ArgumentNullException("chat");
+            }
+            if (msg == null) {
+                throw new ArgumentNullException("msg");
+            }
+
+            return IsFilteredMessage(chat, msg.ToString(), msg.MessageType);
+        }
+
+        public bool IsFilteredMessage(ChatModel chat, string msg,
+                                      MessageType msgType)
+        {
+            if (chat == null) {
+                throw new ArgumentNullException("chat");
+            }
+            if (msg == null) {
+                throw new ArgumentNullException("msg");
+            }
+
+            lock (_Filters) {
+                foreach (var filter in _Filters) {
+                    if (!String.IsNullOrEmpty(filter.Protocol) &&
+                        chat.ProtocolManager != null &&
+                        filter.Protocol != chat.ProtocolManager.Protocol) {
+                        continue;
+                    }
+                    if (filter.ChatType.HasValue &&
+                        filter.ChatType != chat.ChatType) {
+                        continue;
+                    }
+                    if (!String.IsNullOrEmpty(filter.ChatID) &&
+                        !Pattern.IsMatch(chat.ID, filter.ChatID)) {
+                        continue;
+                    }
+                    if (filter.MessageType.HasValue &&
+                        filter.MessageType != msgType) {
+                        continue;
+                    }
+                    if (!String.IsNullOrEmpty(filter.MessagePattern)) {
+                        var pattern = filter.MessagePattern;
+                        if (!Pattern.ContainsPatternCharacters(pattern)) {
+                            // use globbing by default
+                            pattern = String.Format("*{0}*", pattern);
+                        }
+                        if (!Pattern.IsMatch(msg, pattern)) {
+                            continue;
+                        }
+                    }
+
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+       void OnUserConfigChanged(object sender, ConfigChangedEventArgs e)
+       {
+            if (e.Key.StartsWith("Filters/")) {
+#if LOG4NET
+                f_Logger.Debug("OnUserConfigChanged(): refreshing filters");
+#endif
+                // referesh filters
+                // TODO: use a timeout here to only refresh once in 1 second
+                _Filters = _FilterListController.GetFilterList().Values;
+            }
+       }
+
         private static string _(string msg)
         {
             return LibraryCatalog.GetString(msg, _LibraryTextDomain);
diff --git a/src/Frontend-Curses/Makefile.in b/src/Frontend-Curses/Makefile.in
index d67584d..987e2b7 100644
--- a/src/Frontend-Curses/Makefile.in
+++ b/src/Frontend-Curses/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Frontend-GNOME-IRC/CtcpMenu.cs b/src/Frontend-GNOME-IRC/CtcpMenu.cs
new file mode 100644
index 0000000..18af5b0
--- /dev/null
+++ b/src/Frontend-GNOME-IRC/CtcpMenu.cs
@@ -0,0 +1,181 @@
+// Smuxi - Smart MUltipleXed Irc
+//
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+//
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using System.Collections.Generic;
+using Smuxi.Common;
+using Smuxi.Engine;
+
+namespace Smuxi.Frontend.Gnome
+{
+    public class CtcpMenu : Gtk.Menu
+    {
+        private static readonly string _LibraryTextDomain = "smuxi-frontend-gnome-irc";
+        IrcProtocolManager ProtocolManager { get; set; }
+        ChatViewManager    ChatViewManager { get; set; }
+        IList<PersonModel> Targets { get; set; }
+        bool               IsPopulated { get; set; }
+
+        public CtcpMenu(IrcProtocolManager protocolManager,
+                        ChatViewManager chatViewManager,
+                        PersonModel target) :
+                   this(protocolManager,
+                        chatViewManager,
+                        new [] { target })
+        {
+        }
+
+        public CtcpMenu(IrcProtocolManager protocolManager,
+                        ChatViewManager chatViewManager,
+                        IList<PersonModel> targets)
+        {
+            if (protocolManager == null) {
+                throw new ArgumentNullException("protocolManager");
+            }
+            if (chatViewManager == null) {
+                throw new ArgumentNullException("chatViewManager");
+            }
+            if (targets == null) {
+                throw new ArgumentNullException("targets");
+            }
+
+            ProtocolManager = protocolManager;
+            ChatViewManager = chatViewManager;
+            Targets = targets;
+        }
+
+        protected override void OnShown()
+        {
+            Trace.Call();
+
+            if (!IsPopulated) {
+                IsPopulated = true;
+
+                Gtk.MenuItem item;
+                item = new Gtk.MenuItem(_("Ping"));
+                item.Activated += OnPingItemActivated;
+                item.Show();
+                Append(item);
+
+                item = new Gtk.MenuItem(_("Version"));
+                item.Activated += OnVersionItemActivated;
+                item.Show();
+                Append(item);
+
+                item = new Gtk.MenuItem(_("Time"));
+                item.Activated += OnTimeItemActivated;
+                item.Show();
+                Append(item);
+
+                item = new Gtk.MenuItem(_("Finger"));
+                item.Activated += OnFingerItemActivated;
+                item.Show();
+                Append(item);
+
+                item = new Gtk.MenuItem(_("Userinfo"));
+                item.Activated += OnUserinfoItemActivated;
+                item.Show();
+                Append(item);
+            }
+
+            base.OnShown();
+        }
+
+        void OnPingItemActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            foreach (PersonModel target in Targets) {
+                ProtocolManager.CommandPing(
+                    new CommandModel(
+                        Frontend.FrontendManager,
+                        ChatViewManager.ActiveChat.ChatModel,
+                        target.ID
+                    )
+                );
+            }
+        }
+
+        void OnVersionItemActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            foreach (PersonModel target in Targets) {
+                ProtocolManager.CommandVersion(
+                    new CommandModel(
+                        Frontend.FrontendManager,
+                        ChatViewManager.ActiveChat.ChatModel,
+                        target.ID
+                    )
+                );
+            }
+        }
+
+        void OnTimeItemActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            foreach (PersonModel target in Targets) {
+                ProtocolManager.CommandTime(
+                    new CommandModel(
+                        Frontend.FrontendManager,
+                        ChatViewManager.ActiveChat.ChatModel,
+                        target.ID
+                    )
+                );
+            }
+        }
+
+        void OnFingerItemActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            foreach (PersonModel target in Targets) {
+                ProtocolManager.CommandFinger(
+                    new CommandModel(
+                        Frontend.FrontendManager,
+                        ChatViewManager.ActiveChat.ChatModel,
+                        target.ID
+                    )
+                );
+            }
+        }
+
+        void OnUserinfoItemActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            foreach (PersonModel target in Targets) {
+                ProtocolManager.CommandCtcp(
+                    new CommandModel(
+                        Frontend.FrontendManager,
+                        ChatViewManager.ActiveChat.ChatModel,
+                        String.Format("{0} {1}", target.ID, "USERINFO")
+                    )
+                );
+            }
+        }
+
+        private static string _(string msg)
+        {
+            return LibraryCatalog.GetString(msg, _LibraryTextDomain);
+        }
+    }
+}
diff --git a/src/Frontend-GNOME-IRC/InviteToMenu.cs b/src/Frontend-GNOME-IRC/InviteToMenu.cs
new file mode 100644
index 0000000..94a738e
--- /dev/null
+++ b/src/Frontend-GNOME-IRC/InviteToMenu.cs
@@ -0,0 +1,99 @@
+// Smuxi - Smart MUltipleXed Irc
+//
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+//
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using System.Collections.Generic;
+using Smuxi.Common;
+using Smuxi.Engine;
+
+namespace Smuxi.Frontend.Gnome
+{
+    public class InviteToMenu : Gtk.Menu
+    {
+        IrcProtocolManager ProtocolManager { get; set; }
+        ChatViewManager    ChatViewManager { get; set; }
+        IList<PersonModel> Invitees { get; set; }
+        bool               IsPopulated { get; set; }
+
+        public InviteToMenu(IrcProtocolManager protocolManager,
+                            ChatViewManager chatViewManager,
+                            PersonModel invitee) :
+                       this(protocolManager,
+                            chatViewManager,
+                            new [] { invitee })
+        {
+        }
+
+        public InviteToMenu(IrcProtocolManager protocolManager,
+                            ChatViewManager chatViewManager,
+                            IList<PersonModel> invitees)
+        {
+            if (protocolManager == null) {
+                throw new ArgumentNullException("protocolManager");
+            }
+            if (chatViewManager == null) {
+                throw new ArgumentNullException("chatViewManager");
+            }
+            if (invitees == null) {
+                throw new ArgumentNullException("invitees");
+            }
+
+            ProtocolManager = protocolManager;
+            ChatViewManager = chatViewManager;
+            Invitees = invitees;
+        }
+
+        protected override void OnShown()
+        {
+            Trace.Call();
+
+            if (!IsPopulated) {
+                IsPopulated = true;
+                foreach (var chatView in ChatViewManager.Chats) {
+                    if (!(chatView is GroupChatView)) {
+                        continue;
+                    }
+
+                    var item = new Gtk.ImageMenuItem(chatView.Name);
+                    item.Image = new Gtk.Image(GroupChatView.IconPixbuf);
+                    // HACK: anonymous methods inside foreach loops needs this
+                    var chat = chatView;
+                    item.Activated += delegate {
+                        foreach (var invitee in Invitees) {
+                            ProtocolManager.CommandInvite(
+                                new CommandModel(
+                                    Frontend.FrontendManager,
+                                    ChatViewManager.ActiveChat.ChatModel,
+                                    String.Format("{0} {1}",
+                                                  invitee.ID,
+                                                  chat.ID)
+                                )
+                            );
+                        }
+                    };
+                    item.Show();
+                    Append(item);
+                }
+            }
+
+            base.OnShown();
+        }
+    }
+}
diff --git a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
index 01bb51a..da2d8fb 100644
--- a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
+++ b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
@@ -49,73 +49,6 @@ namespace Smuxi.Frontend.Gnome
 
             _IrcProtocolManager = (IrcProtocolManager) groupChat.ProtocolManager;
             
-            if (PersonMenu != null) {
-                Gtk.ImageMenuItem op_item = new Gtk.ImageMenuItem(_("Op"));
-                op_item.Activated += new EventHandler(_OnUserListMenuOpActivated);
-                PersonMenu.Append(op_item);
-                
-                Gtk.ImageMenuItem deop_item = new Gtk.ImageMenuItem(_("Deop"));
-                deop_item.Activated += new EventHandler(_OnUserListMenuDeopActivated);
-                PersonMenu.Append(deop_item);
-                
-                Gtk.ImageMenuItem voice_item = new Gtk.ImageMenuItem(_("Voice"));
-                voice_item.Activated += new EventHandler(_OnUserListMenuVoiceActivated);
-                PersonMenu.Append(voice_item);
-                
-                Gtk.ImageMenuItem devoice_item = new Gtk.ImageMenuItem(_("Devoice"));
-                devoice_item.Activated += new EventHandler(_OnUserListMenuDevoiceActivated);
-                PersonMenu.Append(devoice_item);
-                
-                Gtk.ImageMenuItem kick_item = new Gtk.ImageMenuItem(_("Kick"));
-                kick_item.Activated += new EventHandler(_OnUserListMenuKickActivated);
-                PersonMenu.Append(kick_item);
-
-                Gtk.ImageMenuItem kickban_item = new Gtk.ImageMenuItem(_("Kick + Ban"));
-                kickban_item.Activated += new EventHandler(_OnUserListMenuKickBanActivated);
-                PersonMenu.Append(kickban_item);
-                
-                Gtk.ImageMenuItem ban_item = new Gtk.ImageMenuItem(_("Ban"));
-                ban_item.Activated += new EventHandler(_OnUserListMenuBanActivated);
-                PersonMenu.Append(ban_item);
-
-                Gtk.ImageMenuItem unban_item = new Gtk.ImageMenuItem(_("Unban"));
-                unban_item.Activated += new EventHandler(_OnUserListMenuUnbanActivated);
-                PersonMenu.Append(unban_item);
-                
-                PersonMenu.Append(new Gtk.SeparatorMenuItem());
-                
-                Gtk.ImageMenuItem query_item = new Gtk.ImageMenuItem(_("Query"));
-                query_item.Activated += new EventHandler(_OnUserListMenuQueryActivated);
-                PersonMenu.Append(query_item);
-
-                Gtk.ImageMenuItem whois_item = new Gtk.ImageMenuItem(_("Whois"));
-                whois_item.Activated += _OnUserListMenuWhoisActivated;
-                PersonMenu.Append(whois_item);
-
-                Gtk.Menu ctcp_menu = new Gtk.Menu();
-                Gtk.MenuItem ctcp_item = new Gtk.MenuItem(_("CTCP"));
-                ctcp_item.Submenu = ctcp_menu;
-
-                Gtk.MenuItem ctcp_ping_item = new Gtk.MenuItem(_("Ping"));
-                ctcp_ping_item.Activated += _OnUserListMenuCtcpPingActivated;
-                ctcp_menu.Append(ctcp_ping_item);
-
-                Gtk.MenuItem ctcp_version_item = new Gtk.MenuItem(_("Version"));
-                ctcp_version_item.Activated += _OnUserListMenuCtcpVersionActivated;
-                ctcp_menu.Append(ctcp_version_item);
-
-                Gtk.MenuItem ctcp_time_item = new Gtk.MenuItem(_("Time"));
-                ctcp_time_item.Activated += _OnUserListMenuCtcpTimeActivated;
-                ctcp_menu.Append(ctcp_time_item);
-
-                Gtk.MenuItem ctcp_finger_item = new Gtk.MenuItem(_("Finger"));
-                ctcp_finger_item.Activated += _OnUserListMenuCtcpFingerActivated;
-                ctcp_menu.Append(ctcp_finger_item);
-
-                ctcp_menu.ShowAll();
-                PersonMenu.Append(ctcp_item);
-            }
-            
             if (PersonTreeView != null) {
                 Gtk.CellRendererText cellr = new Gtk.CellRendererText();
                 // HACK: for some reason GTK is giving the space of 2 chars which
@@ -352,7 +285,7 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
-        private void _OnUserListMenuCtcpPingActivated(object sender, EventArgs e)
+        private void _OnUserListMenuWhoisActivated(object sender, EventArgs e)
         {
             Trace.Call(sender, e);
 
@@ -362,7 +295,7 @@ namespace Smuxi.Frontend.Gnome
             }
 
             foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandPing(
+                _IrcProtocolManager.CommandWhoIs(
                     new CommandModel(
                         Frontend.FrontendManager,
                         ChatModel,
@@ -372,17 +305,19 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
-        private void _OnUserListMenuCtcpVersionActivated(object sender, EventArgs e)
+        protected override void OnPersonsRowActivated(object sender, Gtk.RowActivatedArgs e)
         {
             Trace.Call(sender, e);
 
+            base.OnPersonsRowActivated(sender, e);
+
             IList<PersonModel> persons = GetSelectedPersons();
             if (persons == null) {
                 return;
             }
 
             foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandVersion(
+                _IrcProtocolManager.CommandMessageQuery(
                     new CommandModel(
                         Frontend.FrontendManager,
                         ChatModel,
@@ -392,86 +327,75 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
-        private void _OnUserListMenuCtcpTimeActivated(object sender, EventArgs e)
+        protected override void OnPersonMenuShown(object sender, EventArgs e)
         {
             Trace.Call(sender, e);
 
-            IList<PersonModel> persons = GetSelectedPersons();
-            if (persons == null) {
-                return;
+            foreach (var child in PersonMenu.Children) {
+                PersonMenu.Remove(child);
             }
 
-            foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandTime(
-                    new CommandModel(
-                        Frontend.FrontendManager,
-                        ChatModel,
-                        person.ID
-                    )
-                );
-            }
-        }
+            base.OnPersonMenuShown(sender, e);
 
-        private void _OnUserListMenuCtcpFingerActivated(object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
+            Gtk.ImageMenuItem op_item = new Gtk.ImageMenuItem(_("Op"));
+            op_item.Activated += _OnUserListMenuOpActivated;
+            PersonMenu.Append(op_item);
 
-            IList<PersonModel> persons = GetSelectedPersons();
-            if (persons == null) {
-                return;
-            }
+            Gtk.ImageMenuItem deop_item = new Gtk.ImageMenuItem(_("Deop"));
+            deop_item.Activated += _OnUserListMenuDeopActivated;
+            PersonMenu.Append(deop_item);
 
-            foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandFinger(
-                    new CommandModel(
-                        Frontend.FrontendManager,
-                        ChatModel,
-                        person.ID
-                    )
-                );
-            }
-        }
-        
-        private void _OnUserListMenuWhoisActivated(object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
+            Gtk.ImageMenuItem voice_item = new Gtk.ImageMenuItem(_("Voice"));
+            voice_item.Activated += _OnUserListMenuVoiceActivated;
+            PersonMenu.Append(voice_item);
 
-            IList<PersonModel> persons = GetSelectedPersons();
-            if (persons == null) {
-                return;
-            }
+            Gtk.ImageMenuItem devoice_item = new Gtk.ImageMenuItem(_("Devoice"));
+            devoice_item.Activated += _OnUserListMenuDevoiceActivated;
+            PersonMenu.Append(devoice_item);
 
-            foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandWhoIs(
-                    new CommandModel(
-                        Frontend.FrontendManager,
-                        ChatModel,
-                        person.ID
-                    )
-                );
-            }
-        }
-        
-        protected override void OnPersonsRowActivated(object sender, Gtk.RowActivatedArgs e)
-        {
-            Trace.Call(sender, e);
-            
-            base.OnPersonsRowActivated(sender, e);
-            
-            IList<PersonModel> persons = GetSelectedPersons();
-            if (persons == null) {
-                return;
-            }
+            Gtk.ImageMenuItem kick_item = new Gtk.ImageMenuItem(_("Kick"));
+            kick_item.Activated += _OnUserListMenuKickActivated;
+            PersonMenu.Append(kick_item);
 
-            foreach (PersonModel person in persons) {
-                _IrcProtocolManager.CommandMessageQuery(
-                    new CommandModel(
-                        Frontend.FrontendManager,
-                        ChatModel,
-                        person.ID
-                    )
-                );
-            }
+            Gtk.ImageMenuItem kickban_item = new Gtk.ImageMenuItem(_("Kick + Ban"));
+            kickban_item.Activated += _OnUserListMenuKickBanActivated;
+            PersonMenu.Append(kickban_item);
+
+            Gtk.ImageMenuItem ban_item = new Gtk.ImageMenuItem(_("Ban"));
+            ban_item.Activated += _OnUserListMenuBanActivated;
+            PersonMenu.Append(ban_item);
+
+            Gtk.ImageMenuItem unban_item = new Gtk.ImageMenuItem(_("Unban"));
+            unban_item.Activated += _OnUserListMenuUnbanActivated;
+            PersonMenu.Append(unban_item);
+
+            PersonMenu.Append(new Gtk.SeparatorMenuItem());
+
+            Gtk.ImageMenuItem query_item = new Gtk.ImageMenuItem(_("Query"));
+            query_item.Activated += _OnUserListMenuQueryActivated;
+            PersonMenu.Append(query_item);
+
+            Gtk.ImageMenuItem whois_item = new Gtk.ImageMenuItem(_("Whois"));
+            whois_item.Activated += _OnUserListMenuWhoisActivated;
+            PersonMenu.Append(whois_item);
+
+            Gtk.MenuItem ctcp_item = new Gtk.MenuItem(_("CTCP"));
+            Gtk.Menu ctcp_menu = new CtcpMenu(
+                _IrcProtocolManager,
+                Frontend.MainWindow.ChatViewManager,
+                GetSelectedPersons()
+            );
+            ctcp_item.Submenu = ctcp_menu;
+            PersonMenu.Append(ctcp_item);
+
+            Gtk.MenuItem invite_to_item = new Gtk.MenuItem(_("Invite to"));
+            Gtk.Menu invite_to_menu_item = new InviteToMenu(
+                _IrcProtocolManager,
+                Frontend.MainWindow.ChatViewManager,
+                GetSelectedPersons()
+            );
+            invite_to_item.Submenu = invite_to_menu_item;
+            PersonMenu.Append(invite_to_item);
         }
 
         protected override int SortPersonListStore(Gtk.TreeModel model,
diff --git a/src/Frontend-GNOME-IRC/IrcPersonChatView.cs b/src/Frontend-GNOME-IRC/IrcPersonChatView.cs
index ae0f9a5..88c580f 100644
--- a/src/Frontend-GNOME-IRC/IrcPersonChatView.cs
+++ b/src/Frontend-GNOME-IRC/IrcPersonChatView.cs
@@ -50,6 +50,10 @@ namespace Smuxi.Frontend.Gnome
         
         private void _OnOutputMessageTextViewPopulatePopup (object o, Gtk.PopulatePopupArgs args)
         {
+            if (OutputMessageTextView.IsAtUrlTag) {
+                return;
+            }
+
             Gtk.Menu popup = args.Menu;
 
             popup.Append(new Gtk.SeparatorMenuItem());
@@ -59,25 +63,18 @@ namespace Smuxi.Frontend.Gnome
             popup.Append(whois_item);
 
             Gtk.ImageMenuItem ctcp_item = new Gtk.ImageMenuItem(_("CTCP"));
-            Gtk.Menu ctcp_menu_item = new Gtk.Menu();
+            Gtk.Menu ctcp_menu_item = new CtcpMenu(_IrcProtocolManager,
+                                                   Frontend.MainWindow.ChatViewManager,
+                                                   PersonModel);
             ctcp_item.Submenu = ctcp_menu_item;
             popup.Append(ctcp_item);
 
-            Gtk.ImageMenuItem ctcp_ping_item = new Gtk.ImageMenuItem(_("Ping"));
-            ctcp_ping_item.Activated += _OnMenuCtcpPingItemActivated;
-            ctcp_menu_item.Append(ctcp_ping_item);
-
-            Gtk.ImageMenuItem ctcp_version_item = new Gtk.ImageMenuItem(_("Version"));
-            ctcp_version_item.Activated += _OnMenuCtcpVersionItemActivated;
-            ctcp_menu_item.Append(ctcp_version_item);
-
-            Gtk.ImageMenuItem ctcp_time_item = new Gtk.ImageMenuItem(_("Time"));
-            ctcp_time_item.Activated += _OnMenuCtcpTimeItemActivated;
-            ctcp_menu_item.Append(ctcp_time_item);
-
-            Gtk.ImageMenuItem ctcp_finger_item = new Gtk.ImageMenuItem(_("Finger"));
-            ctcp_finger_item.Activated += _OnMenuCtcpFingerItemActivated;
-            ctcp_menu_item.Append(ctcp_finger_item);
+            Gtk.ImageMenuItem invite_to_item = new Gtk.ImageMenuItem(_("Invite to"));
+            Gtk.Menu invite_to_menu_item = new InviteToMenu(_IrcProtocolManager,
+                                                            Frontend.MainWindow.ChatViewManager,
+                                                            PersonModel);
+            invite_to_item.Submenu = invite_to_menu_item;
+            popup.Append(invite_to_item);
 
             popup.ShowAll();
         }
@@ -95,58 +92,6 @@ namespace Smuxi.Frontend.Gnome
              );
         }
 
-        void _OnMenuCtcpPingItemActivated (object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
-
-            _IrcProtocolManager.CommandPing(
-                new CommandModel(
-                    Frontend.FrontendManager,
-                    ChatModel,
-                    ChatModel.ID
-                )
-             );
-        }
-
-        void _OnMenuCtcpVersionItemActivated (object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
-
-            _IrcProtocolManager.CommandVersion(
-                new CommandModel(
-                    Frontend.FrontendManager,
-                    ChatModel,
-                    ChatModel.ID
-                )
-             );
-        }
-
-        void _OnMenuCtcpTimeItemActivated (object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
-
-            _IrcProtocolManager.CommandTime(
-                new CommandModel(
-                    Frontend.FrontendManager,
-                    ChatModel,
-                    ChatModel.ID
-                )
-             );
-        }
-
-        void _OnMenuCtcpFingerItemActivated (object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
-
-            _IrcProtocolManager.CommandFinger(
-                new CommandModel(
-                    Frontend.FrontendManager,
-                    ChatModel,
-                    ChatModel.ID
-                )
-             );
-        }
-
         private static string _(string msg)
         {
             return LibraryCatalog.GetString(msg, _LibraryTextDomain);
diff --git a/src/Frontend-GNOME-IRC/Makefile.am b/src/Frontend-GNOME-IRC/Makefile.am
index 0cba182..ce126c2 100644
--- a/src/Frontend-GNOME-IRC/Makefile.am
+++ b/src/Frontend-GNOME-IRC/Makefile.am
@@ -88,7 +88,9 @@ FILES = \
 	$(top_srcdir)/src/AssemblyVersion.cs \
 	AssemblyInfo.cs \
 	IrcGroupChatView.cs \
-	IrcPersonChatView.cs 
+	IrcPersonChatView.cs \
+	InviteToMenu.cs \
+	CtcpMenu.cs
 
 DATA_FILES = 
 
diff --git a/src/Frontend-GNOME-IRC/Makefile.in b/src/Frontend-GNOME-IRC/Makefile.in
index c922bcb..d0179d7 100644
--- a/src/Frontend-GNOME-IRC/Makefile.in
+++ b/src/Frontend-GNOME-IRC/Makefile.in
@@ -89,6 +89,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -98,6 +99,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -123,6 +125,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -174,6 +177,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -317,7 +322,9 @@ FILES = \
 	$(top_srcdir)/src/AssemblyVersion.cs \
 	AssemblyInfo.cs \
 	IrcGroupChatView.cs \
-	IrcPersonChatView.cs 
+	IrcPersonChatView.cs \
+	InviteToMenu.cs \
+	CtcpMenu.cs
 
 DATA_FILES = 
 RESOURCES = 
diff --git a/src/Frontend-GNOME-XMPP/Makefile.in b/src/Frontend-GNOME-XMPP/Makefile.in
index 2ad65f0..d10210c 100644
--- a/src/Frontend-GNOME-XMPP/Makefile.in
+++ b/src/Frontend-GNOME-XMPP/Makefile.in
@@ -89,6 +89,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -98,6 +99,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -123,6 +125,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -174,6 +177,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Frontend-GNOME/AboutDialog.cs b/src/Frontend-GNOME/AboutDialog.cs
index 422b693..0434677 100644
--- a/src/Frontend-GNOME/AboutDialog.cs
+++ b/src/Frontend-GNOME/AboutDialog.cs
@@ -42,13 +42,14 @@ namespace Smuxi.Frontend.Gnome
             Name = Frontend.Name;
             Version = "\n Frontend: " + Frontend.UIName + " " + Frontend.Version +
                       "\n Engine: " + Frontend.EngineVersion;
-            Copyright = "Copyright © 2005-2009 Mirco Bauer <meebey at meebey.net>";
-            Authors = new string[] {"Mirco Bauer <meebey at meebey.net>"};
-            TranslatorCredits = _("German") + " - Mirco Bauer <meebey at meebey.net>\n" +
-                                _("Spanish") + " - Juan Miguel Carrero <streinleght at gmail.com>\n" +
-                                _("British English") + " - Ryan Smith-Evans <Kimera.Kimera at gmail.com>\n" +
-                                _("French") + " - Clément Bourgeois <moonpyk at gmail.com>\n" +
-                                _("Italian") + " - David Paleino <d.paleino at gmail.com>";
+            Copyright = "Copyright © 2005-2010 Mirco Bauer <meebey at meebey.net>";
+            Authors = new string[] {
+                "Mirco Bauer <meebey at meebey.net>",
+                "David Paleino <dapal at debian.org>",
+                "Clément Bourgeois <moonpyk at gmail.com>",
+                "Chris Le Sueur <c.m.lesueur at gmail.com>"
+            };
+            TranslatorCredits = _("translator-credits");
             Logo = new Gdk.Pixbuf(null, "about.png");
             Website = "http://www.smuxi.org/";
             WebsiteLabel = _("Smuxi Website");
diff --git a/src/Frontend-GNOME/CrashDialog.cs b/src/Frontend-GNOME/CrashDialog.cs
index 7c1df3b..bbc9cb9 100644
--- a/src/Frontend-GNOME/CrashDialog.cs
+++ b/src/Frontend-GNOME/CrashDialog.cs
@@ -7,7 +7,7 @@
  *
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2006 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2006, 2010 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -28,17 +28,21 @@
 
 using System;
 using Mono.Unix;
+using Smuxi.Common;
 
 namespace Smuxi.Frontend.Gnome
 {
     public class CrashDialog : Gtk.Dialog
     {
-        public CrashDialog(Gtk.Window parent, Exception e) : base()
+#if LOG4NET
+        private static readonly log4net.ILog f_Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+#endif
+
+        public CrashDialog(Gtk.Window parent, Exception e) : base(null, parent, Gtk.DialogFlags.Modal)
         {
             SetDefaultSize(640, 480);
             Title = "Smuxi - " + _("Oops, I did it again...");
-            Parent = parent;
-            
+
             Gtk.HBox hbox = new Gtk.HBox();
 
             Gtk.Image image = new Gtk.Image(Gtk.Stock.DialogError, Gtk.IconSize.Dialog);
@@ -74,6 +78,7 @@ namespace Smuxi.Frontend.Gnome
             
             // add to the dialog
             VBox.PackStart(vbox, true, true, 2);
+            AddButton(_("_Report Bug"), -1);
             AddButton(Gtk.Stock.Quit, 0);
             
             string message = String.Empty;
@@ -97,6 +102,25 @@ namespace Smuxi.Frontend.Gnome
             cd.Destroy();
         }
         
+        public new int Run()
+        {
+            int res;
+            do {
+                res = base.Run();
+                if (res == -1) {
+                    try {
+                        System.Diagnostics.Process.Start("http://www.smuxi.org/newticket");
+                    } catch (Exception ex) {
+#if LOG4NET
+                        f_Logger.Error(ex);
+#endif
+                    }
+                }
+            } while (res == -1);
+
+            return res;
+        }
+
         private static string _(string msg)
         {
             return Mono.Unix.Catalog.GetString(msg);
diff --git a/src/Frontend-GNOME/Entry.cs b/src/Frontend-GNOME/Entry.cs
index 2489544..fe0f209 100644
--- a/src/Frontend-GNOME/Entry.cs
+++ b/src/Frontend-GNOME/Entry.cs
@@ -444,6 +444,7 @@ namespace Smuxi.Frontend.Gnome
                 return;
             }
 
+            // BUG? REMOTING CALLs here?!? (would block GUI!)
             CommandModel cd = new CommandModel(
                 Frontend.FrontendManager,
                 _Notebook.CurrentChatView.ChatModel,
diff --git a/src/Frontend-GNOME/Frontend.cs b/src/Frontend-GNOME/Frontend.cs
index f13abcc..5a35f33 100644
--- a/src/Frontend-GNOME/Frontend.cs
+++ b/src/Frontend-GNOME/Frontend.cs
@@ -51,7 +51,7 @@ namespace Smuxi.Frontend.Gnome
         private static SplashScreenWindow _SplashScreenWindow;
         private static MainWindow         _MainWindow;
 #if GTK_SHARP_2_10
-        private static Gtk.StatusIcon     _StatusIcon;
+        private static StatusIconManager  _StatusIconManager;
 #endif
         private static FrontendConfig     _FrontendConfig;
         private static Session            _LocalSession;
@@ -60,6 +60,8 @@ namespace Smuxi.Frontend.Gnome
         private static FrontendManager    _FrontendManager;
         private static TaskQueue          _FrontendManagerCheckerQueue;
         private static object             _UnhandledExceptionSyncRoot = new Object();
+        private static bool               _InCrashHandler;
+        private static bool               _InReconnectHandler;
 
         public static event EventHandler  SessionPropertyChanged;
 
@@ -107,15 +109,7 @@ namespace Smuxi.Frontend.Gnome
                 return _MainWindow;
             }
         }
-        
-#if GTK_SHARP_2_10
-        public static Gtk.StatusIcon StatusIcon {
-            get {
-                return _StatusIcon;
-            }
-        }
-#endif
-        
+
         public static Session Session {
             get {
                 return _Session;
@@ -128,7 +122,13 @@ namespace Smuxi.Frontend.Gnome
                 }
             }
         }
-        
+
+        public static bool IsLocalEngine {
+            get {
+                return _Session == _LocalSession;
+            }
+        }
+
         public static FrontendManager FrontendManager {
             get {
                 return _FrontendManager;
@@ -213,32 +213,6 @@ namespace Smuxi.Frontend.Gnome
  
             _MainWindow = new MainWindow();
 
-#if GTK_SHARP_2_10
-            _StatusIcon = new Gtk.StatusIcon();
-            _StatusIcon.Visible = false;
-            _StatusIcon.Pixbuf = new Gdk.Pixbuf(null, "icon.svg");
-            _StatusIcon.Activate += delegate {
-                try {
-                    if (_StatusIcon.Blinking) {
-                        _MainWindow.Present();
-                        return;
-                    }
-                    // not everyone uses a window list applet thus we have to
-                    // restore from minimized state here, see:
-                    // http://projects.qnetp.net/issues/show/159
-                    if (_MainWindow.IsMinimized) {
-                        _MainWindow.Present();
-                        return;
-                    }
-                    _MainWindow.Visible = !_MainWindow.Visible;
-                } catch (Exception ex) {
-                    ShowException(ex);
-                }
-            };
-            _StatusIcon.PopupMenu += OnStatusIconPopupMenu;
-            _StatusIcon.Tooltip = "Smuxi";
-#endif
-            
             if (String.IsNullOrEmpty((string) FrontendConfig["Engines/Default"])) {
                 InitLocalEngine();
                 ConnectEngineToGUI();
@@ -275,7 +249,7 @@ namespace Smuxi.Frontend.Gnome
         
         public static void ConnectEngineToGUI()
         {
-            if (_Session == _LocalSession) {
+            if (IsLocalEngine) {
                 // HACK: SessionManager.Register() is not used for local engines
                 _LocalSession.RegisterFrontendUI(_MainWindow.UI);
             }
@@ -335,7 +309,9 @@ namespace Smuxi.Frontend.Gnome
             Trace.Call();
 
             try {
-                _FrontendManager.IsFrontendDisconnecting = true;
+                if (_FrontendManager != null) {
+                    _FrontendManager.IsFrontendDisconnecting = true;
+                }
                 _Session.DeregisterFrontendUI(_MainWindow.UI);
             } catch (System.Net.Sockets.SocketException ex) {
                 // ignore as the connection is maybe already broken
@@ -412,6 +388,9 @@ namespace Smuxi.Frontend.Gnome
             }
             
             if (ex != null) {
+#if LOG4NET
+                _Logger.Error("ShowError(): Exception: ", ex);
+#endif
                 msg += "\n" + String.Format(_("Cause: {0}"), ex.Message);
             }
             if (parent == null) {
@@ -436,6 +415,20 @@ namespace Smuxi.Frontend.Gnome
             ShowError(parent, msg, null);
         }
         
+        public static void ShowError(Gtk.Window parent, Exception ex)
+        {
+            Trace.Call(parent, ex != null ? ex.GetType() : null);
+
+            if (ex == null) {
+                throw new ArgumentNullException("ex");
+            }
+
+#if LOG4NET
+            _Logger.Error("ShowError(): Exception:", ex);
+#endif
+            ShowError(parent, ex.Message, null);
+        }
+
         public static void ShowException(Gtk.Window parent, Exception ex)
         {
             Trace.Call(parent, ex != null ? ex.GetType() : null);
@@ -460,6 +453,12 @@ namespace Smuxi.Frontend.Gnome
             // http://projects.qnetp.net/issues/show/232
             if (ex is System.Runtime.Remoting.RemotingException ||
                 ex is System.Net.Sockets.SocketException) {
+                if (_InReconnectHandler || _InCrashHandler) {
+                    // one reconnect is good enough and a crash we won't survive
+                    return;
+                }
+                _InReconnectHandler = true;
+
                 Gtk.MessageDialog md = new Gtk.MessageDialog(parent,
                     Gtk.DialogFlags.Modal, Gtk.MessageType.Error,
                     Gtk.ButtonsType.OkCancel, _("The frontend has lost the connection to the server.\nDo you want to reconnect now?"));
@@ -471,6 +470,7 @@ namespace Smuxi.Frontend.Gnome
                         try {
                             Frontend.ReconnectEngineToGUI();
                             // yay, we made it
+                            _InReconnectHandler = false;
                             break;
                         } catch (Exception e) {
 #if LOG4NET
@@ -500,7 +500,14 @@ namespace Smuxi.Frontend.Gnome
                 Quit();
                 return;
             }
-            
+
+            if (_InCrashHandler) {
+                // only show not more than one crash dialog, else the user
+                // will not be able to copy/paste the stack trace and stuff
+                return;
+            }
+            _InCrashHandler = true;
+
             CrashDialog cd = new CrashDialog(parent, ex);
             cd.Run();
             cd.Destroy();
@@ -532,64 +539,9 @@ namespace Smuxi.Frontend.Gnome
                 throw new ArgumentNullException("userConfig");
             }
             
-#if GTK_SHARP_2_10
-            string modeStr = (string) userConfig["Interface/Notification/NotificationAreaIconMode"];
-            NotificationAreaIconMode mode = (NotificationAreaIconMode) Enum.Parse(
-                typeof(NotificationAreaIconMode),
-                modeStr
-            );
-            switch (mode) {
-                case NotificationAreaIconMode.Never:
-                    _StatusIcon.Visible = false;
-                    break;
-                case NotificationAreaIconMode.Always:
-                    _StatusIcon.Visible = true;
-                    break;
-                case NotificationAreaIconMode.Minimized:
-                case NotificationAreaIconMode.Closed:
-                    // at application startup the main window is not realized but not visible
-                    _StatusIcon.Visible = _MainWindow.IsRealized && !_MainWindow.Visible;
-                    break;
-            }
-#endif
-            
             _MainWindow.ApplyConfig(userConfig);
         }
-        
-        private static void OnStatusIconPopupMenu(object sender, EventArgs e)
-        {
-            Trace.Call(sender, e);
-            
-            Gtk.Menu menu = new Gtk.Menu();
-            
-            Gtk.ImageMenuItem preferencesItem = new Gtk.ImageMenuItem(Gtk.Stock.Preferences, null);
-            preferencesItem.Activated += delegate {
-                try {
-                    PreferencesDialog dialog = new PreferencesDialog(_MainWindow);
-                    dialog.CurrentPage = PreferencesDialog.Page.Interface;
-                    dialog.CurrentInterfacePage = PreferencesDialog.InterfacePage.Notification;
-                } catch (Exception ex) {
-                    ShowException(ex);
-                }
-            };
-            menu.Add(preferencesItem);
-            
-            menu.Add(new Gtk.SeparatorMenuItem());
-            
-            Gtk.ImageMenuItem quitItem = new Gtk.ImageMenuItem(Gtk.Stock.Quit, null);
-            quitItem.Activated += delegate {
-                try {
-                    Quit();
-                } catch (Exception ex) {
-                    ShowException(ex);
-                }
-            };
-            menu.Add(quitItem);
-            
-            menu.ShowAll();
-            menu.Popup();
-        }
-        
+
 #if GTK_SHARP_2_10
         private static void _OnUnhandledException(GLib.UnhandledExceptionArgs e)
         {
diff --git a/src/Frontend-GNOME/GnomeUI.cs b/src/Frontend-GNOME/GnomeUI.cs
index a082b88..0112036 100644
--- a/src/Frontend-GNOME/GnomeUI.cs
+++ b/src/Frontend-GNOME/GnomeUI.cs
@@ -274,7 +274,7 @@ namespace Smuxi.Frontend.Gnome
 #endif
                     return;
                 }
-                groupChatView.SetTopic(topic);
+                groupChatView.Topic = topic;
             });
         }
         
@@ -312,6 +312,7 @@ namespace Smuxi.Frontend.Gnome
             Gtk.Application.Invoke(delegate {
                 TraceRemotingCall(mb, status);
                 Frontend.MainWindow.NetworkStatusbar.Push(0, status);
+                Frontend.MainWindow.UpdateTitle(null, status);
             });
         }
         
diff --git a/src/Frontend-GNOME/MainWindow.cs b/src/Frontend-GNOME/MainWindow.cs
index 07dde69..41ff02f 100644
--- a/src/Frontend-GNOME/MainWindow.cs
+++ b/src/Frontend-GNOME/MainWindow.cs
@@ -52,6 +52,9 @@ namespace Smuxi.Frontend.Gnome
         private EngineManager    _EngineManager;
         private Gtk.MenuItem     _CloseChatMenuItem;
         private NotificationAreaIconMode _NotificationAreaIconMode;
+#if GTK_SHARP_2_10
+        private StatusIconManager _StatusIconManager;
+#endif
         private bool             _IsMinimized;
         private bool             _IsMaximized;
         
@@ -120,7 +123,10 @@ namespace Smuxi.Frontend.Gnome
                 return _IsMinimized;
             }
         }
-        
+
+        public EventHandler Minimized;
+        public EventHandler Unminimized;
+
         public MainWindow() : base("Smuxi")
         {
             // restore window size / position
@@ -161,6 +167,7 @@ namespace Smuxi.Frontend.Gnome
             
             DeleteEvent += OnDeleteEvent;
             FocusInEvent += OnFocusInEvent;
+            FocusOutEvent += OnFocusOutEvent;
             WindowStateEvent += OnWindowStateEvent;
                     
             
@@ -354,6 +361,10 @@ namespace Smuxi.Frontend.Gnome
             _ChatViewManager.ChatAdded += OnChatViewManagerChatAdded;
             _ChatViewManager.ChatRemoved += OnChatViewManagerChatRemoved;
             
+#if GTK_SHARP_2_10
+            _StatusIconManager = new StatusIconManager(this, _ChatViewManager);
+#endif
+
             _UI = new GnomeUI(_ChatViewManager);
             
             // HACK: Frontend.FrontendConfig out of scope
@@ -402,11 +413,48 @@ namespace Smuxi.Frontend.Gnome
             );
             _NotificationAreaIconMode = mode;
             
+#if GTK_SHARP_2_10
+            _StatusIconManager.ApplyConfig(userConfig);
+#endif
             _Entry.ApplyConfig(userConfig);
             _Notebook.ApplyConfig(userConfig);
             _ChatViewManager.ApplyConfig(userConfig);
         }
-        
+
+        public void UpdateTitle()
+        {
+            UpdateTitle(null, null);
+        }
+
+        public void UpdateTitle(ChatView chatView, string protocolStatus)
+        {
+            Trace.Call(chatView, protocolStatus);
+
+            if (chatView == null) {
+                chatView = Notebook.CurrentChatView;
+            }
+            if (chatView == null) {
+                return;
+            }
+
+            string title;
+            if (chatView is SessionChatView) {
+                title = String.Empty;
+            } else if (chatView is ProtocolChatView) {
+                title = protocolStatus;
+            } else {
+                title = String.Format("{0} @ {1}",
+                                      chatView.Name,
+                                      protocolStatus);
+            }
+            if (!String.IsNullOrEmpty(title)) {
+                title += " - ";
+            }
+            title += "Smuxi";
+
+            Title = title;
+        }
+
         private void _OnQuitButtonClicked(object obj, EventArgs args)
         {
             Trace.Call(obj, args);
@@ -444,20 +492,20 @@ namespace Smuxi.Frontend.Gnome
             
             try {
                 UrgencyHint = false;
-#if GTK_SHARP_2_10
-                // HACK: out of scope?
-                Frontend.StatusIcon.Blinking = false;
-#endif
                 ChatView chatView = _Notebook.CurrentChatView;
                 if (chatView != null) {
                     // clear activity and highlight
                     chatView.HasHighlight = false;
                     chatView.HasActivity = false;
+                    var lastMsg = chatView.OutputMessageTextView.LastMessage;
                     // update last seen highlight
                     ThreadPool.QueueUserWorkItem(delegate {
                         try {
+                            if (lastMsg == null) {
+                                return;
+                            }
                             // REMOTING CALL 1
-                            chatView.ChatModel.LastSeenHighlight = DateTime.UtcNow;
+                            chatView.ChatModel.LastSeenHighlight = lastMsg.TimeStamp;
                         } catch (Exception ex) {
 #if LOG4NET
                             f_Logger.Error("OnFocusInEvent(): Exception", ex);
@@ -470,6 +518,18 @@ namespace Smuxi.Frontend.Gnome
             }
         }
         
+        protected virtual void OnFocusOutEvent(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            try {
+                var chatView = _Notebook.CurrentChatView;
+                chatView.OutputMessageTextView.UpdateMarkerline();
+            } catch (Exception ex) {
+                Frontend.ShowException(this, ex);
+            }
+        }
+
         protected virtual void OnServerQuickConnectButtonClicked(object sender, EventArgs e)
         {
             Trace.Call(sender, e);
@@ -686,39 +746,31 @@ namespace Smuxi.Frontend.Gnome
             Trace.Call(sender, e);
             
             try {
-#if GTK_SHARP_2_10
                 // handle minimize / un-minimize
                 if ((e.Event.ChangedMask & Gdk.WindowState.Iconified) != 0) {
                     _IsMinimized = (e.Event.NewWindowState & Gdk.WindowState.Iconified) != 0;
-    #if LOG4NET
+#if LOG4NET
                     f_Logger.Debug("OnWindowStateEvent(): _IsMinimized: " + _IsMinimized);
-    #endif
+#endif
                     #if DISABLED
-                    if (_NotificationAreaIconMode == NotificationAreaIconMode.Minimized) {
-                        // BUG: metacity is not allowing us to use the minimize state
-                        // to hide and enable the notfication area icon as switching
-                        // to a different workspace sets WindowState.Iconified on all
-                        // windows, thus this code is disabled. For more details see:
-                        // http://projects.qnetp.net/issues/show/158
-                        Frontend.StatusIcon.Visible = _IsMinimized;
-                        if (isMinimized) {
-                            Hide();
+                    // BUG: metacity is not allowing us to use the minimize state
+                    // to hide and enable the notfication area icon as switching
+                    // to a different workspace sets WindowState.Iconified on all
+                    // windows, thus this code is disabled. For more details see:
+                    // http://projects.qnetp.net/issues/show/158
+                    Hide();
+                    #endif
+                    if (_IsMinimized) {
+                        if (Minimized != null) {
+                            Minimized(this, EventArgs.Empty);
+                        }
+                    } else {
+                        if (Unminimized != null) {
+                            Unminimized(this, EventArgs.Empty);
                         }
                     }
-                    #endif
                 }
 
-                // handle hide / show
-                if (_NotificationAreaIconMode == NotificationAreaIconMode.Closed &&
-                    (e.Event.ChangedMask & Gdk.WindowState.Withdrawn) != 0) {
-                    bool isHidden = (e.Event.NewWindowState & Gdk.WindowState.Withdrawn) != 0;
-    #if LOG4NET
-                    f_Logger.Debug("OnWindowStateEvent(): isHidden: " + isHidden);
-    #endif
-                    Frontend.StatusIcon.Visible = isHidden;
-                }
-#endif
-                
                 // handle maximize / un-maximize
                 if ((e.Event.ChangedMask & Gdk.WindowState.Maximized) != 0) {
                     _IsMaximized = (e.Event.NewWindowState & Gdk.WindowState.Maximized) != 0;
@@ -878,9 +930,6 @@ namespace Smuxi.Frontend.Gnome
             
             if (!HasToplevelFocus) {
                 UrgencyHint = true;
-#if GTK_SHARP_2_10
-                Frontend.StatusIcon.Blinking = true;
-#endif
             }
         }
 
diff --git a/src/Frontend-GNOME/Makefile.am b/src/Frontend-GNOME/Makefile.am
index 99546cd..4c9de31 100644
--- a/src/Frontend-GNOME/Makefile.am
+++ b/src/Frontend-GNOME/Makefile.am
@@ -98,7 +98,6 @@ FILES = \
 	NotImplementedMessageDialog.cs \
 	Notebook.cs \
 	SplashScreenWindow.cs \
-	Preferences/ChannelFilterListView.cs \
 	ChatTypeWidget.cs \
 	ChatViewManager.cs \
 	ColorTools.cs \
@@ -109,6 +108,7 @@ FILES = \
 	Views/MessageTextView.cs \
 	Views/ServerWidget.cs \
 	Views/ServerDialog.cs \
+	Views/FilterListWidget.cs \
 	Views/Chats/ChatView.cs \
 	Views/Chats/GroupChatView.cs \
 	Views/Chats/PersonChatView.cs \
@@ -125,6 +125,7 @@ FILES = \
 	ChatFindDialog.cs \
 	OpenChatDialog.cs \
 	ThemeSettings.cs \
+	StatusIconManager.cs \
 	gtk-gui/generated.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs \
@@ -137,7 +138,8 @@ FILES = \
 	gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.ChatTypeWidget.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs \
-	gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs
+	gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs \
+	gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs
 	
 DATA_FILES = \
 	smuxi-frontend-gnome.desktop
diff --git a/src/Frontend-GNOME/Makefile.in b/src/Frontend-GNOME/Makefile.in
index fd18ab7..d25f587 100644
--- a/src/Frontend-GNOME/Makefile.in
+++ b/src/Frontend-GNOME/Makefile.in
@@ -92,6 +92,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -101,6 +102,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -126,6 +128,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -177,6 +180,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
@@ -321,7 +326,6 @@ FILES = \
 	NotImplementedMessageDialog.cs \
 	Notebook.cs \
 	SplashScreenWindow.cs \
-	Preferences/ChannelFilterListView.cs \
 	ChatTypeWidget.cs \
 	ChatViewManager.cs \
 	ColorTools.cs \
@@ -332,6 +336,7 @@ FILES = \
 	Views/MessageTextView.cs \
 	Views/ServerWidget.cs \
 	Views/ServerDialog.cs \
+	Views/FilterListWidget.cs \
 	Views/Chats/ChatView.cs \
 	Views/Chats/GroupChatView.cs \
 	Views/Chats/PersonChatView.cs \
@@ -348,6 +353,7 @@ FILES = \
 	ChatFindDialog.cs \
 	OpenChatDialog.cs \
 	ThemeSettings.cs \
+	StatusIconManager.cs \
 	gtk-gui/generated.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantConnectionWidget.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.EngineAssistantCredentialsWidget.cs \
@@ -360,7 +366,8 @@ FILES = \
 	gtk-gui/Smuxi.Frontend.Gnome.ChatFindDialog.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.ChatTypeWidget.cs \
 	gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs \
-	gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs
+	gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs \
+	gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs
 
 DATA_FILES = \
 	smuxi-frontend-gnome.desktop
diff --git a/src/Frontend-GNOME/Notebook.cs b/src/Frontend-GNOME/Notebook.cs
index 9b19dca..aac887c 100644
--- a/src/Frontend-GNOME/Notebook.cs
+++ b/src/Frontend-GNOME/Notebook.cs
@@ -57,6 +57,7 @@ namespace Smuxi.Frontend.Gnome
 
             Scrollable = true;
             SwitchPage += OnSwitchPage;
+            SwitchPage += OnBeforeSwitchPage;
         }
         
         public void ApplyConfig(UserConfig userConfig)
@@ -159,6 +160,13 @@ namespace Smuxi.Frontend.Gnome
 #endif
         }
 
+        [GLib.ConnectBefore]
+        protected virtual void OnBeforeSwitchPage(object sender, Gtk.SwitchPageArgs e)
+        {
+            var chatView = CurrentChatView;
+            chatView.OutputMessageTextView.UpdateMarkerline();
+        }
+
         protected virtual void OnSwitchPage(object sender, Gtk.SwitchPageArgs e)
         {
             Trace.Call(sender, e);
@@ -174,6 +182,7 @@ namespace Smuxi.Frontend.Gnome
             // clear activity and highlight
             chatView.HasHighlight = false;
             chatView.HasActivity = false;
+            var lastMsg = chatView.OutputMessageTextView.LastMessage;
 
             var method = Trace.GetMethodBase();
             f_SwitchPageQueue.Queue(delegate {
@@ -195,27 +204,16 @@ namespace Smuxi.Frontend.Gnome
                     Frontend.FrontendManager.CurrentProtocolManager = nmanager;
                 }
 
-                // even when we have no network manager, we still want to update the state
+                // even when we have no network manager, we still want to update
+                // the network status and title
                 // REMOTING CALL 4
                 Frontend.FrontendManager.UpdateNetworkStatus();
 
-                // sync title
-                // REMOTING CALL 5
-                string networkStatus = nmanager != null ?
-                                            nmanager.ToString() + " / " :
-                                            String.Empty;
-                Gtk.Application.Invoke(delegate {
-                    if (Frontend.MainWindow == null) {
-                        return;
-                    }
-                    Frontend.MainWindow.Title = String.Format("{0}{1} - Smuxi",
-                                                              networkStatus,
-                                                              chatView.Name);
-                });
-
                 // update last seen highlight
-                // REMOTING CALL 6
-                chatModel.LastSeenHighlight = DateTime.UtcNow;
+                // REMOTING CALL 5
+                if (lastMsg != null) {
+                    chatModel.LastSeenHighlight = lastMsg.TimeStamp;
+                }
 
                 stop = DateTime.UtcNow;
 #if LOG4NET
diff --git a/src/Frontend-GNOME/Preferences/ChannelFilterListView.cs b/src/Frontend-GNOME/Preferences/ChannelFilterListView.cs
deleted file mode 100644
index b4a0006..0000000
--- a/src/Frontend-GNOME/Preferences/ChannelFilterListView.cs
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * $Id: PreferencesDialog.cs 142 2007-01-02 22:19:08Z meebey $
- * $URL: svn+ssh://svn.qnetp.net/svn/smuxi/smuxi/trunk/src/Frontend-GNOME/PreferencesDialog.cs $
- * $Rev: 142 $
- * $Author: meebey $
- * $Date: 2007-01-02 23:19:08 +0100 (Tue, 02 Jan 2007) $
- *
- * Smuxi - Smart MUltipleXed Irc
- *
- * Copyright (c) 2005-2006 Mirco Bauer <meebey at meebey.net>
- *
- * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
- */
-
-using System;
-using System.Collections.Generic;
-using Smuxi.Common;
-using Smuxi.Engine;
-
-namespace Smuxi.Frontend.Gnome
-{
-    public class ChannelFilterListView
-    {
-        private ChannelFiltersController _Controller;
-        [Glade.Widget("ChannelFiltersTreeView")]
-        private Gtk.TreeView             _TreeView;
-        private Gtk.ListStore            _ListStore;
-        [Glade.Widget("ChannelFiltersAddButton")]
-        private Gtk.Button               _AddButton;
-        [Glade.Widget("ChannelFiltersRemoveButton")]
-        private Gtk.Button               _RemoveButton;
-        
-        public ChannelFilterListView(Glade.XML gladeXml)
-        {
-            _Controller = new ChannelFiltersController(Frontend.UserConfig);
-            
-            /*
-            _TreeView     = (Gtk.TreeView) gladeXml["ChannelFiltersTreeView"];
-            _AddButton    = (Gtk.Button) gladeXml["ChannelFiltersAddButton"];
-            _RemoveButton = (Gtk.Button) gladeXml["ChannelFiltersRemoveButton"];
-            */
-            gladeXml.BindFields(this);
-            
-            _AddButton.Clicked += new EventHandler(_OnAddButtonClicked);
-            
-            _ListStore = new Gtk.ListStore(typeof(ChannelFilterModel),
-                                           typeof(string), // channel name
-                                           typeof(bool), // joins
-                                           typeof(bool), // parts
-                                           typeof(bool) // quits
-                                           );
-            _TreeView.Model = _ListStore;
-            int i = 1;
-            Gtk.CellRendererText textCellr;
-            Gtk.CellRendererToggle toggleCellr;
-            
-            textCellr = new Gtk.CellRendererText();
-            textCellr.Editable = true;
-            textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) {
-                Gtk.TreeIter iter;
-                _ListStore.GetIterFromString(out iter, e.Path);
-                _ListStore.SetValue(iter, 1, e.NewText);
-
-                ChannelFilterModel filter = (ChannelFilterModel) _ListStore.GetValue(iter, 0);
-                filter.Pattern = e.NewText;
-            };
-            _TreeView.AppendColumn(_("Pattern"), textCellr, "text", i);
-            
-            i++;
-            toggleCellr = new Gtk.CellRendererToggle();
-            toggleCellr.Activatable = true;
-            toggleCellr.Toggled += delegate(object sender, Gtk.ToggledArgs e) {
-                Gtk.TreeIter iter;
-                _ListStore.GetIterFromString(out iter, e.Path);
-                bool oldValue = (bool) _ListStore.GetValue(iter, 2);
-                bool newValue = !oldValue;
-                _ListStore.SetValue(iter, 2, newValue);
-
-                ChannelFilterModel filter = (ChannelFilterModel) _ListStore.GetValue(iter, 0);
-                filter.FilterJoins = newValue;
-            };
-            _TreeView.AppendColumn(_("Joins"), toggleCellr, "active", i);
-            
-            i++;
-            toggleCellr = new Gtk.CellRendererToggle();
-            toggleCellr.Activatable = true;
-            toggleCellr.Toggled += delegate(object sender, Gtk.ToggledArgs e) {
-                Gtk.TreeIter iter;
-                _ListStore.GetIterFromString(out iter, e.Path);
-                bool oldValue = (bool) _ListStore.GetValue(iter, 3);
-                bool newValue = !oldValue;
-                _ListStore.SetValue(iter, 3, newValue);
-
-                ChannelFilterModel filter = (ChannelFilterModel) _ListStore.GetValue(iter, 0);
-                filter.FilterParts = newValue;
-            };
-            _TreeView.AppendColumn(_("Parts"), toggleCellr, "active", i); 
-
-            i++;
-            toggleCellr = new Gtk.CellRendererToggle();
-            toggleCellr.Activatable = true;
-            toggleCellr.Toggled += delegate(object sender, Gtk.ToggledArgs e) {
-                Gtk.TreeIter iter;
-                _ListStore.GetIterFromString(out iter, e.Path);
-
-                bool oldValue = (bool) _ListStore.GetValue(iter, 4);
-                bool newValue = !oldValue;
-                _ListStore.SetValue(iter, 4, newValue);
-
-                ChannelFilterModel filter = (ChannelFilterModel) _ListStore.GetValue(iter, 0);
-                filter.FilterQuits = newValue;
-            };
-            _TreeView.AppendColumn(_("Quits"), toggleCellr, "active", i);
-        }
-        
-        public void Save()
-        {
-            Trace.Call();
-            
-            foreach (object[] row in _ListStore) {
-                ChannelFilterModel filter = (ChannelFilterModel) row[0];
-                if (_Controller.GetFilter(filter.Pattern) == null) {
-                    _Controller.AddFilter(filter);
-                } else {
-                    _Controller.SetFilter(filter);
-                }
-            }
-        }
-        
-        public void Load()
-        {
-            Trace.Call();
-            
-            IList<ChannelFilterModel> filters = _Controller.GetFilterList();
-            foreach (ChannelFilterModel filter in filters) {
-                _ListStore.AppendValues(filter,
-                                        filter.Pattern,
-                                        filter.FilterJoins,
-                                        filter.FilterParts,
-                                        filter.FilterQuits);
-            }
-        }
-        
-        private void _OnAddButtonClicked(object sender, EventArgs e)
-        {
-            try {
-                Gtk.TreeIter iter = _ListStore.AppendValues(new ChannelFilterModel(), String.Empty, false, false, false);
-                _TreeView.Selection.SelectIter(iter);
-            } catch (Exception ex) {
-                Frontend.ShowException(ex);
-            }
-        }
-
-        private static string _(string msg)
-        {
-            return Mono.Unix.Catalog.GetString(msg);
-        }
-    }
-}
diff --git a/src/Frontend-GNOME/Preferences/PreferencesDialog.cs b/src/Frontend-GNOME/Preferences/PreferencesDialog.cs
index 31bfbf8..baf3a6c 100644
--- a/src/Frontend-GNOME/Preferences/PreferencesDialog.cs
+++ b/src/Frontend-GNOME/Preferences/PreferencesDialog.cs
@@ -28,11 +28,14 @@
 
 using System;
 using System.Text;
+using System.Threading;
 using System.Collections;
 using System.Globalization;
+using Process = System.Diagnostics.Process;
 using Smuxi;
 using Smuxi.Common;
 using Smuxi.Engine;
+using System.Text.RegularExpressions;
 
 namespace Smuxi.Frontend.Gnome
 {
@@ -43,6 +46,7 @@ namespace Smuxi.Frontend.Gnome
             Interface,
             Servers,
             Filters,
+            Logging,
         }
         
         public enum InterfacePage : int {
@@ -66,9 +70,11 @@ namespace Smuxi.Frontend.Gnome
         private Gtk.Notebook _InterfaceNotebook;
         [Glade.Widget("MenuTreeView")]
         private Gtk.TreeView _MenuTreeView;
+        [Glade.Widget("FilterListEventBox")]
+        private Gtk.EventBox _FilterListEventBox;
 #endregion
         
-        private ChannelFilterListView _ChannelFilterListView;
+        private FilterListWidget _FilterListWidget;
         private ServerListView _ServerListView;
         
         public Page CurrentPage {
@@ -131,6 +137,22 @@ namespace Smuxi.Frontend.Gnome
             ((Gtk.CheckButton)_Glade["OverrideBackgroundColorCheckButton"]).Toggled += OnOverrideBackgroundColorCheckButtonToggled;
             ((Gtk.CheckButton)_Glade["OverrideFontCheckButton"]).Toggled += OnOverrideFontCheckButtonToggled;
 
+            ((Gtk.TextView)_Glade["HighlightWordsTextView"]).Buffer.Changed += _OnChanged;
+            if (Frontend.EngineVersion < new Version("0.7.2")) {
+                // feature introduced in >= 0.7.2
+                ((Gtk.TextView)_Glade["HighlightWordsTextView"]).Sensitive = false;
+            }
+
+            ((Gtk.Button)_Glade["LoggingOpenButton"]).Clicked += delegate {
+                ThreadPool.QueueUserWorkItem(delegate {
+                    try {
+                        Process.Start(Platform.LogPath);
+                    } catch (Exception ex) {
+                        Frontend.ShowError(parent, ex);
+                    }
+                });
+            };
+
             Gtk.ComboBox wrapModeComboBox = (Gtk.ComboBox)_Glade["WrapModeComboBox"];
             // initialize wrap modes
             // glade might initialize it already!
@@ -161,13 +183,19 @@ namespace Smuxi.Frontend.Gnome
                                                 Gtk.Stock.Network,
                                                 Gtk.IconSize.SmallToolbar, null),
                             _("Servers"));
-            /*
-            ls.AppendValues(Page.Filters, _Dialog.RenderIcon(
-                                                Gtk.Stock.Delete,
-                                                Gtk.IconSize.SmallToolbar, null),
-                            _("Filters"));
-            */
-            
+
+            if (Frontend.EngineVersion >= new Version("0.7.2")) {
+                // features introduced in >= 0.7.2
+                ls.AppendValues(Page.Filters, _Dialog.RenderIcon(
+                                                    Gtk.Stock.Delete,
+                                                    Gtk.IconSize.SmallToolbar, null),
+                                _("Filters"));
+                ls.AppendValues(Page.Logging, _Dialog.RenderIcon(
+                                                    Gtk.Stock.JustifyLeft,
+                                                    Gtk.IconSize.SmallToolbar, null),
+                                _("Logging"));
+            }
+
             int i = 1;
             _MenuTreeView.AppendColumn(null, new Gtk.CellRendererPixbuf(), "pixbuf",i++);
             _MenuTreeView.AppendColumn(null, new Gtk.CellRendererText(), "text", i++);
@@ -180,9 +208,12 @@ namespace Smuxi.Frontend.Gnome
             ls.GetIterFirst(out iter);
             _MenuTreeView.Selection.SelectIter(iter);
             
-            _ChannelFilterListView = new ChannelFilterListView(_Glade);
-            _ServerListView = new ServerListView(parent, _Glade);
-            
+            _ServerListView = new ServerListView(_Dialog, _Glade);
+            _FilterListWidget = new FilterListWidget(_Dialog, Frontend.UserConfig);
+            _FilterListWidget.Changed += _OnChanged;
+            _FilterListEventBox.Add(_FilterListWidget);
+            _FilterListEventBox.ShowAll();
+
             _Load();
         }
         
@@ -201,7 +232,7 @@ namespace Smuxi.Frontend.Gnome
             ((Gtk.Entry)_Glade["ConnectionRealnameEntry"]).Text  = (string)Frontend.UserConfig["Connection/Realname"];
             string connect_commands = String.Join("\n", (string[])Frontend.UserConfig["Connection/OnConnectCommands"]);
             ((Gtk.TextView)_Glade["OnConnectCommandsTextView"]).Buffer.Text = connect_commands;
-            
+
             string encoding = (string)Frontend.UserConfig["Connection/Encoding"];
             encoding = encoding.ToUpper();
 
@@ -387,6 +418,9 @@ namespace Smuxi.Frontend.Gnome
                 typeof(Gtk.WrapMode),
                 (string) Frontend.UserConfig["Interface/Chat/WrapMode"]
             );
+            if (wrapMode == Gtk.WrapMode.Word) {
+                wrapMode = Gtk.WrapMode.WordChar;
+            }
             int i = 0;
             foreach (object[] row in  (Gtk.ListStore) wrapModeComboBox.Model) {
                 if (((Gtk.WrapMode) row[0]) == wrapMode) {
@@ -406,6 +440,15 @@ namespace Smuxi.Frontend.Gnome
             ((Gtk.SpinButton)_Glade["CommandHistorySizeSpinButton"]).Value =
                 (double)(int)Frontend.UserConfig["Interface/Entry/CommandHistorySize"];
 
+            var highlight_words =
+                (string[]) Frontend.UserConfig["Interface/Chat/HighlightWords"];
+            // backwards compatibility with 0.7.x servers
+            if (highlight_words == null) {
+                highlight_words = new string[] {};
+            }
+            ((Gtk.TextView)_Glade["HighlightWordsTextView"]).Buffer.Text  =
+                    String.Join("\n", highlight_words);
+
             ((Gtk.CheckButton)_Glade["BeepOnHighlightCheckButton"]).Active =
                 (bool)Frontend.UserConfig["Sound/BeepOnHighlight"];
             
@@ -445,11 +488,26 @@ namespace Smuxi.Frontend.Gnome
             }
             
             // Filters
-            _ChannelFilterListView.Load();
+            _FilterListWidget.InitProtocols(Frontend.Session.GetSupportedProtocols());
+            _FilterListWidget.Load();
             
             // Servers
             _ServerListView.Load();
             
+            // Logging
+            ((Gtk.Button) _Glade["LoggingOpenButton"]).Visible = false;
+            if (Frontend.UserConfig["Logging/Enabled"] != null) {
+                ((Gtk.CheckButton) _Glade["LoggingEnabledCheckButton"]).Active =
+                    (bool) Frontend.UserConfig["Logging/Enabled"];
+                if (Frontend.IsLocalEngine) {
+                    ((Gtk.Button) _Glade["LoggingOpenButton"]).Visible = true;
+                }
+            }
+            if (Frontend.UserConfig["Logging/LogFilteredMessages"] != null) {
+                ((Gtk.CheckButton) _Glade["LoggingLogFilteredMessagesCheckButton"]).Active =
+                    (bool) Frontend.UserConfig["Logging/LogFilteredMessages"];
+            }
+
             ((Gtk.Button)_Glade["ApplyButton"]).Sensitive = false;
         }
         
@@ -592,6 +650,26 @@ namespace Smuxi.Frontend.Gnome
             Frontend.UserConfig["Interface/Entry/CommandHistorySize"] =
                 (int)((Gtk.SpinButton)_Glade["CommandHistorySizeSpinButton"]).Value;
             
+            Frontend.UserConfig["Interface/Chat/HighlightWords"] = null;
+
+            string[] highlight_words = ((Gtk.TextView) _Glade["HighlightWordsTextView"]).Buffer.Text.Split(new char[] { '\n' });
+            foreach (string word in highlight_words) {
+                if (word.StartsWith("/") && word.EndsWith("/")) {
+                    try {
+                        Regex regex = new Regex(word.Substring(1, word.Length - 2));
+                    } catch (ArgumentException ex) {
+                        throw new ApplicationException(
+                            String.Format(
+                                _("Invalid highlight regex: '{0}'. Reason: {1}"),
+                                word, ex.Message
+                            )
+                        );
+                    }
+                }
+            }
+
+            Frontend.UserConfig["Interface/Chat/HighlightWords"] = highlight_words;
+
             Frontend.UserConfig["Sound/BeepOnHighlight"] =
                 ((Gtk.CheckButton)_Glade["BeepOnHighlightCheckButton"]).Active;
             
@@ -613,11 +691,18 @@ namespace Smuxi.Frontend.Gnome
             }
             
             // Filters
-            _ChannelFilterListView.Save();
-            
+            _FilterListWidget.Save();
+
             // Servers
+            // _ServerListView saves directly after each change
             //_ServerListView.Save();
             
+            // Logging
+            Frontend.UserConfig["Logging/Enabled"] =
+                ((Gtk.CheckButton) _Glade["LoggingEnabledCheckButton"]).Active;
+            Frontend.UserConfig["Logging/LogFilteredMessages"] =
+                ((Gtk.CheckButton) _Glade["LoggingLogFilteredMessagesCheckButton"]).Active;
+
             Frontend.Config.Save();
         }
         
@@ -641,7 +726,6 @@ namespace Smuxi.Frontend.Gnome
             } catch (Exception ex) {
 #if LOG4NET
                 _Logger.Error(ex);
-                _Logger.Error("BaseException", ex.GetBaseException());
 #endif                
                 Frontend.ShowException(_Dialog, ex);
             }
@@ -657,6 +741,8 @@ namespace Smuxi.Frontend.Gnome
                 Frontend.UserConfig.ClearCache();
                 _Load();
                 Frontend.ApplyConfig(Frontend.UserConfig);
+            } catch (ApplicationException ex) {
+                Frontend.ShowError(_Dialog, ex.Message);
             } catch (Exception ex) {
 #if LOG4NET
                 _Logger.Error(ex);
diff --git a/src/Frontend-GNOME/StatusIconManager.cs b/src/Frontend-GNOME/StatusIconManager.cs
new file mode 100644
index 0000000..bb423eb
--- /dev/null
+++ b/src/Frontend-GNOME/StatusIconManager.cs
@@ -0,0 +1,220 @@
+// Smuxi - Smart MUltipleXed Irc
+// 
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+// 
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using Smuxi.Common;
+using Smuxi.Engine;
+
+namespace Smuxi.Frontend.Gnome
+{
+#if GTK_SHARP_2_10
+    public class StatusIconManager
+    {
+        Gtk.StatusIcon           f_StatusIcon;
+        MainWindow               f_MainWindow;
+        ChatViewManager          f_ChatViewManager;
+        NotificationAreaIconMode f_NotificationAreaIconMode;
+
+        public StatusIconManager(MainWindow mainWindow, ChatViewManager chatViewManager)
+        {
+            if (mainWindow == null) {
+                throw new ArgumentNullException("mainWindow");
+            }
+            if (chatViewManager == null) {
+                throw new ArgumentNullException("chatViewManager");
+            }
+
+            f_MainWindow               = mainWindow;
+            f_MainWindow.FocusInEvent += OnMainWindowFocusInEvent;
+            f_MainWindow.Minimized    += delegate {
+                CheckMainWindowState();
+            };
+            f_MainWindow.Unminimized  += delegate {
+                CheckMainWindowState();
+            };
+            f_MainWindow.Hidden       += delegate {
+                CheckMainWindowState();
+            };
+            f_MainWindow.Shown        += delegate {
+                CheckMainWindowState();
+            };
+
+            f_ChatViewManager              = chatViewManager;
+            f_ChatViewManager.ChatAdded   += OnChatViewManagerChatAdded;
+            f_ChatViewManager.ChatRemoved += OnChatViewManagerChatRemoved;
+        }
+
+        public void ApplyConfig(UserConfig userConfig)
+        {
+            Trace.Call(userConfig);
+
+            if (userConfig == null) {
+                throw new ArgumentNullException("userConfig");
+            }
+
+            string modeStr = (string) userConfig["Interface/Notification/NotificationAreaIconMode"];
+            f_NotificationAreaIconMode = (NotificationAreaIconMode) Enum.Parse(
+                typeof(NotificationAreaIconMode),
+                modeStr
+            );
+
+            // initialize status icon for the first time
+            if (f_NotificationAreaIconMode != NotificationAreaIconMode.Never &&
+                f_StatusIcon == null) {
+                f_StatusIcon = new Gtk.StatusIcon();
+                f_StatusIcon.Pixbuf = new Gdk.Pixbuf(null, "icon.svg");
+                f_StatusIcon.Activate += OnStatusIconActivated;
+                f_StatusIcon.PopupMenu += OnStatusIconPopupMenu;
+                f_StatusIcon.Tooltip = "Smuxi";
+            }
+            if (f_NotificationAreaIconMode == NotificationAreaIconMode.Never &&
+                !f_MainWindow.Visible) {
+                // force window unhide as the user would not be able to bring
+                // it back without a notification icon!
+                f_MainWindow.Visible = true;
+            }
+
+            CheckMainWindowState();
+        }
+
+        private void CheckMainWindowState()
+        {
+            Trace.Call();
+
+            if (f_StatusIcon == null) {
+                return;
+            }
+
+            switch (f_NotificationAreaIconMode) {
+                case NotificationAreaIconMode.Never:
+                    f_StatusIcon.Visible = false;
+                    break;
+                case NotificationAreaIconMode.Always:
+                    f_StatusIcon.Visible = true;
+                    break;
+                case NotificationAreaIconMode.Minimized:
+                    f_StatusIcon.Visible = f_MainWindow.IsMinimized;
+                    break;
+                case NotificationAreaIconMode.Closed:
+                    f_StatusIcon.Visible = !f_MainWindow.Visible;
+                    break;
+            }
+        }
+
+        private void OnStatusIconActivated(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            if (f_StatusIcon == null) {
+                return;
+            }
+
+            try {
+                if (f_StatusIcon.Blinking) {
+                    f_MainWindow.Present();
+                    return;
+                }
+                // not everyone uses a window list applet thus we have to
+                // restore from minimized state here, see:
+                // http://projects.qnetp.net/issues/show/159
+                if (f_MainWindow.IsMinimized) {
+                    f_MainWindow.Present();
+                    return;
+                }
+                f_MainWindow.Visible = !f_MainWindow.Visible;
+            } catch (Exception ex) {
+                Frontend.ShowException(ex);
+            }
+        }
+
+        private void OnStatusIconPopupMenu(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            Gtk.Menu menu = new Gtk.Menu();
+
+            Gtk.ImageMenuItem preferencesItem = new Gtk.ImageMenuItem(
+                Gtk.Stock.Preferences, null
+            );
+            preferencesItem.Activated += delegate {
+                try {
+                    PreferencesDialog dialog = new PreferencesDialog(f_MainWindow);
+                    dialog.CurrentPage = PreferencesDialog.Page.Interface;
+                    dialog.CurrentInterfacePage = PreferencesDialog.InterfacePage.Notification;
+                } catch (Exception ex) {
+                    Frontend.ShowException(ex);
+                }
+            };
+            menu.Add(preferencesItem);
+            
+            menu.Add(new Gtk.SeparatorMenuItem());
+            
+            Gtk.ImageMenuItem quitItem = new Gtk.ImageMenuItem(
+                Gtk.Stock.Quit, null
+            );
+            quitItem.Activated += delegate {
+                try {
+                    Frontend.Quit();
+                } catch (Exception ex) {
+                    Frontend.ShowException(ex);
+                }
+            };
+            menu.Add(quitItem);
+            
+            menu.ShowAll();
+            menu.Popup();
+        }
+
+        private void OnMainWindowFocusInEvent(object sender, EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            if (f_StatusIcon == null) {
+                return;
+            }
+
+            f_StatusIcon.Blinking = false;
+        }
+
+        protected void OnChatViewManagerChatAdded(object sender, ChatViewManagerChatAddedEventArgs e)
+        {
+            e.ChatView.OutputMessageTextView.MessageHighlighted += OnChatViewMessageHighlighted;
+        }
+
+        protected void OnChatViewManagerChatRemoved(object sender, ChatViewManagerChatRemovedEventArgs e)
+        {
+            e.ChatView.OutputMessageTextView.MessageHighlighted -= OnChatViewMessageHighlighted;
+        }
+
+        private void OnChatViewMessageHighlighted(object sender, MessageTextViewMessageHighlightedEventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            if (f_StatusIcon == null) {
+                return;
+            }
+
+            if (!f_MainWindow.HasToplevelFocus) {
+                f_StatusIcon.Blinking = true;
+            }
+        }
+    }
+#endif
+}
diff --git a/src/Frontend-GNOME/Views/Chats/ChatView.cs b/src/Frontend-GNOME/Views/Chats/ChatView.cs
index 313c179..0cc31f7 100644
--- a/src/Frontend-GNOME/Views/Chats/ChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/ChatView.cs
@@ -41,6 +41,7 @@ namespace Smuxi.Frontend.Gnome
 #if LOG4NET
         private static readonly log4net.ILog _Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 #endif
+        public    string             ID { get; private set; }
         private   string             _Name;
         private   ChatModel          _ChatModel;
         private   bool               _HasHighlight;
@@ -206,11 +207,13 @@ namespace Smuxi.Frontend.Gnome
             
             _ChatModel = chat;
             _Name = _ChatModel.Name;
+            ID = _ChatModel.ID;
             Name = _Name;
             
             MessageTextView tv = new MessageTextView();
             _EndMark = tv.Buffer.CreateMark("end", tv.Buffer.EndIter, false); 
             tv.ShowTimestamps = true;
+            tv.ShowMarkerline = true;
             tv.Editable = false;
             tv.CursorVisible = true;
             tv.WrapMode = Gtk.WrapMode.Char;
@@ -368,6 +371,8 @@ namespace Smuxi.Frontend.Gnome
         public virtual void Disable()
         {
             Trace.Call();
+
+            _IsSynced = false;
         }
         
         public virtual void Sync()
diff --git a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
index 6ba8bb2..b0d5342 100644
--- a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
@@ -41,6 +41,7 @@ namespace Smuxi.Frontend.Gnome
 #if LOG4NET
         private static readonly log4net.ILog _Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
 #endif
+        public static Gdk.Pixbuf   IconPixbuf { get; private set; }
         private GroupChatModel     _GroupChatModel;
         private Gtk.ScrolledWindow _PersonScrolledWindow;
         private Gtk.TreeView       _PersonTreeView;
@@ -51,20 +52,8 @@ namespace Smuxi.Frontend.Gnome
         private Gtk.HPaned         _OutputHPaned;
         private Gtk.ScrolledWindow _TopicScrolledWindow;
         private MessageTextView    _TopicTextView;
+        private MessageModel       _Topic;
         private Gtk.TreeViewColumn _IdentityNameColumn;
-        private Gtk.Image          _TabImage;
-        
-        public Gtk.ScrolledWindow TopicScrolledWindow {
-            get {
-                return _TopicScrolledWindow;
-            }
-        }
-
-        public MessageTextView TopicTextView {
-            get {
-                return _TopicTextView;
-            }
-        }
 
         public override bool HasSelection {
             get {
@@ -81,7 +70,21 @@ namespace Smuxi.Frontend.Gnome
                        _TopicTextView.HasFocus;
             }
         }
-        
+
+        public MessageModel Topic {
+            get {
+                return _Topic;
+            }
+            set {
+                _Topic = value;
+                _TopicTextView.Clear();
+                if (value != null) {
+                    _TopicTextView.AddMessage(value, false);
+                }
+                _TopicScrolledWindow.Visible = !_TopicTextView.IsEmpty;
+            }
+        }
+
         protected Gtk.TreeView PersonTreeView {
             get {
                 return _PersonTreeView;
@@ -100,6 +103,10 @@ namespace Smuxi.Frontend.Gnome
             }
         }
         
+        static GroupChatView() {
+            IconPixbuf = new Gdk.Pixbuf(null, "group-chat.svg", 16, 16);
+       }
+
         public GroupChatView(GroupChatModel groupChat) : base(groupChat)
         {
             Trace.Call(groupChat);
@@ -147,6 +154,7 @@ namespace Smuxi.Frontend.Gnome
             // don't loose the focus else we lose the selection too!
             // see OnPersonTreeViewFocusOutEvent()
             _PersonMenu.TakeFocus = false;
+            _PersonMenu.Shown += OnPersonMenuShown;
             
             _PersonTreeView.ButtonPressEvent += _OnPersonTreeViewButtonPressEvent;
             _PersonTreeView.KeyPressEvent += OnPersonTreeViewKeyPressEvent;
@@ -187,16 +195,8 @@ namespace Smuxi.Frontend.Gnome
             
             ApplyConfig(Frontend.UserConfig);
             
-            _TabImage = new Gtk.Image(
-                new Gdk.Pixbuf(
-                    null,
-                    "group-chat.svg",
-                    16,
-                    16
-                )
-            );
-
-            TabHBox.PackStart(_TabImage, false, false, 2);
+            var tabImage = new Gtk.Image(IconPixbuf);
+            TabHBox.PackStart(tabImage, false, false, 2);
             TabHBox.ShowAll();
             
             ShowAll();
@@ -267,6 +267,8 @@ namespace Smuxi.Frontend.Gnome
                     */
                 }
                 // attach the model again
+                // BUG? TreeView doesn't seem to recognize existing values in the model?!?
+                // see: http://www.smuxi.org/issues/show/132
                 _PersonTreeView.Model = ls;
                 
                 /*
@@ -291,13 +293,8 @@ namespace Smuxi.Frontend.Gnome
             _Logger.Debug("Sync() syncing topic");
 #endif
             // sync topic
-            MessageModel topic = _GroupChatModel.Topic;
-            if ((_TopicTextView != null) &&
-               (topic != null)) {
-                // XXX
-                SetTopic(topic);
-            }
-            
+            Topic = _GroupChatModel.Topic;
+
             base.Sync();
         }
         
@@ -377,82 +374,6 @@ namespace Smuxi.Frontend.Gnome
             UpdatePersonCount();
         }
         
-        public void SetTopic(MessageModel topic)
-        {
-            Trace.Call(topic);
-            Gtk.TextIter iter = _TopicTextView.Buffer.EndIter;
-
-            _TopicTextView.Clear();
-            _TopicTextView.AddMessage(topic, false);
-            _TopicScrolledWindow.Visible = true;
-
-            /*
-            foreach (MessagePartModel topicPart in topic.MessageParts) {
-#if LOG4NET
-                _Logger.Debug("SetTopic(): topicPart.GetType(): " + topicPart.GetType());
-#endif
-                Gdk.Color bgColor = _TopicTextView.DefaultAttributes.Appearance.BgColor;
-//                if (_BackgroundColor != null) {
-//                    bgColor = _BackgroundColor.Value;
-//                }
-                TextColor bgTextColor = ColorTools.GetTextColor(bgColor);
-                // TODO: implement all types
-                if (topicPart is UrlMessagePartModel) {
-                    UrlMessagePartModel fmsgui = (UrlMessagePartModel) topicPart;
-                    // HACK: the engine should set a color for us!
-                    Gtk.TextTag urlTag = _TopicTextTagTable.Lookup("url");
-                    Gdk.Color urlColor = urlTag.ForegroundGdk;
-                    //Console.WriteLine("urlColor: " + urlColor);
-                    TextColor urlTextColor = ColorTools.GetTextColor(urlColor);
-                    urlTextColor = ColorTools.GetBestTextColor(urlTextColor, bgTextColor);
-                    //Console.WriteLine("GetBestTextColor({0}, {1}): {2}",  urlColor, bgTextColor, urlTextColor);
-                    urlTag.ForegroundGdk = ColorTools.GetGdkColor(urlTextColor);
-                    _TopicTextView.Buffer.InsertWithTagsByName(ref iter, fmsgui.Url, "url");
-                } else if (topicPart is TextMessagePartModel) {
-                    TextMessagePartModel fmsgti = (TextMessagePartModel) topicPart;
-#if LOG4NET
-                    _Logger.Debug("SetTopic(): fmsgti.Text: '" + fmsgti.Text + "'");
-#endif
-                    List<string> tags = new List<string>();
-                    if (fmsgti.ForegroundColor != TextColor.None) {
-                        TextColor color = ColorTools.GetBestTextColor(fmsgti.ForegroundColor, bgTextColor);
-                        //Console.WriteLine("GetBestTextColor({0}, {1}): {2}",  fmsgti.ForegroundColor, bgTextColor, color);
-                        string tagname = GetTextTagName(color, null);
-                        //string tagname = _GetTextTagName(fmsgti.ForegroundColor, null);
-                        tags.Add(tagname);
-                    }
-                    if (fmsgti.BackgroundColor != TextColor.None) {
-                        string tagname = GetTextTagName(null, fmsgti.BackgroundColor);
-                        tags.Add(tagname);
-                    }
-                    if (fmsgti.Underline) {
-#if LOG4NET
-                        _Logger.Debug("SetTopic(): fmsgti.Underline is true");
-#endif
-                        tags.Add("underline");
-                    }
-                    if (fmsgti.Bold) {
-#if LOG4NET
-                        _Logger.Debug("SetTopic(): fmsgti.Bold is true");
-#endif
-                        tags.Add("bold");
-                    }
-                    if (fmsgti.Italic) {
-#if LOG4NET
-                        _Logger.Debug("SetTopic(): fmsgti.Italic is true");
-#endif
-                        tags.Add("italic");
-                    }
-                    
-                    _TopicTextView.Buffer.InsertWithTagsByName(ref iter,
-                                                               fmsgti.Text,
-                                                               tags.ToArray());
-                } 
-            }
-            _TopicTextView.Buffer.Insert(ref iter, "\n");
-            */
-        }
-
         public override void ApplyConfig(UserConfig config)
         {
             Trace.Call(config);
@@ -596,6 +517,10 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
+        protected virtual void OnPersonMenuShown(object sender, EventArgs e)
+        {
+        }
+
         private void _OnUserListButtonReleaseEvent(object sender, Gtk.ButtonReleaseEventArgs e)
         {
             Trace.Call(sender, e);
diff --git a/src/Frontend-GNOME/Views/Chats/PersonChatView.cs b/src/Frontend-GNOME/Views/Chats/PersonChatView.cs
index d61fdb6..917558a 100644
--- a/src/Frontend-GNOME/Views/Chats/PersonChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/PersonChatView.cs
@@ -35,25 +35,34 @@ namespace Smuxi.Frontend.Gnome
     [ChatViewInfo(ChatType = ChatType.Person)]
     public class PersonChatView : ChatView
     {
-        private Gtk.Image   _TabImage;
-        
-        public PersonChatView(ChatModel chat) : base(chat)
+        public static Gdk.Pixbuf IconPixbuf { get; private set; }
+        public  PersonChatModel PersonChatModel { get; private set; }
+        public  PersonModel     PersonModel { get; private set; }
+
+        static PersonChatView() {
+            IconPixbuf = new Gdk.Pixbuf(null, "person-chat.svg", 16, 16);
+        }
+
+        public PersonChatView(PersonChatModel chat) : base(chat)
         {
             Trace.Call(chat);
             
-            _TabImage = new Gtk.Image(
-                new Gdk.Pixbuf(
-                    null,
-                    "person-chat.svg",
-                    16,
-                    16
-                )
-            );
-            
-            TabHBox.PackStart(_TabImage, false, false, 2);
+            PersonChatModel = chat;
+
+            var tabImage = new Gtk.Image(IconPixbuf);
+            TabHBox.PackStart(tabImage, false, false, 2);
             TabHBox.ShowAll();
             
             Add(OutputScrolledWindow);
         }
+
+        public override void Sync()
+        {
+            Trace.Call();
+
+            PersonModel = PersonChatModel.Person;
+
+            base.Sync();
+        }
     }
 }
diff --git a/src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs b/src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs
index 6037dd3..d79ec64 100644
--- a/src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs
@@ -35,22 +35,18 @@ namespace Smuxi.Frontend.Gnome
     [ChatViewInfo(ChatType = ChatType.Protocol)]
     public class ProtocolChatView : ChatView
     {
-        private Gtk.Image   _TabImage;
+        public static Gdk.Pixbuf IconPixbuf { get; private set; }
         
+        static ProtocolChatView() {
+            IconPixbuf = new Gdk.Pixbuf(null, "protocol-chat.svg", 16, 16);
+        }
+
         public ProtocolChatView(ChatModel chat) : base(chat)
         {
             Trace.Call(chat);
             
-            _TabImage = new Gtk.Image(
-                new Gdk.Pixbuf(
-                    null,
-                    "protocol-chat.svg",
-                    16,
-                    16
-                )
-            );
-            
-            TabHBox.PackStart(_TabImage, false, false, 2);
+            var tabImage = new Gtk.Image(IconPixbuf);
+            TabHBox.PackStart(tabImage, false, false, 2);
             TabHBox.ShowAll();
             
             Add(OutputScrolledWindow);
diff --git a/src/Frontend-GNOME/Views/Chats/SessionChatView.cs b/src/Frontend-GNOME/Views/Chats/SessionChatView.cs
index 92916ed..dd8d73d 100644
--- a/src/Frontend-GNOME/Views/Chats/SessionChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/SessionChatView.cs
@@ -35,22 +35,20 @@ namespace Smuxi.Frontend.Gnome
     [ChatViewInfo(ChatType = ChatType.Session)]
     public class SessionChatView : ChatView
     {
-        private Gtk.Image   _TabImage;
+        public static Gdk.Pixbuf IconPixbuf { get; private set; }
         
+        static SessionChatView() {
+            IconPixbuf = new Gdk.Pixbuf(null, "session-chat.svg", 16, 16);
+        }
+
         public SessionChatView(ChatModel chat) : base(chat)
         {
             Trace.Call(chat);
             
-            _TabImage = new Gtk.Image(
-                new Gdk.Pixbuf(
-                    null,
-                    "session-chat.svg",
-                    16,
-                    16
-                )
-            );
-            
-            TabHBox.PackStart(_TabImage, false, false, 2);
+            OutputMessageTextView.ShowMarkerline = false;
+
+            var tabImage = new Gtk.Image(IconPixbuf);
+            TabHBox.PackStart(tabImage, false, false, 2);
             TabHBox.ShowAll();
             
             Add(OutputScrolledWindow);
diff --git a/src/Frontend-GNOME/Views/FilterListWidget.cs b/src/Frontend-GNOME/Views/FilterListWidget.cs
new file mode 100644
index 0000000..56617c3
--- /dev/null
+++ b/src/Frontend-GNOME/Views/FilterListWidget.cs
@@ -0,0 +1,443 @@
+// Smuxi - Smart MUltipleXed Irc
+// 
+// Copyright (c) 2010 Mirco Bauer <meebey at meebey.net>
+// 
+// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+using System;
+using System.Collections.Generic;
+using Smuxi.Common;
+using Smuxi.Engine;
+
+namespace Smuxi.Frontend.Gnome
+{
+    [System.ComponentModel.ToolboxItem(true)]
+    public partial class FilterListWidget : Gtk.Bin
+    {
+#if LOG4NET
+        private static readonly log4net.ILog f_Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+#endif
+        Gtk.Window           f_Parent { get; set; }
+        Gtk.ListStore        f_ListStore { get; set; }
+        FilterListController f_Controller { get; set; }
+        Gtk.ListStore        f_ChatTypeListStore { get; set; }
+        Gtk.ListStore        f_MessageTypeListStore { get; set; }
+        Gtk.ListStore        f_ProtocolListStore { get; set; }
+
+        public event EventHandler Changed;
+
+        public FilterListWidget(Gtk.Window parent, UserConfig userConfig)
+        {
+            if (parent == null) {
+                throw new ArgumentNullException("parent");
+            }
+            if (userConfig == null) {
+                throw new ArgumentNullException("userConfig");
+            }
+
+            Build();
+            Init();
+
+            f_Parent = parent;
+            f_Controller = new FilterListController(userConfig);
+        }
+
+        public void InitProtocols(IList<string> protocols)
+        {
+            Trace.Call(protocols);
+
+            if (protocols == null) {
+                throw new ArgumentNullException("protocols");
+            }
+
+            f_ProtocolListStore.Clear();
+
+            f_ProtocolListStore.AppendValues(String.Empty);
+            foreach (string protocol in protocols) {
+                f_ProtocolListStore.AppendValues(protocol);
+            }
+            f_ProtocolListStore.SetSortColumnId(0, Gtk.SortType.Ascending);
+        }
+
+        public void Load()
+        {
+            Trace.Call();
+
+            f_ListStore.Clear();
+
+            var filters = f_Controller.GetFilterList();
+            foreach (var filter in filters) {
+                f_ListStore.AppendValues(filter.Value, filter.Key);
+            }
+
+            f_TreeView.ColumnsAutosize();
+        }
+
+        public void Save()
+        {
+            Trace.Call();
+
+            // search for removed filters
+            foreach (var filterPair in f_Controller.GetFilterList()) {
+                bool removed = true;
+                foreach (object[] row in f_ListStore) {
+                    if ((int) row[1] == filterPair.Key) {
+                        removed = false;
+                        break;
+                    }
+                }
+                if (removed) {
+                    f_Controller.RemoveFilter(filterPair.Key);
+                }
+            }
+
+            Gtk.TreeIter iter;
+            if (!f_ListStore.GetIterFirst(out iter)) {
+                // empty list, nothing to do
+                return;
+            }
+            do {
+                var filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+                var key = (int) f_ListStore.GetValue(iter, 1);
+
+                // test patterns
+                try {
+                    Pattern.IsMatch(String.Empty, filter.ChatID);
+                } catch (ArgumentException ex) {
+                    throw new ApplicationException(
+                        String.Format(
+                            _("Invalid filter regex: '{0}'. Reason: {1}"),
+                            filter.ChatID, ex.Message
+                        )
+                    );
+                }
+                try {
+                    Pattern.IsMatch(String.Empty, filter.MessagePattern);
+                } catch (ArgumentException ex) {
+                    throw new ApplicationException(
+                        String.Format(
+                            _("Invalid filter regex: '{0}'. Reason: {1}"),
+                            filter.MessagePattern, ex.Message
+                        )
+                    );
+                }
+
+                if (key == -1) {
+                    // new filter
+                    if (String.IsNullOrEmpty(filter.Protocol) &&
+                        filter.ChatType == null &&
+                        String.IsNullOrEmpty(filter.ChatID) &&
+                        filter.MessageType == null &&
+                        String.IsNullOrEmpty(filter.MessagePattern)) {
+                        // drop empty filters
+                        f_ListStore.Remove(ref iter);
+                        continue;
+                    }
+                    key = f_Controller.AddFilter(filter);
+                    // write generated key back
+                    f_ListStore.SetValue(iter, 1, key);
+                } else {
+                    // update filter
+                    f_Controller.SetFilter(key, filter);
+                }
+            } while (f_ListStore.IterNext(ref iter));
+        }
+
+        protected virtual void OnChanged(EventArgs e)
+        {
+            if (Changed != null) {
+                Changed(this, e);
+            }
+        }
+
+        protected virtual void OnAddButtonClicked(object sender, System.EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            try {
+                var filter = new FilterModel();
+                filter.Protocol       = String.Empty;
+                filter.ChatID         = String.Empty;
+                filter.MessagePattern = String.Empty;
+                Gtk.TreeIter iter = f_ListStore.AppendValues(filter, -1);
+                f_TreeView.Selection.SelectIter(iter);
+
+                OnChanged(EventArgs.Empty);
+            } catch (Exception ex) {
+                Frontend.ShowException(ex);
+            }
+        }
+
+        protected virtual void OnRemoveButtonClicked(object sender, System.EventArgs e)
+        {
+            Trace.Call(sender, e);
+
+            try {
+                Gtk.TreeIter iter;
+                if (!f_TreeView.Selection.GetSelected(out iter)) {
+                    return;
+                }
+
+                Gtk.MessageDialog md = new Gtk.MessageDialog(
+                     f_Parent,
+                     Gtk.DialogFlags.Modal,
+                     Gtk.MessageType.Warning,
+                     Gtk.ButtonsType.YesNo,
+                     _("Are you sure you want to delete the selected filter?")
+                );
+                int result = md.Run();
+                md.Destroy();
+                if (result != (int) Gtk.ResponseType.Yes) {
+                    return;
+                }
+
+                f_ListStore.Remove(ref iter);
+
+                OnChanged(EventArgs.Empty);
+            } catch (Exception ex) {
+                Frontend.ShowException(ex);
+            }
+        }
+
+        void Init()
+        {
+            f_ProtocolListStore = new Gtk.ListStore(typeof(string));
+
+            f_ListStore = new Gtk.ListStore(
+                typeof(FilterModel),
+                typeof(int), // filter key
+                typeof(string) // tool tip
+            );
+            f_TreeView.Model = f_ListStore;
+            int i = 1;
+            Gtk.TreeViewColumn column;
+            Gtk.CellRendererText textCellr;
+            Gtk.CellRendererCombo comboCellr;
+            Gtk.CellRendererToggle toggleCellr;
+
+            comboCellr = new Gtk.CellRendererCombo();
+            comboCellr.Model = f_ProtocolListStore;
+            comboCellr.TextColumn = 0;
+            comboCellr.HasEntry = false;
+            comboCellr.Editable = true;
+            comboCellr.Edited += OnProtocolEdited;
+            column = f_TreeView.AppendColumn(_("Protocol"), comboCellr);
+            column.SetCellDataFunc(comboCellr, RenderProtocol);
+
+            f_ChatTypeListStore = new Gtk.ListStore(typeof(string),
+                                                    typeof(ChatType?));
+            f_ChatTypeListStore.AppendValues(String.Empty, null);
+            f_ChatTypeListStore.AppendValues(_("Person / Private"),  ChatType.Person);
+            f_ChatTypeListStore.AppendValues(_("Group / Public"),    ChatType.Group);
+            f_ChatTypeListStore.AppendValues(_("Protocol / Server"), ChatType.Protocol);
+            comboCellr = new Gtk.CellRendererCombo();
+            comboCellr.Model = f_ChatTypeListStore;
+            comboCellr.TextColumn = 0;
+            comboCellr.HasEntry = false;
+            comboCellr.Editable = true;
+            comboCellr.Edited += OnChatTypeEdited;
+            column = f_TreeView.AppendColumn(_("Chat Type"), comboCellr);
+            column.Resizable = true;
+            column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly;
+            column.SetCellDataFunc(comboCellr, RenderChatType);
+
+            textCellr = new Gtk.CellRendererText();
+            textCellr.Editable = true;
+            textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) {
+                Gtk.TreeIter iter;
+                if (!f_ListStore.GetIterFromString(out iter, e.Path)) {
+                    return;
+                }
+                FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+                int key = (int) f_ListStore.GetValue(iter, 1);
+                filter.ChatID = e.NewText;
+                f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter);
+                OnChanged(EventArgs.Empty);
+            };
+            column = f_TreeView.AppendColumn(_("Name"), textCellr);
+            column.MinWidth = 80;
+            column.Resizable = true;
+            column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly;
+            column.SetCellDataFunc(textCellr,
+                delegate(Gtk.TreeViewColumn col,
+                         Gtk.CellRenderer cellr,
+                         Gtk.TreeModel model, Gtk.TreeIter iter ) {
+                    FilterModel filter = (FilterModel) model.GetValue(iter, 0);
+                    (cellr as Gtk.CellRendererText).Text = filter.ChatID;
+                }
+            );
+
+            f_MessageTypeListStore = new Gtk.ListStore(typeof(string),
+                                                       typeof(MessageType?));
+            f_MessageTypeListStore.AppendValues(String.Empty, null);
+            f_MessageTypeListStore.AppendValues(_("Normal"), MessageType.Normal);
+            f_MessageTypeListStore.AppendValues(_("Event"),  MessageType.Event);
+            comboCellr = new Gtk.CellRendererCombo();
+            comboCellr.Model = f_MessageTypeListStore;
+            comboCellr.TextColumn = 0;
+            comboCellr.HasEntry = false;
+            comboCellr.Editable = true;
+            comboCellr.Edited += OnMessageTypeEdited;
+            column = f_TreeView.AppendColumn(_("Type"), comboCellr);
+            column.Resizable = true;
+            column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly;
+            column.SetCellDataFunc(comboCellr, RenderMessageType);
+            /*
+            f_TreeView.HasTooltip = true;
+            f_TreeView.QueryTooltip += delegate(object sender, Gtk.QueryTooltipArgs e) {
+                e.Tooltip.Text = "Message Type";
+                f_TreeView.SetTooltipCell(e.Tooltip, null, column, null);
+                e.RetVal = true;
+            };
+            */
+
+            textCellr = new Gtk.CellRendererText();
+            textCellr.Editable = true;
+            textCellr.Edited += delegate(object sender, Gtk.EditedArgs e) {
+                Gtk.TreeIter iter;
+                if (!f_ListStore.GetIterFromString(out iter, e.Path)) {
+                    return;
+                }
+                FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+                int key = (int) f_ListStore.GetValue(iter, 1);
+                filter.MessagePattern = e.NewText;
+                f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter);
+                OnChanged(EventArgs.Empty);
+            };
+            column = f_TreeView.AppendColumn(_("Pattern"), textCellr);
+            column.Resizable = true;
+            column.MinWidth = 80;
+            column.Sizing = Gtk.TreeViewColumnSizing.GrowOnly;
+            column.SetCellDataFunc(textCellr,
+                delegate(Gtk.TreeViewColumn col,
+                         Gtk.CellRenderer cellr,
+                         Gtk.TreeModel model, Gtk.TreeIter iter) {
+                    FilterModel filter = (FilterModel) model.GetValue(iter, 0);
+                    (cellr as Gtk.CellRendererText).Text = filter.MessagePattern;
+                }
+            );
+        }
+
+        void RenderProtocol(Gtk.TreeViewColumn column, Gtk.CellRenderer cellr,
+                            Gtk.TreeModel model, Gtk.TreeIter iter)
+        {
+            FilterModel filter = (FilterModel) model.GetValue(iter, 0);
+            (cellr as Gtk.CellRendererCombo).Text = filter.Protocol;
+        }
+
+        void OnProtocolEdited(object sender, Gtk.EditedArgs e)
+        {
+            Trace.Call(sender, e);
+
+            Gtk.TreeIter iter;
+            if (!f_ListStore.GetIterFromString(out iter, e.Path)) {
+                return;
+            }
+            FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+            int key = (int) f_ListStore.GetValue(iter, 1);
+            filter.Protocol = e.NewText;
+
+            f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter);
+            OnChanged(EventArgs.Empty);
+        }
+
+        void RenderChatType(Gtk.TreeViewColumn column, Gtk.CellRenderer cellr,
+                            Gtk.TreeModel model, Gtk.TreeIter iter)
+        {
+            FilterModel filter = (FilterModel) model.GetValue(iter, 0);
+            foreach (object[] row in f_ChatTypeListStore) {
+                if ((ChatType?) row[1] == filter.ChatType) {
+                    (cellr as Gtk.CellRendererCombo).Text = (string) row[0];
+                    break;
+                }
+            }
+        }
+
+        void OnChatTypeEdited(object sender, Gtk.EditedArgs e)
+        {
+            Trace.Call(sender, e);
+
+            Gtk.TreeIter iter;
+            if (!f_ListStore.GetIterFromString(out iter, e.Path)) {
+                return;
+            }
+            FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+            int key = (int) f_ListStore.GetValue(iter, 1);
+            // HACK: lame GTK+ 2.12 is not exposing the combo box neither
+            // the iterator of the selected row inside the combo box thus
+            // we have lookup the value in the list store using the text :/
+            // TODO: starting with GTK+ 2.14 the Changed event can be used
+            // see http://git.gnome.org/browse/gtk+/tree/gtk/gtkcellrenderercombo.c#n178
+            ChatType? newChatType = null;
+            foreach (object[] row in f_ChatTypeListStore) {
+                if ((string) row[0] == e.NewText) {
+                    newChatType = (ChatType?) row[1];
+                    break;
+                }
+            }
+            filter.ChatType = newChatType;
+
+            f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter);
+            OnChanged(EventArgs.Empty);
+        }
+
+        void RenderMessageType(Gtk.TreeViewColumn column, Gtk.CellRenderer cellr,
+                               Gtk.TreeModel model, Gtk.TreeIter iter)
+        {
+            FilterModel filter = (FilterModel) model.GetValue(iter, 0);
+            foreach (object[] row in f_MessageTypeListStore) {
+                if ((MessageType?) row[1] == filter.MessageType) {
+                    (cellr as Gtk.CellRendererCombo).Text = (string) row[0];
+                    break;
+                }
+            }
+        }
+
+        void OnMessageTypeEdited(object sender, Gtk.EditedArgs e)
+        {
+            Trace.Call(sender, e);
+
+            Gtk.TreeIter iter;
+            if (!f_ListStore.GetIterFromString(out iter, e.Path)) {
+                return;
+            }
+            FilterModel filter = (FilterModel) f_ListStore.GetValue(iter, 0);
+            int key = (int) f_ListStore.GetValue(iter, 1);
+            // HACK: lame GTK+ 2.12 is not exposing the combo box neither
+            // the iterator of the selected row inside the combo box thus
+            // we have lookup the value in the list store using the text :/
+            // TODO: starting with GTK+ 2.14 the Changed event can be used
+            // see http://git.gnome.org/browse/gtk+/tree/gtk/gtkcellrenderercombo.c#n178
+            MessageType? newMsgType = null;
+            foreach (object[] row in f_MessageTypeListStore) {
+                if ((string) row[0] == e.NewText) {
+                    newMsgType = (MessageType?) row[1];
+                    break;
+                }
+            }
+            filter.MessageType = newMsgType;
+
+            f_ListStore.EmitRowChanged(new Gtk.TreePath(e.Path), iter);
+            OnChanged(EventArgs.Empty);
+        }
+
+        private static string _(string msg)
+        {
+            return Mono.Unix.Catalog.GetString(msg);
+        }
+    }
+}
diff --git a/src/Frontend-GNOME/Views/MessageTextView.cs b/src/Frontend-GNOME/Views/MessageTextView.cs
index d839990..51ca798 100644
--- a/src/Frontend-GNOME/Views/MessageTextView.cs
+++ b/src/Frontend-GNOME/Views/MessageTextView.cs
@@ -44,10 +44,13 @@ namespace Smuxi.Frontend.Gnome
         private MessageModel _LastMessage;
         private bool         _ShowTimestamps;
         private bool         _ShowHighlight;
+        private bool         _ShowMarkerline;
         private bool         _AtUrlTag;
         private string       _Url;
         private UserConfig   _Config;
         private ThemeSettings _ThemeSettings;
+        private Gdk.Color    _MarkerlineColor = new Gdk.Color(255, 0, 0);
+        private int          _MarkerlineBufferPosition;
 
         public event MessageTextViewMessageAddedEventHandler       MessageAdded;
         public event MessageTextViewMessageHighlightedEventHandler MessageHighlighted;
@@ -70,6 +73,15 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
+        public bool ShowMarkerline {
+            get {
+                return _ShowMarkerline;
+            }
+            set {
+                _ShowMarkerline = value;
+            }
+        }
+
         public bool HasTextViewSelection {
             get {
 #if GTK_SHARP_2_10
@@ -88,6 +100,24 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
+        public bool IsEmpty {
+            get {
+                return Buffer.CharCount == 0;
+            }
+        }
+
+        public bool IsAtUrlTag {
+            get {
+                return _AtUrlTag;
+            }
+        }
+
+        public MessageModel LastMessage {
+            get {
+                return _LastMessage;
+            }
+        }
+
         public MessageTextView()
         {
             Trace.Call();
@@ -98,6 +128,7 @@ namespace Smuxi.Frontend.Gnome
             Buffer = new Gtk.TextBuffer(_MessageTextTagTable);
             MotionNotifyEvent += OnMotionNotifyEvent;
             PopulatePopup += OnPopulatePopup;
+            ExposeEvent += OnExposeEvent;
         }
 
         public void ApplyConfig(UserConfig config)
@@ -137,15 +168,17 @@ namespace Smuxi.Frontend.Gnome
 
         public void AddMessage(MessageModel msg)
         {
-            Trace.Call(msg);
-            
             AddMessage(msg, true);
         }
         
         public void AddMessage(MessageModel msg, bool addLinebreak)
         {
             Trace.Call(msg, addLinebreak);
-            
+
+            if (msg == null) {
+                throw new ArgumentNullException("msg");
+            }
+
             Gtk.TextIter iter = Buffer.EndIter;
 
             Gdk.Color bgColor = DefaultAttributes.Appearance.BgColor;
@@ -284,6 +317,18 @@ namespace Smuxi.Frontend.Gnome
             _LastMessage = msg;
         }
 
+        public void UpdateMarkerline()
+        {
+            Trace.Call();
+
+            if (IsEmpty) {
+                return;
+            }
+
+            _MarkerlineBufferPosition = Buffer.EndIter.Offset - 1;
+            QueueDraw();
+        }
+
         /*
          * Helper methods
          */
@@ -495,6 +540,33 @@ namespace Smuxi.Frontend.Gnome
              return tagname;
         }
         
+        void OnExposeEvent(object sender, Gtk.ExposeEventArgs e)
+        {
+            if (!_ShowMarkerline || _MarkerlineBufferPosition == 0) {
+                return;
+            }
+
+            var window = e.Event.Window;
+            var gc = new Gdk.GC(window);
+            gc.RgbFgColor = _MarkerlineColor;
+
+            var iter = Buffer.GetIterAtOffset(_MarkerlineBufferPosition);
+            var location = GetIterLocation(iter);
+            int last_y = location.Y + location.Height;
+            // padding
+            last_y += PixelsAboveLines + PixelsBelowLines / 2;
+
+            int x, y;
+            BufferToWindowCoords(Gtk.TextWindowType.Text, 0,
+                                 last_y, out x, out y);
+
+            if (y < e.Event.Area.Y) {
+                return;
+            }
+
+            window.DrawLine(gc, 0, y, VisibleRect.Width, y);
+        }
+
         private static string _(string msg)
         {
             return Mono.Unix.Catalog.GetString(msg);
diff --git a/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs
new file mode 100644
index 0000000..2d3e91f
--- /dev/null
+++ b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.FilterListWidget.cs
@@ -0,0 +1,91 @@
+// ------------------------------------------------------------------------------
+//  <autogenerated>
+//      This code was generated by a tool.
+//      
+// 
+//      Changes to this file may cause incorrect behavior and will be lost if 
+//      the code is regenerated.
+//  </autogenerated>
+// ------------------------------------------------------------------------------
+
+namespace Smuxi.Frontend.Gnome {
+    
+    
+    public partial class FilterListWidget {
+        
+        private Gtk.HBox hbox1;
+        
+        private Gtk.ScrolledWindow scrolledwindow1;
+        
+        private Gtk.TreeView f_TreeView;
+        
+        private Gtk.VButtonBox vbuttonbox1;
+        
+        private Gtk.Button f_AddButton;
+        
+        private Gtk.Button f_RemoveButton;
+        
+        protected virtual void Build() {
+            Stetic.Gui.Initialize(this);
+            // Widget Smuxi.Frontend.Gnome.FilterListWidget
+            Stetic.BinContainer.Attach(this);
+            this.Name = "Smuxi.Frontend.Gnome.FilterListWidget";
+            // Container child Smuxi.Frontend.Gnome.FilterListWidget.Gtk.Container+ContainerChild
+            this.hbox1 = new Gtk.HBox();
+            this.hbox1.Name = "hbox1";
+            this.hbox1.Spacing = 5;
+            // Container child hbox1.Gtk.Box+BoxChild
+            this.scrolledwindow1 = new Gtk.ScrolledWindow();
+            this.scrolledwindow1.Name = "scrolledwindow1";
+            this.scrolledwindow1.ShadowType = ((Gtk.ShadowType)(1));
+            // Container child scrolledwindow1.Gtk.Container+ContainerChild
+            this.f_TreeView = new Gtk.TreeView();
+            this.f_TreeView.CanFocus = true;
+            this.f_TreeView.Name = "f_TreeView";
+            this.scrolledwindow1.Add(this.f_TreeView);
+            this.hbox1.Add(this.scrolledwindow1);
+            Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.hbox1[this.scrolledwindow1]));
+            w2.Position = 0;
+            // Container child hbox1.Gtk.Box+BoxChild
+            this.vbuttonbox1 = new Gtk.VButtonBox();
+            this.vbuttonbox1.Name = "vbuttonbox1";
+            this.vbuttonbox1.BorderWidth = ((uint)(5));
+            this.vbuttonbox1.LayoutStyle = ((Gtk.ButtonBoxStyle)(3));
+            // Container child vbuttonbox1.Gtk.ButtonBox+ButtonBoxChild
+            this.f_AddButton = new Gtk.Button();
+            this.f_AddButton.CanFocus = true;
+            this.f_AddButton.Name = "f_AddButton";
+            this.f_AddButton.UseStock = true;
+            this.f_AddButton.UseUnderline = true;
+            this.f_AddButton.Label = "gtk-add";
+            this.vbuttonbox1.Add(this.f_AddButton);
+            Gtk.ButtonBox.ButtonBoxChild w3 = ((Gtk.ButtonBox.ButtonBoxChild)(this.vbuttonbox1[this.f_AddButton]));
+            w3.Expand = false;
+            w3.Fill = false;
+            // Container child vbuttonbox1.Gtk.ButtonBox+ButtonBoxChild
+            this.f_RemoveButton = new Gtk.Button();
+            this.f_RemoveButton.CanFocus = true;
+            this.f_RemoveButton.Name = "f_RemoveButton";
+            this.f_RemoveButton.UseStock = true;
+            this.f_RemoveButton.UseUnderline = true;
+            this.f_RemoveButton.Label = "gtk-remove";
+            this.vbuttonbox1.Add(this.f_RemoveButton);
+            Gtk.ButtonBox.ButtonBoxChild w4 = ((Gtk.ButtonBox.ButtonBoxChild)(this.vbuttonbox1[this.f_RemoveButton]));
+            w4.Position = 1;
+            w4.Expand = false;
+            w4.Fill = false;
+            this.hbox1.Add(this.vbuttonbox1);
+            Gtk.Box.BoxChild w5 = ((Gtk.Box.BoxChild)(this.hbox1[this.vbuttonbox1]));
+            w5.Position = 1;
+            w5.Expand = false;
+            w5.Fill = false;
+            this.Add(this.hbox1);
+            if ((this.Child != null)) {
+                this.Child.ShowAll();
+            }
+            this.Hide();
+            this.f_AddButton.Clicked += new System.EventHandler(this.OnAddButtonClicked);
+            this.f_RemoveButton.Clicked += new System.EventHandler(this.OnRemoveButtonClicked);
+        }
+    }
+}
diff --git a/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs
index 74f34e6..45befa2 100644
--- a/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs
+++ b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.OpenChatDialog.cs
@@ -133,6 +133,7 @@ namespace Smuxi.Frontend.Gnome {
             }
             this.DefaultWidth = 236;
             this.DefaultHeight = 153;
+            this.f_OpenButton.HasDefault = true;
             this.Show();
         }
     }
diff --git a/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs
index 5d7e7fe..b61b3bb 100644
--- a/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs
+++ b/src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs
@@ -1817,7 +1817,6 @@ namespace Smuxi.Frontend.Gnome {
             w163.Position = 0;
             // Container child vbox16.Gtk.Box+BoxChild
             this.hbuttonbox1 = new Gtk.HButtonBox();
-            this.hbuttonbox1.Name = "hbuttonbox1";
             this.hbuttonbox1.LayoutStyle = ((Gtk.ButtonBoxStyle)(1));
             // Container child hbuttonbox1.Gtk.ButtonBox+ButtonBoxChild
             this.ChannelFiltersAddButton = new Gtk.Button();
diff --git a/src/Frontend-GNOME/gtk-gui/gui.stetic b/src/Frontend-GNOME/gtk-gui/gui.stetic
index 6a0f6e0..36307e6 100644
--- a/src/Frontend-GNOME/gtk-gui/gui.stetic
+++ b/src/Frontend-GNOME/gtk-gui/gui.stetic
@@ -2883,6 +2883,7 @@
             <property name="MemberName" />
             <property name="Sensitive">False</property>
             <property name="CanDefault">True</property>
+            <property name="HasDefault">True</property>
             <property name="CanFocus">True</property>
             <property name="UseStock">True</property>
             <property name="Type">StockItem</property>
@@ -4110,4 +4111,76 @@ Click "Forward" to begin.</property>
       </widget>
     </child>
   </widget>
+  <widget class="Gtk.Bin" id="Smuxi.Frontend.Gnome.FilterListWidget" design-size="300 300">
+    <property name="MemberName" />
+    <property name="Visible">False</property>
+    <child>
+      <widget class="Gtk.HBox" id="hbox1">
+        <property name="MemberName" />
+        <property name="Spacing">5</property>
+        <child>
+          <widget class="Gtk.ScrolledWindow" id="scrolledwindow1">
+            <property name="MemberName" />
+            <property name="ShadowType">In</property>
+            <child>
+              <widget class="Gtk.TreeView" id="f_TreeView">
+                <property name="MemberName" />
+                <property name="CanFocus">True</property>
+                <property name="ShowScrollbars">True</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="Position">0</property>
+            <property name="AutoSize">True</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.VButtonBox" id="vbuttonbox1">
+            <property name="MemberName" />
+            <property name="BorderWidth">5</property>
+            <property name="Size">2</property>
+            <property name="LayoutStyle">Start</property>
+            <child>
+              <widget class="Gtk.Button" id="f_AddButton">
+                <property name="MemberName" />
+                <property name="CanFocus">True</property>
+                <property name="UseStock">True</property>
+                <property name="Type">StockItem</property>
+                <property name="StockId">gtk-add</property>
+                <signal name="Clicked" handler="OnAddButtonClicked" />
+                <property name="label">gtk-add</property>
+              </widget>
+              <packing>
+                <property name="Expand">False</property>
+                <property name="Fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="Gtk.Button" id="f_RemoveButton">
+                <property name="MemberName" />
+                <property name="CanFocus">True</property>
+                <property name="UseStock">True</property>
+                <property name="Type">StockItem</property>
+                <property name="StockId">gtk-remove</property>
+                <signal name="Clicked" handler="OnRemoveButtonClicked" />
+                <property name="label">gtk-remove</property>
+              </widget>
+              <packing>
+                <property name="Position">1</property>
+                <property name="Expand">False</property>
+                <property name="Fill">False</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="Position">1</property>
+            <property name="AutoSize">True</property>
+            <property name="Expand">False</property>
+            <property name="Fill">False</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </stetic-interface>
\ No newline at end of file
diff --git a/src/Frontend-GNOME/smuxi-frontend-gnome.desktop b/src/Frontend-GNOME/smuxi-frontend-gnome.desktop
index d29cada..5c51413 100644
--- a/src/Frontend-GNOME/smuxi-frontend-gnome.desktop
+++ b/src/Frontend-GNOME/smuxi-frontend-gnome.desktop
@@ -7,5 +7,5 @@ GenericName=IRC Chat
 Exec=smuxi-frontend-gnome
 Terminal=false
 Type=Application
-Categories=Network;GNOME;Chat;IRCClient
+Categories=Network;GNOME;GTK;Chat;InstantMessaging;IRCClient;
 Icon=smuxi-frontend-gnome.svg
diff --git a/src/Frontend-STFL/Makefile.in b/src/Frontend-STFL/Makefile.in
index e0f92c7..1853477 100644
--- a/src/Frontend-STFL/Makefile.in
+++ b/src/Frontend-STFL/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Frontend-SWF/Makefile.in b/src/Frontend-SWF/Makefile.in
index 78e31b6..37dcaf7 100644
--- a/src/Frontend-SWF/Makefile.in
+++ b/src/Frontend-SWF/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Frontend-Test/Makefile.in b/src/Frontend-Test/Makefile.in
index f00a4e0..7ef2ad2 100644
--- a/src/Frontend-Test/Makefile.in
+++ b/src/Frontend-Test/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Frontend/CommandManager.cs b/src/Frontend/CommandManager.cs
index 816d34c..047f739 100644
--- a/src/Frontend/CommandManager.cs
+++ b/src/Frontend/CommandManager.cs
@@ -118,7 +118,7 @@ namespace Smuxi.Frontend
             handled = f_Session.Command(cmd);
             if (!handled) {
                 // we maybe have no network manager yet
-                IProtocolManager pm = cmd.FrontendManager.CurrentProtocolManager;
+                IProtocolManager pm = cmd.Chat.ProtocolManager;
                 if (pm != null) {
                     handled = pm.Command(cmd);
                 } else {
diff --git a/src/Frontend/Makefile.in b/src/Frontend/Makefile.in
index 37d290d..9a431d7 100644
--- a/src/Frontend/Makefile.in
+++ b/src/Frontend/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Makefile.in b/src/Makefile.in
index 04f17a6..62fa42b 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -101,6 +101,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -110,6 +111,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -135,6 +137,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -186,6 +189,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@
diff --git a/src/Server/Main.cs b/src/Server/Main.cs
index 6bd70eb..90a67c1 100644
--- a/src/Server/Main.cs
+++ b/src/Server/Main.cs
@@ -45,9 +45,16 @@ namespace Smuxi.Server
 
         public static void Main(string[] args)
         {
+#if LOG4NET
+            // initialize log level
+            log4net.Repository.ILoggerRepository repo = log4net.LogManager.GetRepository();
+            repo.Threshold = log4net.Core.Level.Error;
+#endif
+
             bool addUser    = false;
             bool delUser    = false;
             bool modUser    = false;
+            bool listUsers  = false;
             bool debug      = false;
 
             string username = null;
@@ -62,7 +69,7 @@ namespace Smuxi.Server
                 _("Add user to Server"),
                 delegate(string val) {
                     addUser = true;
-                    CheckExclusiveParameters(addUser, modUser, delUser);
+                    CheckExclusiveParameters(addUser, modUser, delUser, listUsers);
                 }
             );
 
@@ -71,7 +78,7 @@ namespace Smuxi.Server
                 _("Modify existing user of Server"),
                 delegate(string val) {
                     modUser = true;
-                    CheckExclusiveParameters(addUser, modUser, delUser);
+                    CheckExclusiveParameters(addUser, modUser, delUser, listUsers);
                 }
             );
 
@@ -80,7 +87,16 @@ namespace Smuxi.Server
                 _("Delete user from Server"),
                 delegate(string val) {
                     delUser = true;
-                    CheckExclusiveParameters(addUser, modUser, delUser);
+                    CheckExclusiveParameters(addUser, modUser, delUser, listUsers);
+                }
+            );
+
+            parser.Add(
+                "list-users",
+                _("List all existing users of Server"),
+                delegate(string val) {
+                    listUsers = true;
+                    CheckExclusiveParameters(addUser, modUser, delUser, listUsers);
                 }
             );
 
@@ -137,6 +153,11 @@ namespace Smuxi.Server
 
             try {
                 parser.Parse(args);
+#if LOG4NET
+                if (debug) {
+                    repo.Threshold = log4net.Core.Level.Debug;
+                }
+#endif
                 if (addUser || modUser) {
                     CheckUsernameParameter(username);
                     CheckPasswordParameter(password);
@@ -144,22 +165,12 @@ namespace Smuxi.Server
                 if (delUser) {
                     CheckUsernameParameter(username);
                 }
-                ManageUser(addUser, delUser, modUser, username, password);
+                ManageUser(addUser, delUser, modUser, listUsers, username, password);
             } catch (OptionException ex) {
                 Console.Error.WriteLine(_("Command line error: {0}"), ex.Message);
                 Environment.Exit(1);
             }
 
-#if LOG4NET
-            // initialize log level
-            log4net.Repository.ILoggerRepository repo = log4net.LogManager.GetRepository();
-            if (debug) {
-                repo.Threshold = log4net.Core.Level.Debug;
-            } else {
-                repo.Threshold = log4net.Core.Level.Info;
-            }
-#endif
-
             try {
                 Server.Init(args);
             } catch (Exception e) {
@@ -186,17 +197,13 @@ namespace Smuxi.Server
 #endif
         }
 
-        private static void CheckExclusiveParameters(bool addUser, bool modUser, bool delUser)
+        private static void CheckExclusiveParameters(params bool[] parameters)
         {
             int enabled = 0;
-            if (addUser) {
-                enabled++;
-            }
-            if (modUser) {
-                enabled++;
-            }
-            if (delUser) {
-                enabled++;
+            foreach (bool parameter in parameters) {
+                if (parameter) {
+                    enabled++;
+                }
             }
 
             if (enabled <= 1 ) {
@@ -242,7 +249,9 @@ namespace Smuxi.Server
             }
         }
 
-        private static void ManageUser(bool addUser, bool delUser, bool modUser, string username, string password)
+        private static void ManageUser(bool addUser, bool delUser, bool modUser,
+                                       bool listUsers,
+                                       string username, string password)
         {
             Config config = new Config();
             UserListController controller = new UserListController(config);
@@ -273,6 +282,18 @@ namespace Smuxi.Server
                     username
                 );
                 Environment.Exit(0);
+            } else if (listUsers) {
+                config.Load();
+                var users = controller.GetUsers();
+                Console.WriteLine(_("Users:"));
+                foreach (var user in users) {
+                    if (user == "local") {
+                        // is not a real user and could cause confusion
+                        continue;
+                    }
+                    Console.WriteLine("\t{0}", user);
+                }
+                Environment.Exit(0);
             }
         }
 
diff --git a/src/Server/Makefile.in b/src/Server/Makefile.in
index c217f84..b16f6cb 100644
--- a/src/Server/Makefile.in
+++ b/src/Server/Makefile.in
@@ -90,6 +90,7 @@ AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
 CFLAGS = @CFLAGS@
+CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CSC_FLAGS = @CSC_FLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -99,6 +100,7 @@ DEPDIR = @DEPDIR@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
+EGREP = @EGREP@
 EXEEXT = @EXEEXT@
 FRONTEND_GNOME_COMPILER_FLAGS = @FRONTEND_GNOME_COMPILER_FLAGS@
 GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
@@ -124,6 +126,7 @@ GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
 GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
 GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
 GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
 INSTALL = @INSTALL@
@@ -175,6 +178,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 POSUB = @POSUB@
 PROFILE = @PROFILE@
 SET_MAKE = @SET_MAKE@

-- 
smuxi



More information about the Pkg-cli-apps-commits mailing list