[Pkg-cli-apps-commits] [SCM] smuxi branch, master, updated. debian/0.8.10-3-7-g0f6d47b

Mirco Bauer meebey at meebey.net
Wed May 15 19:42:55 UTC 2013


The following commit has been merged in the master branch:
commit a014cb4b7cca4b5e37c9e55bab6037f5946ed893
Author: Mirco Bauer <meebey at meebey.net>
Date:   Wed May 15 20:06:30 2013 +0200

    Imported Upstream version 0.8.10.2

diff --git a/Makefile.am b/Makefile.am
index d05d297..f40ba98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -60,7 +60,7 @@ update-pot:
 	done
 
 update-transifex:
-	tx pull -l ca,da,de,en_GB,es,fi,fr,hr,pl,ru,sk,sv,tr,ur,zh_CN
+	tx pull -l ca,da,de,en_GB,es,fi,fr,hr,nb_NO,pl,ru,sk,sv,tr,ur,zh_CN
 
 mail-po: update-po
 	for PODIR in $(PODIRS); do \
@@ -73,7 +73,7 @@ mail-po: update-po
 			--from="Mirco Bauer <meebey at meebey.net>" \
 			--smtp=booster.qnetp.net \
 			--podir=$$PODIR \
-			--langs=cs,it,pt; \
+			--langs=cs,es_AR,it,pt; \
 	done
 
 call-po: update-po
@@ -111,8 +111,6 @@ WIN32_FILES = \
 	$(LIB_DIR)/Mono.Posix.dll \
 	$(LIB_DIR)/Nini.dll \
 	$(LIB_DIR)/log4net.dll \
-	$(WIN32_LIB_DIR)/MonoPosixHelper.dll \
-	$(WIN32_LIB_DIR)/zlib1.dll \
 	$(WIN32_LIB_DIR)/plink.exe \
 	$(WIN32_LIB_DIR)/fixedsys500c/Fixedsys500c.ttf \
 	$(BUILD_DIR)/smuxi-common.dll \
diff --git a/Makefile.in b/Makefile.in
index 14fb93b..36567ac 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -399,8 +399,6 @@ WIN32_FILES = \
 	$(LIB_DIR)/Mono.Posix.dll \
 	$(LIB_DIR)/Nini.dll \
 	$(LIB_DIR)/log4net.dll \
-	$(WIN32_LIB_DIR)/MonoPosixHelper.dll \
-	$(WIN32_LIB_DIR)/zlib1.dll \
 	$(WIN32_LIB_DIR)/plink.exe \
 	$(WIN32_LIB_DIR)/fixedsys500c/Fixedsys500c.ttf \
 	$(BUILD_DIR)/smuxi-common.dll \
@@ -755,7 +753,7 @@ distcheck: dist
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	chmod -R a-w $(distdir); chmod u+w $(distdir)
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
@@ -961,7 +959,7 @@ update-pot:
 	done
 
 update-transifex:
-	tx pull -l ca,da,de,en_GB,es,fi,fr,hr,pl,ru,sk,sv,tr,ur,zh_CN
+	tx pull -l ca,da,de,en_GB,es,fi,fr,hr,nb_NO,pl,ru,sk,sv,tr,ur,zh_CN
 
 mail-po: update-po
 	for PODIR in $(PODIRS); do \
@@ -974,7 +972,7 @@ mail-po: update-po
 			--from="Mirco Bauer <meebey at meebey.net>" \
 			--smtp=booster.qnetp.net \
 			--podir=$$PODIR \
-			--langs=cs,it,pt; \
+			--langs=cs,es_AR,it,pt; \
 	done
 
 call-po: update-po
diff --git a/aclocal.m4 b/aclocal.m4
index f9cfdfc..543fdbc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -3100,7 +3100,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	    LD="${LD-ld} -m elf_i386_fbsd"
 	    ;;
 	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
 	    ;;
 	  ppc64-*linux*|powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
@@ -3464,7 +3471,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+	test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -11124,7 +11132,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.5], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -11140,7 +11148,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.5])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/configure b/configure
index 6952aa8..dc2621d 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.69 for smuxi 0.8.10.
+# Generated by GNU Autoconf 2.69 for smuxi 0.8.10.2.
 #
 # Report bugs to <http://www.smuxi.org/issues/new>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='smuxi'
 PACKAGE_TARNAME='smuxi'
-PACKAGE_VERSION='0.8.10'
-PACKAGE_STRING='smuxi 0.8.10'
+PACKAGE_VERSION='0.8.10.2'
+PACKAGE_STRING='smuxi 0.8.10.2'
 PACKAGE_BUGREPORT='http://www.smuxi.org/issues/new'
 PACKAGE_URL=''
 
@@ -703,10 +703,10 @@ BUNDLE_DB4O_FALSE
 BUNDLE_DB4O_TRUE
 DB4O_LIBS
 DB4O_CFLAGS
-NINI_LIBS
-NINI_CFLAGS
 BUNDLE_NINI_FALSE
 BUNDLE_NINI_TRUE
+NINI_LIBS
+NINI_CFLAGS
 LOG4NET_LIBS
 LOG4NET_CFLAGS
 XBUILD_FLAGS
@@ -1528,7 +1528,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.8.10 to adapt to many kinds of systems.
+\`configure' configures smuxi 0.8.10.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1598,7 +1598,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of smuxi 0.8.10:";;
+     short | recursive ) echo "Configuration of smuxi 0.8.10.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1800,7 +1800,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-smuxi configure 0.8.10
+smuxi configure 0.8.10.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2078,7 +2078,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.8.10, which was
+It was created by smuxi $as_me 0.8.10.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2896,7 +2896,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='smuxi'
- VERSION='0.8.10'
+ VERSION='0.8.10.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4984,7 +4984,8 @@ else
     ;;
   *)
     lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
+    if test -n "$lt_cv_sys_max_cmd_len" && \
+	test undefined != "$lt_cv_sys_max_cmd_len"; then
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
       lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     else
@@ -6521,7 +6522,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	    LD="${LD-ld} -m elf_i386_fbsd"
 	    ;;
 	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
+	    case `/usr/bin/file conftest.o` in
+	      *x86-64*)
+		LD="${LD-ld} -m elf32_x86_64"
+		;;
+	      *)
+		LD="${LD-ld} -m elf_i386"
+		;;
+	    esac
 	    ;;
 	  ppc64-*linux*|powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
@@ -14953,16 +14961,9 @@ if test -n "$PKG_CONFIG" && \
 else
   FOUND_NINI=no
 fi
+nini_files=
 if test "x$FOUND_NINI" = "xyes"; then
 	nini_files=`pkg-config --variable=Libraries nini-1.1`
-	 if test -n "$nini_files"; then
-  BUNDLE_NINI_TRUE=
-  BUNDLE_NINI_FALSE='#'
-else
-  BUNDLE_NINI_TRUE='#'
-  BUNDLE_NINI_FALSE=
-fi
-
 	if test -z "$nini_files" ; then
 		# Debian-based distros place Nini into the GAC
 
@@ -15154,6 +15155,14 @@ $as_echo "yes" >&6; }
 
 fi
 fi
+ if test -n "$nini_files"; then
+  BUNDLE_NINI_TRUE=
+  BUNDLE_NINI_FALSE='#'
+else
+  BUNDLE_NINI_TRUE='#'
+  BUNDLE_NINI_FALSE=
+fi
+
 
 
 # Check whether --with-db4o was given.
@@ -17813,7 +17822,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.8.10, which was
+This file was extended by smuxi $as_me 0.8.10.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17870,7 +17879,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.8.10
+smuxi config.status 0.8.10.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index ff51366..3c05033 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.54])
-AC_INIT([smuxi], [0.8.10], [http://www.smuxi.org/issues/new])
+AC_INIT([smuxi], [0.8.10.2], [http://www.smuxi.org/issues/new])
 # using the --foreign option makes automake less strict about GNU policy 
 AC_CONFIG_MACRO_DIR([.])
 AM_INIT_AUTOMAKE([foreign tar-ustar])
@@ -191,9 +191,9 @@ AC_SUBST(XBUILD_FLAGS)
 PKG_CHECK_MODULES([LOG4NET], [log4net])
 
 PKG_CHECK_EXISTS([nini-1.1], FOUND_NINI=yes, FOUND_NINI=no)
+nini_files=
 if test "x$FOUND_NINI" = "xyes"; then
 	nini_files=`pkg-config --variable=Libraries nini-1.1`
-	AM_CONDITIONAL([BUNDLE_NINI], test -n "$nini_files")
 	if test -z "$nini_files" ; then
 		# Debian-based distros place Nini into the GAC
 		PKG_CHECK_MODULES([NINI], [nini-1.1])
@@ -204,6 +204,7 @@ if test "x$FOUND_NINI" = "xyes"; then
 else
 	PKG_CHECK_MODULES([NINI], [nini >= 1.1])
 fi
+AM_CONDITIONAL([BUNDLE_NINI], test -n "$nini_files")
 
 AC_ARG_WITH([db4o],
 	AC_HELP_STRING([--with-db4o=auto|system|included], [Use system or included db4o @<:@default=auto@:>@]),
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 683d80f..6c8557b 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/lib/SmartIrc4net/Makefile.in b/lib/SmartIrc4net/Makefile.in
index 652f827..7f6d996 100644
--- a/lib/SmartIrc4net/Makefile.in
+++ b/lib/SmartIrc4net/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -528,7 +528,7 @@ distcheck: dist
 	*.zip*) \
 	  unzip $(distdir).zip ;;\
 	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	chmod -R a-w $(distdir); chmod u+w $(distdir)
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
diff --git a/lib/SmartIrc4net/aclocal.m4 b/lib/SmartIrc4net/aclocal.m4
index 116159c..0ebcde2 100644
--- a/lib/SmartIrc4net/aclocal.m4
+++ b/lib/SmartIrc4net/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -198,7 +198,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.5], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -214,7 +214,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.5])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/lib/SmartIrc4net/src/IrcClient/IrcClient.cs b/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
index 9a500b1..9a8c441 100644
--- a/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
+++ b/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
@@ -618,7 +618,7 @@ namespace Meebey.SmartIrc4net
         /// <returns>True if nickname belongs to you</returns>
         public bool IsMe(string nickname)
         {
-            return (Nickname == nickname);
+            return String.Compare(Nickname, nickname, StringComparison.OrdinalIgnoreCase) == 0;
         }
 
         /// <summary>
@@ -1202,7 +1202,7 @@ namespace Meebey.SmartIrc4net
 
             found = _ModeRegex.Match(rawline);
             if (found.Success) {
-                if (found.Groups[1].Value == _Nickname) {
+                if (IsMe(found.Groups[1].Value)) {
                     return ReceiveType.UserModeChange;
                 } else {
                     return ReceiveType.ChannelModeChange;
@@ -1412,7 +1412,7 @@ namespace Meebey.SmartIrc4net
                         parametersEnumerator.MoveNext();
                         
                         if (add) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 // sanity check
                                 if (GetChannelUser(ircdata.Channel, temp) != null) {
                                     // update the op list
@@ -1445,7 +1445,7 @@ namespace Meebey.SmartIrc4net
                             }
                         }
                         if (remove) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 // sanity check
                                 if (GetChannelUser(ircdata.Channel, temp) != null) {
                                     // update the op list
@@ -1477,7 +1477,7 @@ namespace Meebey.SmartIrc4net
                             parametersEnumerator.MoveNext();
                             
                             if (add) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     // sanity check
                                     if (GetChannelUser(ircdata.Channel, temp) != null) {
                                         // update the halfop list
@@ -1510,7 +1510,7 @@ namespace Meebey.SmartIrc4net
                                 }
                             }
                             if (remove) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     // sanity check
                                     if (GetChannelUser(ircdata.Channel, temp) != null) {
                                         // update the halfop list
@@ -1542,7 +1542,7 @@ namespace Meebey.SmartIrc4net
                         parametersEnumerator.MoveNext();
                         
                         if (add) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 // sanity check
                                 if (GetChannelUser(ircdata.Channel, temp) != null) {
                                     // update the voice list
@@ -1575,7 +1575,7 @@ namespace Meebey.SmartIrc4net
                             }
                         }
                         if (remove) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 // sanity check
                                 if (GetChannelUser(ircdata.Channel, temp) != null) {
                                     // update the voice list
@@ -1605,7 +1605,7 @@ namespace Meebey.SmartIrc4net
                         temp = (string)parametersEnumerator.Current;
                         parametersEnumerator.MoveNext();
                         if (add) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 try {
                                     channel.Bans.Add(temp);
 #if LOG4NET
@@ -1622,7 +1622,7 @@ namespace Meebey.SmartIrc4net
                             }
                         }
                         if (remove) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 channel.Bans.Remove(temp);
 #if LOG4NET
                                 Logger.ChannelSyncing.Debug("removed ban: "+temp+" from: "+ircdata.Channel);
@@ -1637,7 +1637,7 @@ namespace Meebey.SmartIrc4net
                         temp = (string)parametersEnumerator.Current;
                         parametersEnumerator.MoveNext();
                         if (add) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 try {
                                     channel.UserLimit = int.Parse(temp);
 #if LOG4NET
@@ -1651,7 +1651,7 @@ namespace Meebey.SmartIrc4net
                             }
                         }
                         if (remove) {
-                            if (ActiveChannelSyncing) {
+                            if (ActiveChannelSyncing && channel != null) {
                                 channel.UserLimit = 0;
 #if LOG4NET
                                 Logger.ChannelSyncing.Debug("removed user limit for: "+ircdata.Channel);
@@ -1663,7 +1663,7 @@ namespace Meebey.SmartIrc4net
                             temp = (string)parametersEnumerator.Current;
                             parametersEnumerator.MoveNext();
                             if (add) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     channel.Key = temp;
 #if LOG4NET
                                     Logger.ChannelSyncing.Debug("stored channel key for: "+ircdata.Channel);
@@ -1671,7 +1671,7 @@ namespace Meebey.SmartIrc4net
                                 }
                             }
                             if (remove) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     channel.Key = "";
 #if LOG4NET
                                     Logger.ChannelSyncing.Debug("removed channel key for: "+ircdata.Channel);
@@ -1681,7 +1681,7 @@ namespace Meebey.SmartIrc4net
                         break;
                         default:
                             if (add) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     if (channel.Mode.IndexOf(mode[i]) == -1) {
                                         channel.Mode += mode[i];
 #if LOG4NET
@@ -1691,7 +1691,7 @@ namespace Meebey.SmartIrc4net
                                 }
                             }
                             if (remove) {
-                                if (ActiveChannelSyncing) {
+                                if (ActiveChannelSyncing && channel != null) {
                                     channel.Mode = channel.Mode.Replace(mode[i].ToString(), String.Empty);
 #if LOG4NET
                                     Logger.ChannelSyncing.Debug("removed channel mode ("+mode[i]+") for: "+ircdata.Channel);
diff --git a/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs b/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
index a2a456a..dee028d 100644
--- a/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
+++ b/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
@@ -132,22 +132,22 @@ namespace Meebey.SmartIrc4net
             whoInfo.f_Server   = data.RawMessageArray[6];
             whoInfo.f_Nick     = data.RawMessageArray[7];
 
-            // realname field can be empty on bugged IRCds like InspIRCd-2.0
-            if (data.MessageArray == null) {
+            // HACK: realname field can be empty on bugged IRCds like InspIRCd-2.0
+            // :topiary.voxanon.net 352 Mirco #anonplusradio CpGc igot.avhost Voxanon CpGc H
+            if (data.MessageArray == null || data.MessageArray.Length < 2) {
                 whoInfo.f_Realname = String.Empty;
             } else {
-                // skip hop count
-                whoInfo.f_Realname = String.Join(" ", data.MessageArray, 1, data.MessageArray.Length - 1);
-            }
-
-            int    hopcount = 0;
-            string hopcountStr = data.MessageArray[0];
-            try {
-                hopcount = int.Parse(hopcountStr);
-            } catch (FormatException ex) {
+                int hopcount = 0;
+                var hopcountStr = data.MessageArray[0];
+                if (Int32.TryParse(hopcountStr, out hopcount)) {
+                    whoInfo.f_HopCount = hopcount;
+                } else {
 #if LOG4NET
-                Logger.MessageParser.Warn("Parse(): couldn't parse (as int): '" + hopcountStr + "'", ex);
+                    Logger.MessageParser.Warn("Parse(): couldn't parse hopcount (as int): '" + hopcountStr + "'");
 #endif
+                }
+                // skip hop count
+                whoInfo.f_Realname = String.Join(" ", data.MessageArray, 1, data.MessageArray.Length - 1);
             }
 
             string usermode = data.RawMessageArray[8];
diff --git a/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs b/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
index c58756b..3a1479f 100644
--- a/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
+++ b/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
@@ -921,8 +921,10 @@ namespace Meebey.SmartIrc4net
         {
             if (IsConnected) {
                 try {
-                    _Writer.Write(data + "\r\n");
-                    _Writer.Flush();
+                    lock (_Writer) {
+                        _Writer.Write(data + "\r\n");
+                        _Writer.Flush();
+                    }
                 } catch (IOException) {
 #if LOG4NET
                     Logger.Socket.Warn("sending data failed, connection lost");
@@ -1422,7 +1424,7 @@ namespace Meebey.SmartIrc4net
 #endif
                 try {
                     while (_Connection.IsConnected ) {
-                        Thread.Sleep(_Connection._IdleWorkerInterval);
+                        Thread.Sleep(_Connection._IdleWorkerInterval * 1000);
                         
                         // only send active pings if we are registered
                         if (!_Connection.IsRegistered) {
diff --git a/lib/SmartIrc4net/src/Makefile.in b/lib/SmartIrc4net/src/Makefile.in
index 0766f08..5f23c78 100644
--- a/lib/SmartIrc4net/src/Makefile.in
+++ b/lib/SmartIrc4net/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj b/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
index 3795d72..a726cb1 100644
--- a/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
+++ b/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
@@ -99,6 +99,7 @@
     <Reference Include="System.Web" />
     <Reference Include="System.Xml" />
     <Reference Include="System.Configuration" />
+    <Reference Include="System.Core" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="..\CommonAssemblyInfo.cs">
diff --git a/ltmain.sh b/ltmain.sh
index 33f642a..499e473 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.1
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.2
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.1"
+VERSION="2.4.2 Debian-2.4.2-1.2"
 TIMESTAMP=""
 package_revision=1.3337
 
diff --git a/po-Engine-IRC/LINGUAS b/po-Engine-IRC/LINGUAS
index cdf2d5f..aa7a575 100644
--- a/po-Engine-IRC/LINGUAS
+++ b/po-Engine-IRC/LINGUAS
@@ -8,6 +8,7 @@ es_AR
 fr
 hr
 it
+nb_NO
 pl
 pt
 ru
diff --git a/po-Engine-IRC/zh_CN.po b/po-Engine-IRC/nb_NO.po
similarity index 78%
copy from po-Engine-IRC/zh_CN.po
copy to po-Engine-IRC/nb_NO.po
index 3d77f3c..f99e7fe 100644
--- a/po-Engine-IRC/zh_CN.po
+++ b/po-Engine-IRC/nb_NO.po
@@ -3,125 +3,126 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+#   <arianfaol at gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi - IRC client\n"
 "Report-Msgid-Bugs-To: http://www.smuxi.org/issues\n"
 "POT-Creation-Date: 2011-12-29 09:20+0100\n"
-"PO-Revision-Date: 2010-11-30 04:12+0000\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/smuxi/team/zh_CN/)\n"
+"PO-Revision-Date: 2012-07-25 08:25+0000\n"
+"Last-Translator: Mirco Bauer <meebey at meebey.net>\n"
+"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/smuxi/language/nb_NO/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Language: nb_NO\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
 #. TRANSLATOR: do NOT change the position of {0}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:245
 #, csharp-format
 msgid "{0} invites you to {1}"
-msgstr "{0} 邀请您加入 {1}"
+msgstr "{0} inviterer deg til {1}"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:276
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1519
 msgid "away"
-msgstr "离开"
+msgstr "ikke tilstede"
 
 #. TRANSLATOR: {0} is the amount of seconds
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:282
 #, csharp-format
 msgid "lag: {0} seconds"
-msgstr "延后: {0} 秒"
+msgstr "forsinkelse: {0} sekunder."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:288
 msgid "not connected"
-msgstr "未连接"
+msgstr "ikke koblet til"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:351
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
-msgstr "正在连接到 {0} 端口 {1}..."
+msgstr "Kobler til {0} port {1}..."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:357
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:463
 #, csharp-format
 msgid "Connection to {0} established"
-msgstr "到 {0} 的连接已建立"
+msgstr "kobling til {0} oprettet"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:360
 msgid "Logging in..."
-msgstr "正在登录..."
+msgstr "logger in..."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:394
 msgid "Connection failed!"
-msgstr "连接失败!"
+msgstr "Tilkobling mislyktes!"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:395
 msgid "Connection failed! Reason: "
-msgstr "连接失败! 原因: "
+msgstr "Tilkobling mislyktes! Årsak: "
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Disconnecting..."
-msgstr "正在断开连接..."
+msgstr "Kobler i fra..."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:407
 #, csharp-format
 msgid "Disconnecting from {0}..."
-msgstr "正在从 {0} 断开连接..."
+msgstr "Kobler i fra {0}"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:412
 #, csharp-format
 msgid "Disconnected from {0}"
-msgstr "已从 {0} 断开连接"
+msgstr "Koblet i fra {0}"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:415
 msgid "Connection closed"
-msgstr "连接已关闭"
+msgstr "Tilkobling lukket."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:420
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:477
 msgid "Not connected"
-msgstr "未连接"
+msgstr "Ikke koblet til"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:449
 msgid "Reconnecting..."
-msgstr "正在重新连接..."
+msgstr "Kobler til på nytt..."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:457
 #, csharp-format
 msgid "Reconnecting to {0}..."
-msgstr "正在重新连接到 {0}..."
+msgstr "Kobler til {0} på nytt..."
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:471
 msgid "Reconnect Error"
-msgstr "重新连接出错"
+msgstr ""
 
 #. TRANSLATOR: this line is used as label / category for a
 #. list of commands below
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:875
 msgid "IrcProtocolManager Commands"
-msgstr "IrcProtocolManager 命令"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:943
 #, csharp-format
 msgid "Invalid port: {0}"
-msgstr "端口无效: {0}"
+msgstr "Ugyldig port: {0}"
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
 #, csharp-format
 msgid "Queuing joins: {0}"
-msgstr "正等待加入: {0}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1061
 #, csharp-format
 msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-msgstr "已经加入了频道: {0}. 输入 /window {0} 切换过去。"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1096
 #, csharp-format
 msgid "Active joins: {0} - Queued joins: {1}"
-msgstr "已经加入: {0} - 等待加入: {1}"
+msgstr ""
 
 #. TRANSLATORS: final message will look like this:
 #. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
@@ -129,115 +130,115 @@ msgstr "已经加入: {0} - 等待加入: {1}"
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1150
 #, csharp-format
 msgid "Joining: {0}"
-msgstr "正在加入: {0}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1121
 msgid "Remaining"
-msgstr "剩余"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1126
 #, csharp-format
 msgid "active joins: {0}"
-msgstr "已经加入: {0}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1135
 #, csharp-format
 msgid "queued joins: {0}"
-msgstr "等待加入: {0}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1506
 msgid "IRC Op"
-msgstr "IRC 版主"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1508
 msgid "Op"
-msgstr "版主"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1510
 msgid "Voice"
-msgstr "认证用户"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {1}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1570
 #, csharp-format
 msgid "Topic for {0}: {1}"
-msgstr "{0} 的主题: {1}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1575
 #, csharp-format
 msgid "No topic set for {0}"
-msgstr "{0} 尚未设定主题"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1655
 msgid "ban"
-msgstr "封禁"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1665
 msgid "No bans in channel"
-msgstr "频道内无被封禁用户"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
 #, csharp-format
 msgid "Inviting {0} to {1}"
-msgstr "正在邀请 {0} 加入 {1}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1781
 #, csharp-format
 msgid "{0} is already on {1}"
-msgstr "{0} 已在 {1}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1806
 msgid "Users"
-msgstr "用户"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1848
 #, csharp-format
 msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
-msgstr "总计 {0} 位用户 [{1} 位版主, {2} 位认证用户, {3} 位普通用户]"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1979
 msgid "Connection error! Reason: "
-msgstr "连接出错! 原因: "
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1989
 #, csharp-format
 msgid "Not enough parameters for {0} command"
-msgstr "{0} 命令参数不足"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1999
 msgid "Not connected to server"
-msgstr "未连接到服务器"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2261
 #, csharp-format
 msgid "{0}: No such nick/channel"
-msgstr "{0}: 无此昵称/频道"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2390
 #, csharp-format
 msgid ""
 "Increased send delay to {0}ms to avoid being flooded off the server again."
-msgstr "发送延时已增加到 {0}ms 以避免再次被服务器挤出。"
+msgstr ""
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2404
 msgid "Nick"
-msgstr "昵称"
+msgstr ""
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2414
 msgid "is already in use"
-msgstr "已被占用"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2424
 msgid "Cannot join to channel:"
-msgstr "无法加入频道:"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
 msgid "You are banned"
-msgstr "您已被封禁"
+msgstr ""
 
 #. TRANSLATOR: {0}: nickname, {1}: ident at host,
 #. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
@@ -246,95 +247,93 @@ msgstr "您已被封禁"
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2508
 #, csharp-format
 msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
-msgstr "{0} [{1}] 请求 CTCP {2} 来自 {3}: {4}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2533
 #, csharp-format
 msgid "CTCP PING reply from {0}: {1} seconds"
-msgstr "CTCP PING 回复来自 {0}: {1} 秒"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2541
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
-msgstr "CTCP {0} 回复来自 {1}: {2}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2747
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
-msgstr "{0} [{1}] 已加入 {2}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2873
 #, csharp-format
 msgid "{0} [{1}] has left {2}"
-msgstr "{0} [{1}] 已离开 {2}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2898
 #, csharp-format
 msgid "You were kicked from {0} by {1} [{2}]"
-msgstr "您被 {1} [{2}] 从 {0} 踢出"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2906
 #, csharp-format
 msgid "{0} was kicked from {1} by {2} [{3}]"
-msgstr "{0} 被 {2} [{3}] 从 {1} 踢出"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2923
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2956
 #, csharp-format
 msgid "You're now known as {0}"
-msgstr "您现在的昵称为 {0}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0} or {1}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2961
 #, csharp-format
 msgid "{0} is now known as {1}"
-msgstr "{0} 现在的昵称为 {1}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0} and {2}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2998
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
-msgstr "{0} 将主题 {1} 改为: {2}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {1}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3075
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
-msgstr "用户 {1} 模式更改 [{0}]"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {2}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3085
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
-msgstr "模式/{0} [{1}] by {2}"
+msgstr ""
 
 #. TRANSLATOR: do NOT change the position of {0}!
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3122
 #, csharp-format
 msgid "{0} [{1}] has quit"
-msgstr "{0} [{1}] 已退出"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3199
 #, csharp-format
 msgid ""
 "Connection to {0} port {1} has failed (attempt {2}), retrying in {3} "
 "seconds..."
-msgstr "到 {0} 端口 {1} 的连接失败 (第 {2}次尝试), 将在 {3} 秒后重试..."
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3248
 #, csharp-format
 msgid "{0} is away: {1}"
-msgstr "{0} 离开: {1}"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3254
 msgid "You are no longer marked as being away"
-msgstr "您不再被标为离开状态"
+msgstr ""
 
 #: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3260
 msgid "You have been marked as being away"
-msgstr "您已被标为离开状态"
-
-
+msgstr ""
diff --git a/po-Engine-IRC/pt.po b/po-Engine-IRC/pt.po
index 5d1c58a..56ce7d0 100644
--- a/po-Engine-IRC/pt.po
+++ b/po-Engine-IRC/pt.po
@@ -2,219 +2,224 @@
 # 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.
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-irc \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-11 11:54+0200\n"
-"PO-Revision-Date: 2010-09-08 01:32+0100\n"
+"POT-Creation-Date: 2012-07-25 06:24+0200\n"
+"PO-Revision-Date: 2012-07-25 23:18+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"
+"X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:234
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:245
 #, csharp-format
 msgid "{0} invites you to {1}"
 msgstr "{0} convida-o para {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:255
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1468
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:276
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
 msgid "away"
 msgstr "longe"
 
 #. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:282
 #, csharp-format
 msgid "lag: {0} seconds"
 msgstr "demora: {0} segundos"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:267
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:288
 msgid "not connected"
 msgstr "não ligado"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:337
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:354
+#, csharp-format
+msgid "Using proxy: {0}:{1}"
+msgstr "A usar o proxy: {0}:{1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:361
 #, csharp-format
 msgid "Connecting to {0} port {1}..."
 msgstr "A ligar ao {0} porto {1}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:343
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:438
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:367
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:473
 #, csharp-format
 msgid "Connection to {0} established"
 msgstr "Ligação a {0} estabelecida"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:346
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:370
 msgid "Logging in..."
 msgstr "A efectuar o login..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:369
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
 msgid "Connection failed!"
 msgstr "Ligação falhada!"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:370
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:405
 msgid "Connection failed! Reason: "
 msgstr "Ligação falhada! Razão: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:379
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:414
 msgid "Disconnecting..."
 msgstr "A desligar..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:382
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:417
 #, csharp-format
 msgid "Disconnecting from {0}..."
 msgstr "A desligar de {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:387
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:422
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Desligado de {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:425
 msgid "Connection closed"
 msgstr "Ligação fechada"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:395
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:452
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:430
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:487
 msgid "Not connected"
 msgstr "Não ligado"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:424
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:459
 msgid "Reconnecting..."
 msgstr "A voltar a ligar..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:432
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:467
 #, csharp-format
 msgid "Reconnecting to {0}..."
 msgstr "A voltar a ligar a {0}..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:446
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:481
 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:816
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:885
 msgid "IrcProtocolManager Commands"
 msgstr "Comandos do IrcProtocolManager"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:887
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:960
 #, csharp-format
 msgid "Invalid port: {0}"
 msgstr "Porto inválido: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:997
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1064
 #, csharp-format
 msgid "Queuing joins: {0}"
 msgstr "A colocar entradas em fila de espera: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1011
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1078
 #, 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:1046
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1113
 #, 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:1069
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1100
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1136
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1167
 #, csharp-format
 msgid "Joining: {0}"
 msgstr "A entrar em: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1071
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1138
 msgid "Remaining"
 msgstr "Restante"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1076
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1143
 #, csharp-format
 msgid "active joins: {0}"
 msgstr "entradas activas: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1085
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1152
 #, csharp-format
 msgid "queued joins: {0}"
 msgstr "entradas em fila de espera: {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1525
 msgid "IRC Op"
 msgstr "Op de IRC"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1457
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1527
 msgid "Op"
 msgstr "Op"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1459
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1529
 msgid "Voice"
 msgstr "Voz"
 
 #. TRANSLATOR: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1519
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1589
 #, csharp-format
 msgid "Topic for {0}: {1}"
 msgstr "Tópico para {0}: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1524
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1594
 #, csharp-format
 msgid "No topic set for {0}"
 msgstr "Nenhum tópico definido para {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1604
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1674
 msgid "ban"
 msgstr "banir"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1614
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1684
 msgid "No bans in channel"
 msgstr "Ninguém banido no canal"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1726
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1796
 #, csharp-format
 msgid "Inviting {0} to {1}"
 msgstr "A convidar {0} para {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1730
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1800
 #, csharp-format
 msgid "{0} is already on {1}"
 msgstr "{0} já está em {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1755
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1825
 msgid "Users"
 msgstr "Utilizadores"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1797
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1867
 #, 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:1928
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1998
 msgid "Connection error! Reason: "
 msgstr "Erro de ligação! Razão: "
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1938
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2008
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Parâmetros insuficientes para o comando {0}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1948
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2018
 msgid "Not connected to server"
 msgstr "Não ligado ao servidor"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2156
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2284
 #, csharp-format
 msgid "{0}: No such nick/channel"
 msgstr "{0}: Não existe tal alcunha/canal"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2279
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2413
 #, csharp-format
 msgid ""
 "Increased send delay to {0}ms to avoid being flooded off the server again."
@@ -224,21 +229,21 @@ msgstr ""
 
 #. TRANSLATOR: the final line will look like this:
 #. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2293
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2427
 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:2303
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2437
 msgid "is already in use"
 msgstr "já está em uso"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2447
 msgid "Cannot join to channel:"
 msgstr "Não pode entrar no canal:"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2337
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2455
 msgid "You are banned"
 msgstr "Você está banido"
 
@@ -246,81 +251,83 @@ msgstr "Você está banido"
 #. {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:2413
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2531
 #, 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:2438
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2556
 #, 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:2446
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2564
 #, csharp-format
 msgid "CTCP {0} reply from {1}: {2}"
 msgstr "CTCP {0} resposta de {1}: {2}"
 
 #. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2643
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2770
 #, csharp-format
 msgid "{0} [{1}] has joined {2}"
 msgstr "{0} [{1}] entrou em {2}"
 
 #. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2769
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2896
 #, csharp-format
 msgid "{0} [{1}] has left {2}"
 msgstr "{0} [{1}] abandonou {2}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2794
+#. TRANSLATOR: do NOT change the position of {1}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2922
 #, csharp-format
-msgid "You were kicked from {0} by {1} [{2}]"
-msgstr "Você foi expulso de {0} por {1} [{2}]"
+msgid "You were kicked from {0} by {1}"
+msgstr "Você foi expulso de {0} por {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2802
+#. TRANSLATOR: do NOT change the position of {0} and {2}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2933
 #, csharp-format
-msgid "{0} was kicked from {1} by {2} [{3}]"
-msgstr "{0} foi expulso de {1} por {2} [{3}]"
+msgid "{0} was kicked from {1} by {2}"
+msgstr "{0} foi expulso de {1} por {2}"
 
 #. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2819
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2852
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2953
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2986
 #, csharp-format
 msgid "You're now known as {0}"
 msgstr "Você é agora conhecido como {0}"
 
 #. TRANSLATOR: do NOT change the position of {0} or {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2857
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2991
 #, csharp-format
 msgid "{0} is now known as {1}"
 msgstr "{0} é agora conhecido como {1}"
 
-#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2894
+#. TRANSLATOR: do NOT change the position of {0} and {2}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3028
 #, csharp-format
 msgid "{0} changed the topic of {1} to: {2}"
 msgstr "{0} mudou o tópico de {1} para: {2}"
 
 #. TRANSLATOR: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2970
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3105
 #, csharp-format
 msgid "Mode change [{0}] for user {1}"
 msgstr "Alteração de modo [{0}] para o utilizador {1}"
 
 #. TRANSLATOR: do NOT change the position of {2}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2980
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
 #, csharp-format
 msgid "mode/{0} [{1}] by {2}"
 msgstr "modo/{0} [{1}] por {2}"
 
 #. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3017
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3152
 #, csharp-format
 msgid "{0} [{1}] has quit"
 msgstr "{0} [{1}] saiu"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3094
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3229
 #, csharp-format
 msgid ""
 "Connection to {0} port {1} has failed (attempt {2}), retrying in {3} "
@@ -329,16 +336,16 @@ msgstr ""
 "A ligação para {0} no porto {1} falhou (tentativa {2}), a tentar de novo em "
 "{3} segundos..."
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3278
 #, csharp-format
 msgid "{0} is away: {1}"
 msgstr "{0} está longe: {1}"
 
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3284
 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:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3290
 msgid "You have been marked as being away"
 msgstr "Você foi marcado como estando longe"
 
diff --git a/po-Engine-Twitter/pt.po b/po-Engine-Twitter/pt.po
index eec344c..b38621c 100644
--- a/po-Engine-Twitter/pt.po
+++ b/po-Engine-Twitter/pt.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine-twitter \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:20+0100\n"
-"PO-Revision-Date: 2012-01-07 21:44+0100\n"
+"POT-Creation-Date: 2012-07-25 06:25+0200\n"
+"PO-Revision-Date: 2012-07-25 23:28+0100\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
 "Language-Team: Portuguese <traduz at debianpt.org>\n"
 "Language: pt\n"
@@ -19,27 +19,32 @@ msgstr ""
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:124
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:127
 msgid "Home Timeline"
 msgstr "Timeline de Home"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:135
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:138
 msgid "Replies"
 msgstr "Respostas"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:146
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
 msgid "Direct Messages"
 msgstr "Mensagens Directas"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:197
+#, csharp-format
+msgid "Using proxy: {0}:{1}"
+msgstr "A usar proxy: {0}:{1}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:204
 msgid "Connecting to Twitter..."
 msgstr "A ligar ao Twitter..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:228
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:242
 msgid "Twitter authorization required."
 msgstr "Necessária autorização do Twitter."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:235
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:249
 #, csharp-format
 msgid ""
 "Please open the following URL and click \"Allow\" to allow Smuxi to connect "
@@ -48,7 +53,7 @@ msgstr ""
 "Por favor abra o seguinte URL e clique em \"Permitir\" (Allow) para permitir "
 "que o Smuxi se ligue à sua conta do Twitter: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:251
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:265
 msgid ""
 "Once you have allowed Smuxi to access your Twitter account, Twitter will "
 "provide a PIN."
@@ -56,69 +61,69 @@ msgstr ""
 "Após ter permitido que o Smuxi tenha acesso à sua conta do Twitter, o "
 "Twitter irá fornecer um PIN."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:258
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:272
 msgid "Please type: /pin PIN_FROM_TWITTER"
 msgstr "Por favor escreva: /pin PIN_DO_TWITTER"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:265
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:305
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:279
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:319
 msgid "Connection failed!"
 msgstr "Ligação falhada!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:267
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:307
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:281
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:321
 msgid "Connection failed! Reason: "
 msgstr "Ligação falhada! Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:280
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:294
 msgid "Fetching user details from Twitter, please wait..."
 msgstr ""
 "A obter detalhes do utilizador a partir do Twitter, por favor aguarde..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:285
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:299
 msgid "Finished fetching user details."
 msgstr "Obtenção de detalhes do utilizador terminada."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:290
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:304
 msgid "Successfully connected to Twitter."
 msgstr "Ligação ao Twitter efectuada com sucesso."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:299
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:313
 msgid "Failed to fetch user details from Twitter. Reason: "
 msgstr "Falhou ao obter os detalhes do utilizador a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:320
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:334
 msgid "Fetching friends from Twitter, please wait..."
 msgstr "A obter amigos a partir do Twitter, por favor aguarde..."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:325
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:339
 msgid "Finished fetching friends."
 msgstr "Obtenção de amigos terminada."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:328
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:342
 msgid "Failed to fetch friends from Twitter. Reason: "
 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:605
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:619
 msgid "Twitter Commands"
 msgstr "Comandos do Twitter"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:647
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:661
 msgid "No pending authorization request!"
 msgstr "Nenhum pedido de autorização pendente!"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:668
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:682
 #, csharp-format
 msgid "Failed to authorize with Twitter: {0}"
 msgstr "Falhou a autorização com o Twitter: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:676
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:690
 msgid "Twitter did not accept your PIN.  Did you enter it correctly?"
 msgstr "O Twitter não aceitou o seu PIN. Indicou-o correctamente?"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:684
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:698
 #, csharp-format
 msgid ""
 "Please retry by closing this tab and reconnecting to the Twitter \"{0}\" "
@@ -127,53 +132,52 @@ msgstr ""
 "Por favor tente de novo fechando este separador e ligando de novo à conta "
 "Twitter {0}."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:725
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:739
 msgid "Migrated Twitter account from basic auth to OAuth."
 msgstr "Conta Twitter migrada de autenticação básica para OAuth."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:739
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:753
 #, csharp-format
 msgid "Successfully authorized Twitter account \"{0}\" for Smuxi"
 msgstr "Conta Twitter {0} autorizada com sucesso para o Smuxi"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:761
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:775
 #, 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:770
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:784
 msgid "Cannot send message - no target specified. Use: /msg $nick message"
 msgstr ""
 "Incapaz de enviar mensagem - nenhum destino especificado. Use: /msg $alcunha "
 "mensagem"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:783
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:820
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:797
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:834
 #, csharp-format
 msgid "Could not send message - Reason: {0}"
 msgstr "Incapaz de enviar mensagem - Razão: {0}"
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:807
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:821
 msgid "Could not send message - the specified user does not exist."
 msgstr "Incapaz de enviar mensagem - o utilizador especificado não existe."
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:896
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:910
 msgid ""
 "An error occurred while fetching the friends timeline from Twitter. Reason: "
 msgstr ""
 "Ocorreu um erro ao obter o timeline de amigos a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1001
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1017
 msgid "An error occurred while fetching the replies from Twitter. Reason: "
 msgstr "Ocorreu um erro ao obter as respostas a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1097
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1113
 msgid "An error occurred while fetching direct messages from Twitter. Reason: "
 msgstr ""
 "Ocorreu um erro ao obter as mensagens directas a partir do Twitter. Razão: "
 
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1441
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1458
 msgid "Twitter didn't send a valid response, they're probably overloaded"
 msgstr ""
 "O Twitter não enviou uma resposta válida, provavelmente estão sobrecarregados"
-
diff --git a/po-Engine/LINGUAS b/po-Engine/LINGUAS
index e638cfa..9456ea6 100644
--- a/po-Engine/LINGUAS
+++ b/po-Engine/LINGUAS
@@ -7,6 +7,7 @@ es_AR
 fr
 hr
 it
+nb_NO
 pl
 pt
 ru
diff --git a/po-Engine/da.po b/po-Engine/nb_NO.po
similarity index 66%
copy from po-Engine/da.po
copy to po-Engine/nb_NO.po
index dbb7535..ea0174f 100644
--- a/po-Engine/da.po
+++ b/po-Engine/nb_NO.po
@@ -3,67 +3,65 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Joe Hansen <joedalton2 at yahoo.dk>, 2011, 2012.
+#   <arianfaol at gmail.com>, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: Smuxi - IRC client\n"
 "Report-Msgid-Bugs-To: http://www.smuxi.org/issues\n"
 "POT-Creation-Date: 2012-01-01 18:47+0100\n"
-"PO-Revision-Date: 2012-01-07 10:33+0000\n"
-"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
-"Language-Team: Danish (http://www.transifex.net/projects/p/smuxi/team/da/)\n"
+"PO-Revision-Date: 2012-08-19 22:19+0000\n"
+"Last-Translator: Arianfaol <arianfaol at gmail.com>\n"
+"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/smuxi/language/nb_NO/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: da\n"
+"Language: nb_NO\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 
 #: ../src/Engine/FrontendManager.cs:233
 msgid "No network connections"
-msgstr "Ingen netværksforbindelser"
+msgstr "Ingen nettverkstilkoblinger"
 
 #: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:295
 #, csharp-format
 msgid "Optimizing: {0}..."
-msgstr "Optimerer: {0}..."
+msgstr "Optimaliserer: {0}..."
 
 #: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:313
 #, csharp-format
 msgid "Failed to optimize: {0}. Reason: {1}"
-msgstr "Kunne ikke optimere: {0}. Årsag: {1}"
+msgstr "Optimalisering mislyktes: {0}. Årsak: {1}"
 
 #: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:347
 msgid ""
 "Your chat history is no longer available because of an error but will be "
 "preserved from now on."
-msgstr ""
-"Din snakkehistorik er ikke længere tilgængelig på grund af en fejl, men den "
-"vil blive gemt fremadrettet."
+msgstr "Chatloggen din er ikke lenger tilgjengelig på grunn av en feil, men vil bil lagret fra nå av."
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:170
 msgid "Not connected to server"
-msgstr "Ikke forbundet til server"
+msgstr "Ikke koblet til server"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:178
 #: ../src/Engine/Session.cs:778
 #, csharp-format
 msgid "Not enough parameters for {0} command"
-msgstr "Ikke nok parametre for kommandoen {0}"
+msgstr "Ikke nok parametere for kommando {0}"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:189
 #, csharp-format
 msgid "Connected to {0}"
-msgstr "Forbundet til {0}"
+msgstr "Koblet til {0}"
 
 #: ../src/Engine/Protocols/ProtocolManagerBase.cs:207
 #, csharp-format
 msgid "Disconnected from {0}"
-msgstr "Ikke længere forbundet til {0}"
+msgstr "Koblet i fra {0}"
 
 #: ../src/Engine/Session.cs:218
 #, csharp-format
 msgid "Automatic connect to {0} failed!"
-msgstr "Automatisk tilslutning til {0} mislykkedes!"
+msgstr "Automatisk tilkobling til {0} mislyktes!"
 
 #. TRANSLATOR: this line is used as a label / category for a
 #. list of commands below
@@ -73,38 +71,36 @@ msgstr "Motorkommandoer"
 
 #: ../src/Engine/Session.cs:527
 msgid "Connect failed!"
-msgstr "Tilslutning mislykkedes!"
+msgstr "Tilkobling mislyktes!"
 
 #: ../src/Engine/Session.cs:550
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
-msgstr "Afbrydelse fejlede - kunne ikke finde server: {0}"
+msgstr "Frakobling mislyktes - kunne ikke finne server: {0}"
 
 #: ../src/Engine/Session.cs:589
 msgid "Reconnect failed!"
-msgstr "Gentilslutning mislykkedes!"
+msgstr "Gjentilkobling mislyktes."
 
 #: ../src/Engine/Session.cs:608
 msgid "Configuration reloaded"
-msgstr "Konfiguration genindlæst"
+msgstr "Konfigurasjon lastet på nytt"
 
 #: ../src/Engine/Session.cs:613
 msgid "Configuration saved"
-msgstr "Konfiguration gemt"
+msgstr "Konfigurasjon lagret"
 
 #: ../src/Engine/Session.cs:617
 msgid "Invalid parameter for config; use load or save"
-msgstr "Ugyldigt parameter for konfig; brug load (indlæs) eller save (gem)"
+msgstr "Ugyldig parameter for config; bruk load eller save"
 
 #: ../src/Engine/Session.cs:676
 msgid "Invalid parameter for network; use list, switch, or close"
-msgstr ""
-"Ugyldigt parameter for netværk; brug list (vis), switch (skift) eller close "
-"(luk)"
+msgstr "Ugyldig parameter for network; bruk list, switch, eller close"
 
 #: ../src/Engine/Session.cs:687
 msgid "Networks"
-msgstr "Netværk"
+msgstr "Nettverk"
 
 #: ../src/Engine/Session.cs:691
 msgid "Protocol"
@@ -112,11 +108,11 @@ msgstr "Protokol"
 
 #: ../src/Engine/Session.cs:692
 msgid "Network"
-msgstr "Netværk"
+msgstr "Nettverk"
 
 #: ../src/Engine/Session.cs:693
 msgid "Host"
-msgstr "Vært"
+msgstr "Vert"
 
 #: ../src/Engine/Session.cs:694
 msgid "Port"
@@ -125,36 +121,34 @@ msgstr "Port"
 #: ../src/Engine/Session.cs:709
 #, csharp-format
 msgid "Network close failed - could not find network: {0}"
-msgstr "Lukning af netværk fejlede - kunne ikke finde netværk: {0}"
+msgstr "Stenging av nettverk mislyktes - kunne ikke finne nettverk: {0}"
 
 #: ../src/Engine/Session.cs:748
 #, csharp-format
 msgid "Network switch failed - could not find network: {0}"
-msgstr "Netværksomskifter fejlede - kunne ikke finde netværk: {0}"
+msgstr "Bytte av nettverk mislyktes - kunne ikke finne nettverk: {0}"
 
 #: ../src/Engine/Session.cs:767
 msgid "Not connected to any network"
-msgstr "Ikke tilsluttet til noget netværk"
+msgstr "Ikke koblet til noen nettverk"
 
 #: ../src/Engine/Session.cs:1013
 #, csharp-format
 msgid ""
 "Failed to write to chat history. Your chat history will not be preserved. "
 "Reason: {0}"
-msgstr ""
-"Kunne ikke skrive snakkehistorik. Din snakkehistorik vil ikke blive gemt. "
-"Årsag: {0}"
+msgstr "Kunne ikke skrive til Chatlogg. Chatloggen din vil ikke bli lagret. Årsak: {0}"
 
 #. just in case the ProtocolManager is not setting the
 #. protocol chat
 #: ../src/Engine/Session.cs:1185
 msgid "Connect failed."
-msgstr "Tilslutning mislykkedes."
+msgstr "Tilkobling mislyktes."
 
 #: ../src/Engine/Session.cs:1216
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
-msgstr "Ingen protokolhåndtering fundet til denne protokol: {0}"
+msgstr "Ingen protokollbehandler funnet for protokollen: {0}"
 
 #: ../src/Engine/Session.cs:1448
 msgid "Welcome to Smuxi"
@@ -162,65 +156,56 @@ msgstr "Velkommen til Smuxi"
 
 #: ../src/Engine/Session.cs:1455
 msgid "Type /help to get a list of available commands."
-msgstr "Tast /help for en liste over tilgængelige kommandoer."
+msgstr "Skriv /help for å få en liste over tilgjengelige kommandoer."
 
 #: ../src/Engine/Session.cs:1461
 msgid ""
 "After you have made a connection the list of available commands changes. Go "
 "to the newly opened connection tab and use the /help command again to see "
 "the extended command list."
-msgstr ""
-"Efter du har foretaget en forbindelsen så ændres listen over tilgængelige "
-"kommandoer. Gå til det netop åbnede forbindelsesfaneblad og brug kommandoen "
-"/help igen for at se den udvidede kommandoliste."
+msgstr "Etter du har koblet til endrer listen med tilgjengelige kommandoer seg. Gå til den nyåpnede tilkoblingsarkfanen og bruk /help kommandoen om igjen for å se den utvidede kommandolisten."
 
 #: ../src/Engine/Config/UserListController.cs:117
 msgid "Username must not be empty."
-msgstr "Brugernavn må ikke være tomt."
+msgstr "Brukernavn kan ikke være tomt."
 
 #: ../src/Engine/Config/UserListController.cs:127
 msgid "Password must not be empty."
-msgstr "Adgangskode må ikke være tom."
+msgstr "Passord kan ikke være tomt."
 
 #: ../src/Engine/Config/UserListController.cs:136
 #, csharp-format
 msgid "User \"{0}\" doesn't exist."
-msgstr "Bruger »{0}« findes ikke."
+msgstr "Bruker \"{0}\" eksisterer ikke."
 
 #: ../src/Engine/Config/UserListController.cs:145
 #, csharp-format
 msgid "User \"{0}\" already exists."
-msgstr "Bruger »{0}« findes allerede."
+msgstr "Bruker \"{0}\" eksisterer allerede."
 
 #: ../src/Engine/Config/ServerListController.cs:131
 msgid "Server hostname must not be empty."
-msgstr "Serverværtsnavn må ikke være tomt."
+msgstr "Serververtsnavn kan ikke være tomt."
 
 #: ../src/Engine/Config/ServerListController.cs:134
 msgid "Server hostname contains invalid characters (newline)."
-msgstr "Serverværtsnavn indeholder ugyldige tegn (nylinje)."
+msgstr "Serververtsnavn inneholder ugyldige tegn (linjeskift)."
 
 #: ../src/Engine/Config/ServerListController.cs:140
 #, csharp-format
 msgid "Server '{0}' already exists."
-msgstr "Server '{0}' findes allerede."
+msgstr "Server '{0}' eksisterer allerede"
 
 #: ../src/Engine/Chats/ChatModel.cs:105
 #, csharp-format
 msgid ""
 "Failed to load chat history. Your chat history will not be preserved. "
 "Reason: {0}"
-msgstr ""
-"Kunne ikke indlæse snakkehistorik. Din snakkehistorik vil ikke blive "
-"bevaret. Årsag: {0}"
+msgstr "Kunne ikke laste chatlogg. Chatloggen din vil ikke bli lagret. Årsak: {0}"
 
 #: ../src/Engine/Chats/ChatModel.cs:290
 #, csharp-format
 msgid ""
 "Failed to open chat history for writing. Your chat history will not be "
 "preserved. Reason: {0}"
-msgstr ""
-"Kunne ikke åbne snakkehistorik for skrivning. Din snakkehistorik vil ikke "
-"blive bevaret. Årsag: {0}"
-
-
+msgstr "Kunne ikke åpne chatlogg for skriving. Chatloggen din vil ikke bli lagret. Årsak: {0}"
diff --git a/po-Engine/pt.po b/po-Engine/pt.po
index bf2200c..a049bf2 100644
--- a/po-Engine/pt.po
+++ b/po-Engine/pt.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-engine \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:19+0100\n"
-"PO-Revision-Date: 2012-01-07 23:47+0000\n"
+"POT-Creation-Date: 2012-07-25 06:50+0200\n"
+"PO-Revision-Date: 2012-07-30 09:08+0100\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
 "Language-Team: Portuguese <traduz at debianpt.org>\n"
 "Language: pt\n"
@@ -41,22 +41,22 @@ msgstr ""
 "O seu histórico do chat já não está disponível devido a um erro mas será "
 "preservado a partir de agora."
 
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:170
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:164
 msgid "Not connected to server"
-msgstr "Não ligado ao servidor"
+msgstr "Não está ligado ao servidor"
 
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:178
-#: ../src/Engine/Session.cs:778
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:172
+#: ../src/Engine/Session.cs:841
 #, csharp-format
 msgid "Not enough parameters for {0} command"
 msgstr "Parâmetros insuficientes para o comando {0}"
 
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:189
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:183
 #, csharp-format
 msgid "Connected to {0}"
 msgstr "Ligado a {0}"
 
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:207
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:201
 #, csharp-format
 msgid "Disconnected from {0}"
 msgstr "Desligado de {0}"
@@ -72,70 +72,84 @@ msgstr "Falhou a ligação automática a {0}!"
 msgid "Engine Commands"
 msgstr "Comandos do Motor"
 
-#: ../src/Engine/Session.cs:527
+#: ../src/Engine/Session.cs:539
 msgid "Connect failed!"
 msgstr "Ligação falhada!"
 
-#: ../src/Engine/Session.cs:550
+#: ../src/Engine/Session.cs:562
 #, csharp-format
 msgid "Disconnect failed - could not find server: {0}"
 msgstr "Falha ao desligar - incapaz de encontrar o servidor: {0}"
 
-#: ../src/Engine/Session.cs:589
+#: ../src/Engine/Session.cs:601
 msgid "Reconnect failed!"
 msgstr "Re-ligação falhada!"
 
-#: ../src/Engine/Session.cs:608
+#: ../src/Engine/Session.cs:620
 msgid "Configuration reloaded"
 msgstr "Configuração recarregada"
 
-#: ../src/Engine/Session.cs:613
+#: ../src/Engine/Session.cs:625
 msgid "Configuration saved"
 msgstr "Configuração guardada"
 
-#: ../src/Engine/Session.cs:617
+#: ../src/Engine/Session.cs:629
 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:676
+#: ../src/Engine/Session.cs:694
 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:687
-msgid "Networks"
-msgstr "Redes"
-
-#: ../src/Engine/Session.cs:691
-msgid "Protocol"
-msgstr "Protocolo"
+#. TRANSLATOR: this line is used as a label / category for a
+#. list of networks below
+#: ../src/Engine/Session.cs:722
+msgid "Connected Networks"
+msgstr "Redes Ligadas"
 
-#: ../src/Engine/Session.cs:692
+#: ../src/Engine/Session.cs:727 ../src/Engine/Session.cs:751
 msgid "Network"
 msgstr "Rede"
 
-#: ../src/Engine/Session.cs:693
+#: ../src/Engine/Session.cs:728
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: ../src/Engine/Session.cs:729
 msgid "Host"
 msgstr "Máquina"
 
-#: ../src/Engine/Session.cs:694
+#: ../src/Engine/Session.cs:730
 msgid "Port"
 msgstr "Porto"
 
-#: ../src/Engine/Session.cs:709
+#. TRANSLATOR: no connected networks
+#. TRANSLATOR: no available networks
+#: ../src/Engine/Session.cs:736 ../src/Engine/Session.cs:757
+msgid "None"
+msgstr "Nenhuma"
+
+#. TRANSLATOR: this line is used as a label / category for a
+#. list of networks below
+#: ../src/Engine/Session.cs:743
+msgid "Available Networks"
+msgstr "Redes Disponíveis"
+
+#: ../src/Engine/Session.cs:772
 #, csharp-format
 msgid "Network close failed - could not find network: {0}"
 msgstr "Fecho de rede falhado - incapaz de encontrar a rede: {0}"
 
-#: ../src/Engine/Session.cs:748
+#: ../src/Engine/Session.cs:811
 #, csharp-format
 msgid "Network switch failed - could not find network: {0}"
 msgstr "Troca de rede falhada - incapaz de encontrar a rede: {0}"
 
-#: ../src/Engine/Session.cs:767
+#: ../src/Engine/Session.cs:830
 msgid "Not connected to any network"
 msgstr "Não ligado a nenhuma rede"
 
-#: ../src/Engine/Session.cs:1013
+#: ../src/Engine/Session.cs:1076
 #, csharp-format
 msgid ""
 "Failed to write to chat history. Your chat history will not be preserved. "
@@ -146,24 +160,24 @@ msgstr ""
 
 #. just in case the ProtocolManager is not setting the
 #. protocol chat
-#: ../src/Engine/Session.cs:1185
+#: ../src/Engine/Session.cs:1248
 msgid "Connect failed."
 msgstr "Ligação falhada."
 
-#: ../src/Engine/Session.cs:1216
+#: ../src/Engine/Session.cs:1279
 #, csharp-format
 msgid "No protocol manager found for the protocol: {0}"
 msgstr "Nenhum gestor de protocolo encontrado para o protocolo: {0}"
 
-#: ../src/Engine/Session.cs:1448
+#: ../src/Engine/Session.cs:1511
 msgid "Welcome to Smuxi"
 msgstr "Bem vindo ao Smuxi"
 
-#: ../src/Engine/Session.cs:1455
+#: ../src/Engine/Session.cs:1518
 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:1461
+#: ../src/Engine/Session.cs:1524
 msgid ""
 "After you have made a connection the list of available commands changes. Go "
 "to the newly opened connection tab and use the /help command again to see "
@@ -192,15 +206,36 @@ msgid "User \"{0}\" already exists."
 msgstr "O utilizador \"{0}\" já existe."
 
 #: ../src/Engine/Config/ServerListController.cs:131
+msgid "Network must not be empty."
+msgstr "A rede não pode estar vazia."
+
+#: ../src/Engine/Config/ServerListController.cs:151
 msgid "Server hostname must not be empty."
 msgstr "O nome de máquina do servidor não pode estar vazio."
 
-#: ../src/Engine/Config/ServerListController.cs:134
+#: ../src/Engine/Config/ServerListController.cs:154
 msgid "Server hostname contains invalid characters (newline)."
-msgstr ""
-"O nome de máquina do servidor contém caracteres inválidos (nova linha)."
+msgstr "O nome de máquina do servidor contém caracteres inválidos (nova linha)."
 
-#: ../src/Engine/Config/ServerListController.cs:140
+#: ../src/Engine/Config/ServerListController.cs:160
 #, csharp-format
 msgid "Server '{0}' already exists."
-msgstr "O servidor \"{0}\" já existe."
+msgstr "O servidor '{0}' já existe."
+
+#: ../src/Engine/Chats/ChatModel.cs:105
+#, csharp-format
+msgid ""
+"Failed to load chat history. Your chat history will not be preserved. "
+"Reason: {0}"
+msgstr ""
+"Falhou a leitura do histórico do chat. O seu histórico de chat não será "
+"preservado. Razão: {0}"
+
+#: ../src/Engine/Chats/ChatModel.cs:290
+#, csharp-format
+msgid ""
+"Failed to open chat history for writing. Your chat history will not be "
+"preserved. Reason: {0}"
+msgstr ""
+"Falhou a escrita do histórico do chat. O seu histórico de chat não será "
+"preservado. Razão: {0}"
diff --git a/po-Frontend-GNOME/pt.po b/po-Frontend-GNOME/pt.po
index 2aa7706..270bc95 100644
--- a/po-Frontend-GNOME/pt.po
+++ b/po-Frontend-GNOME/pt.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-frontend-gnome \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:22+0100\n"
-"PO-Revision-Date: 2012-01-12 00:07+0000\n"
+"POT-Creation-Date: 2012-07-25 06:28+0200\n"
+"PO-Revision-Date: 2012-07-30 09:28+0100\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
 "Language-Team: Portuguese <traduz at debianpt.org>\n"
 "Language: pt\n"
@@ -21,195 +21,190 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:1
-msgid "<b> Chat </b>"
-msgstr "<b> Conversar </b>"
+msgid "Smuxi Preferences"
+msgstr "Preferências de Smuxi"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:2
-msgid "<b> Color </b>"
-msgstr "<b> Cor </b>"
+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 ""
+"A alcunha a usar. Você pode especificar alcunhas extra (separadas por "
+"espaços) que serão usadas quando a primeira escolha não estiver disponível. "
+"Estão predefinidos como extras $alcunha_ e $alcunha__."
 
 #: ../glade/smuxi-frontend-gnome.glade.h:3
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1172
-msgid "<b> Entry Field </b>"
-msgstr "<b> Campo de Entrada </b>"
+msgid "Nickname(s):"
+msgstr "Alcunha(s):"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:4
-msgid "<b> Font </b>"
-msgstr "<b> Tipo de Letra </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:315
+msgid "Username:"
+msgstr "Nome de utilizador:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:5
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1502
-msgid "<b> Highlighting </b>"
-msgstr "<b> Destaque </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:338
+msgid "Realname:"
+msgstr "Nome Real:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:6
-msgid "<b> Notification Area Icon </b>"
-msgstr "<b> Ícone da Área de Notificação </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:359
+msgid "Encoding:"
+msgstr "Codificação:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:7
-msgid "<b> Person List Position </b>"
-msgstr "<b> Posição da Lista de Pessoas </b>"
+msgid "<b>General</b>"
+msgstr "<b>Geral</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:8
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1009
-msgid "<b> Tab Colors </b>"
-msgstr "<b> Cores do Separador </b>"
+msgid "Type:"
+msgstr "Tipo:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:9
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:910
-msgid "<b> Tabs Position </b>"
-msgstr "<b> Posição dos Separadores </b>"
+msgid "Host:"
+msgstr "Máquina:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:10
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1315
-msgid "<b> Topic Position </b>"
-msgstr "<b> Posição do Tópico </b>"
+msgid "Password:"
+msgstr "Palavra-passe:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:11
-msgid "<b>Advanced</b>"
-msgstr "<b>Avançado</b>"
+msgid "Port:"
+msgstr "Porto:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:12
-msgid "<b>General</b>"
-msgstr "<b>Geral</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:170
+msgid "Show Password"
+msgstr "Mostrar a palavra-passe"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:13
-msgid "<b>Global Commands</b>"
-msgstr "<b>Comandos Globais</b>"
+msgid "<b>Network Proxy</b>"
+msgstr "<b>Proxy de Rede</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:14
-msgid "<b>Message Buffer</b>"
-msgstr "<b>Buffers de Mensagem</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:381
+msgid "On Connect Commands:"
+msgstr "Comandos Ao Ligar:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:15
-msgid "<b>Messaging Menu</b>"
-msgstr "<b>Menu de Mensagens</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:427
+msgid "On Startup Commands:"
+msgstr "Comandos Ao Arrancar:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:16
-msgid "<b>Network Proxy</b>"
-msgstr "<b>Proxy de Rede</b>"
+msgid "<b>Global Commands</b>"
+msgstr "<b>Comandos Globais</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:17
-msgid "<b>Notification Popups</b>"
-msgstr "<b>Popups de Notificação</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:471
+msgid "C_onnection"
+msgstr "Ligaçã_o"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:18
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:961
-msgid "Activity"
-msgstr "Actividade"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:526
+msgid "Timestamp Format:"
+msgstr "Formato de Datas:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:19
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:209
-msgid "Automatically connect to server at startup"
-msgstr "Ligar automaticamente ao servidor no inicio"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:20
-msgid "Background"
-msgstr "Fundo"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:21
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1160
-msgid "Bash-Style Completion"
-msgstr "Completar ao Estilo Bash"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:22
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1490
-msgid "Beep on highlight"
-msgstr "Apitar no destaque"
-
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:23
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:780
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:802
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1261
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1286
-msgid "Bottom"
-msgstr "Fundo"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:24
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:546
 msgid "Buffer Lines:"
 msgstr "Linhas do Buffer:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:25
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:471
-msgid "C_onnection"
-msgstr "Ligaçã_o"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:26
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1112
-msgid "Command Character:"
-msgstr "Caractere de Comandos:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:27
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1135
-msgid "Command History Size:"
-msgstr "Tamanho do Histórico de Comandos:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:28
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1092
-msgid "Completion Character:"
-msgstr "Caractere de Acabamento:"
+#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:569
+msgid "Engine Buffer Lines:"
+msgstr "Linhas do Buffer do Motor:"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:29
-msgid "Enable"
-msgstr "Activar"
+#: ../glade/smuxi-frontend-gnome.glade.h:21
+msgid ""
+"ss = seconds\n"
+"mm = minutes\n"
+"hh = hours (01 - 12)\n"
+"HH = hours (00 - 23)\n"
+"tt = AM/PM\n"
+"\n"
+"dd = day\n"
+"MM = month\n"
+"yy/yyyy = year"
+msgstr ""
+"ss = segundos\n"
+"mm = minutos\n"
+"hh = horas (01 - 12)\n"
+"HH = horas (00 - 23)\n"
+"tt = AM/PM\n"
+"\n"
+"dd = dia\n"
+"MM = mês\n"
+"yy/yyyy = ano"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:30
-msgid "Enabled"
-msgstr "Activo"
+msgid "Persistency Type:"
+msgstr "Tipo de Persistência:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:31
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:359
-msgid "Encoding:"
-msgstr "Codificação:"
+msgid "Volatile Buffer Lines:"
+msgstr "Linhas Voláteis do Buffer:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:32
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:569
-msgid "Engine Buffer Lines:"
-msgstr "Linhas do Buffer do Motor:"
+msgid "Persistent Buffer Lines:"
+msgstr "Linhas Persistentes do Buffer:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:33
-msgid "Foreground"
-msgstr "Primeiro plano"
+msgid "<b>Message Buffer</b>"
+msgstr "<b>Buffers de Mensagem</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:34
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:725
-msgid "General"
-msgstr "Geral"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:628
+msgid "Strip Colors"
+msgstr "Remover Cores"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:35
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:981
-msgid "Highlight"
-msgstr "Destacar"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:667
+msgid "Strip Formattings"
+msgstr "Remover Formatações"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:36
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1466
-msgid "Highlight words:"
-msgstr "Destacar palavras:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:707
+msgid "Strip UTF-8"
+msgstr "Remover UTF-8"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:37
-msgid "Host:"
-msgstr "Máquina:"
+msgid "Show Advanced Settings"
+msgstr "Mostrar Definições Avançadas"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:38
-msgid "Hostname:"
-msgstr "Nome da máquina:"
+msgid "<b>Advanced</b>"
+msgstr "<b>Avançado</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:39
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
-msgid "Input"
-msgstr "Entrada"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:725
+msgid "General"
+msgstr "Geral"
 
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox11.Gtk.Box+BoxChild
 #: ../glade/smuxi-frontend-gnome.glade.h:40
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:971
-msgid "Join/Part/Mode"
-msgstr "Juntar/Parte/Modo"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:743
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:767
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1220
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1246
+msgid "Top"
+msgstr "Topo"
 
 #. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox12.Gtk.Box+BoxChild
+#. Container child vbox11.Gtk.Box+BoxChild
 #: ../glade/smuxi-frontend-gnome.glade.h:41
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:780
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:802
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1261
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1286
+msgid "Bottom"
+msgstr "Fundo"
+
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox12.Gtk.Box+BoxChild
+#: ../glade/smuxi-frontend-gnome.glade.h:42
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:816
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:841
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
@@ -217,259 +212,274 @@ msgstr "Juntar/Parte/Modo"
 msgid "Left"
 msgstr "Esquerda"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:42
-msgid "Log Filtered Messages"
-msgstr "Registar Mensagens Filtradas"
-
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox12.Gtk.Box+BoxChild
 #: ../glade/smuxi-frontend-gnome.glade.h:43
-msgid "Network:"
-msgstr "Rede:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:44
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1202
-msgid "Nick Colors"
-msgstr "Cores da Alcunha"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:45
-msgid "Nickname(s):"
-msgstr "Alcunha(s):"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:46
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:953
-msgid "No Activity"
-msgstr "Nenhuma Actividade"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:856
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:881
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1376
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1401
+msgid "Right"
+msgstr "Direita"
 
 #. Container child vbox6.Gtk.Box+BoxChild
 #. Container child vbox11.Gtk.Box+BoxChild
 #. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:47
+#: ../glade/smuxi-frontend-gnome.glade.h:44
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:896
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1301
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1416
 msgid "None"
 msgstr "Nenhum"
 
+#: ../glade/smuxi-frontend-gnome.glade.h:45
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:910
+msgid "<b> Tabs Position </b>"
+msgstr "<b> Posição dos Separadores </b>"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:46
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:981
+msgid "Highlight"
+msgstr "Destacar"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:47
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:961
+msgid "Activity"
+msgstr "Actividade"
+
 #: ../glade/smuxi-frontend-gnome.glade.h:48
-msgid "Notification"
-msgstr "Notificação"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:953
+msgid "No Activity"
+msgstr "Nenhuma Actividade"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:49
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:381
-msgid "On Connect Commands:"
-msgstr "Comandos Ao Ligar:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:971
+msgid "Join/Part/Mode"
+msgstr "Juntar/Parte/Modo"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:427
-msgid "On Startup Commands:"
-msgstr "Comandos Ao Arrancar:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1009
+msgid "<b> Tab Colors </b>"
+msgstr "<b> Cores do Separador </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:51
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1514
-msgid "Output"
-msgstr "Saída"
+msgid "Automatically switch to newly opened person chats"
+msgstr "Mudar automaticamente para conversas pessoais recém iniciadas"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:52
-msgid "Override"
-msgstr "Sobrepor"
+msgid "Automatically switch to newly opened group chats"
+msgstr "Mudar automaticament para conversas de grupo recém iniciadas"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:53
-msgid "Password:"
-msgstr "Palavra-passe:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1022
+msgid "Tabs"
+msgstr "Separadores"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:54
-msgid "Persistency Type:"
-msgstr "Tipo de Persistência:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1092
+msgid "Completion Character:"
+msgstr "Caractere de Acabamento:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:55
-msgid "Persistent Buffer Lines:"
-msgstr "Linhas Persistentes do Buffer:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1112
+msgid "Command Character:"
+msgstr "Caractere de Comandos:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:56
-msgid "Port:"
-msgstr "Porto:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1135
+msgid "Command History Size:"
+msgstr "Tamanho do Histórico de Comandos:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:57
-msgid "Protocol:"
-msgstr "Protocolo:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1160
+msgid "Bash-Style Completion"
+msgstr "Completar ao Estilo Bash"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:58
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:338
-msgid "Realname:"
-msgstr "Nome Real:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1172
+msgid "<b> Entry Field </b>"
+msgstr "<b> Campo de Entrada </b>"
 
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox12.Gtk.Box+BoxChild
 #: ../glade/smuxi-frontend-gnome.glade.h:59
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:856
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:881
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1376
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1401
-msgid "Right"
-msgstr "Direita"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
+msgid "Input"
+msgstr "Entrada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:60
-msgid "Show Advanced Settings"
-msgstr "Mostrar Definições Avançadas"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1202
+msgid "Nick Colors"
+msgstr "Cores da Alcunha"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:61
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:170
-msgid "Show Password"
-msgstr "Mostrar a palavra-passe"
+msgid "<b> Person List Position </b>"
+msgstr "<b> Posição da Lista de Pessoas </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:62
-msgid "Show Smuxi in the messaging menu"
-msgstr "Mostrar Smuxi no menu de mensagens"
+msgid "Override"
+msgstr "Sobrepor"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:63
-msgid "Show always"
-msgstr "Mostrar sempre"
+msgid "<b> Font </b>"
+msgstr "<b> Tipo de Letra </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:64
-msgid "Show notification popups"
-msgstr "Mostrar popups de notificação"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1315
+msgid "<b> Topic Position </b>"
+msgstr "<b> Posição do Tópico </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:65
-msgid "Show when window is closed"
-msgstr "Mostrar quando a janela é fechada"
+msgid "Foreground"
+msgstr "Primeiro plano"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:66
-msgid "Show when window is minimized"
-msgstr "Mostrar quando a janela é minimizada"
+msgid "Background"
+msgstr "Fundo"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:67
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:16
-msgid "Smuxi - Server"
-msgstr "Smuxi - Servidor"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:68
-msgid "Smuxi Preferences"
-msgstr "Preferências de Smuxi"
+msgid "<b> Color </b>"
+msgstr "<b> Cor </b>"
 
+#. This is a setting for character based line wrapping vs word based when showing messages
 #: ../glade/smuxi-frontend-gnome.glade.h:69
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:628
-msgid "Strip Colors"
-msgstr "Remover Cores"
+msgid "_Wrap Mode:"
+msgstr "Modo de _Wrap:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:70
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:667
-msgid "Strip Formattings"
-msgstr "Remover Formatações"
+msgid "<b> Chat </b>"
+msgstr "<b> Conversar </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:71
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:707
-msgid "Strip UTF-8"
-msgstr "Remover UTF-8"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1466
+msgid "Highlight words:"
+msgstr "Destacar palavras:"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:72
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1022
-msgid "Tabs"
-msgstr "Separadores"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1490
+msgid "Beep on highlight"
+msgstr "Apitar no destaque"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:73
-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 ""
-"A alcunha a usar. Você pode especificar alcunhas extra (separadas por "
-"espaços) que serão usadas quando a primeira escolha não estiver disponível. "
-"Estão predefinidos como extras $alcunha_ e $alcunha__."
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1502
+msgid "<b> Highlighting </b>"
+msgstr "<b> Destaque </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:74
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:526
-msgid "Timestamp Format:"
-msgstr "Formato de Datas:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1514
+msgid "Output"
+msgstr "Saída"
 
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox11.Gtk.Box+BoxChild
 #: ../glade/smuxi-frontend-gnome.glade.h:75
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:743
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:767
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1220
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1246
-msgid "Top"
-msgstr "Topo"
+msgid "Enable"
+msgstr "Activar"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:76
-msgid "Type:"
-msgstr "Tipo:"
+msgid "Show always"
+msgstr "Mostrar sempre"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:77
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:315
-msgid "Username:"
-msgstr "Nome de utilizador:"
+msgid "Show when window is minimized"
+msgstr "Mostrar quando a janela é minimizada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:78
-msgid "Volatile Buffer Lines:"
-msgstr "Linhas Voláteis do Buffer:"
+msgid "Show when window is closed"
+msgstr "Mostrar quando a janela é fechada"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:79
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1681
-msgid "_Filters"
-msgstr "_Filtros"
+msgid "<b> Notification Area Icon </b>"
+msgstr "<b> Ícone da Área de Notificação </b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:80
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1523
-msgid "_Interface"
-msgstr "_Interface"
+msgid "Show Smuxi in the messaging menu"
+msgstr "Mostrar Smuxi no menu de mensagens"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:81
-msgid "_Logging"
-msgstr "Registo em _Log"
+msgid "<b>Messaging Menu</b>"
+msgstr "<b>Menu de Mensagens</b>"
 
 #: ../glade/smuxi-frontend-gnome.glade.h:82
+msgid "Show notification popups"
+msgstr "Mostrar popups de notificação"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:83
+msgid "<b>Notification Popups</b>"
+msgstr "<b>Popups de Notificação</b>"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:84
+msgid "Notification"
+msgstr "Notificação"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:85
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1523
+msgid "_Interface"
+msgstr "_Interface"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:86
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1589
 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:84
-msgid "_Wrap Mode:"
-msgstr "Modo de _Wrap:"
+#: ../glade/smuxi-frontend-gnome.glade.h:87
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1681
+msgid "_Filters"
+msgstr "_Filtros"
 
-#: ../glade/smuxi-frontend-gnome.glade.h:85
-msgid ""
-"ss = seconds\n"
-"mm = minutes\n"
-"hh = hours (01 - 12)\n"
-"HH = hours (00 - 23)\n"
-"tt = AM/PM\n"
-"\n"
-"dd = day\n"
-"MM = month\n"
-"yy/yyyy = year"
-msgstr ""
-"ss = segundos\n"
-"mm = minutos\n"
-"hh = horas (01 - 12)\n"
-"HH = horas (00 - 23)\n"
-"tt = AM/PM\n"
-"\n"
-"dd = dia\n"
-"MM = mês\n"
-"yy/yyyy = ano"
+#: ../glade/smuxi-frontend-gnome.glade.h:88
+msgid "Enabled"
+msgstr "Activo"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:89
+msgid "Log Filtered Messages"
+msgstr "Registar Mensagens Filtradas"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:90
+msgid "_Logging"
+msgstr "Registo em _Log"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:91
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:16
+msgid "Smuxi - Server"
+msgstr "Smuxi - Servidor"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:92
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:209
+msgid "Automatically connect to server at startup"
+msgstr "Ligar automaticamente ao servidor no inicio"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:93
+msgid "Protocol:"
+msgstr "Protocolo:"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:94
+msgid "Network:"
+msgstr "Rede:"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:95
+msgid "Hostname:"
+msgstr "Nome da máquina:"
 
 #: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:1
-msgid "Chat with other people on IRC"
-msgstr "Conversar com outra pessoa no IRC"
+msgid "Smuxi"
+msgstr "Smuxi"
 
 #: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:2
 msgid "IRC Chat"
 msgstr "Conversação de IRC"
 
 #: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:3
-msgid "Smuxi"
-msgstr "Smuxi"
-
-#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:4
 msgid "Smuxi IRC Client"
 msgstr "Cliente de IRC Smuxi"
 
-#: ../src/Frontend-GNOME/AboutDialog.cs:60
+#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:4
+msgid "Chat with other people on IRC"
+msgstr "Conversar com outra pessoa no IRC"
+
+#: ../src/Frontend-GNOME/AboutDialog.cs:61
 msgid "translator-credits"
-msgstr "Américo Monteiro <a_monteiro at netcabo.pt>\nPedro Ribeiro <p.m42.ribeiro at gmail.com>"
+msgstr ""
+"Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Pedro Ribeiro <p.m42.ribeiro at gmail.com>"
 
-#: ../src/Frontend-GNOME/AboutDialog.cs:65
+#: ../src/Frontend-GNOME/AboutDialog.cs:66
 msgid "Smuxi Website"
 msgstr "Site web do Smuxi"
 
@@ -489,88 +499,92 @@ msgstr "Aqui está informação de depuração, por favor reporte este bug!"
 msgid "_Report Bug"
 msgstr "_Reportar um Bug"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:66
+msgid "Engine not found."
+msgstr "Motor não encontrado."
+
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:81
 msgid "Engine Manager"
 msgstr "Gestor de Motores"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:80
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:100
 msgid "Select which Smuxi engine you want to connect to"
 msgstr "Seleccionar o motor Smuxi ao qual deseja ligar-se"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:86
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:106
 msgid "Engine:"
 msgstr "Motor:"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:97
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:117
 msgid "Use Low Bandwidth Mode"
 msgstr "Usar Modo de Largura de Banda Estreita"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:121
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:181
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:358
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:141
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:201
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:383
 msgid "Local Engine"
 msgstr "Motor Local"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:173
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:193
 msgid "Please select an engine!"
 msgstr "Por favor seleccione um motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:194
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:219
 #, csharp-format
 msgid "Your frontend version ({0}) does not match the engine version ({1})!"
 msgstr "A sua versão de frontend {0} não equivale à versão do motor ({1})!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:221
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:246
 msgid "An error occurred while connecting to the engine!"
 msgstr "Ocorreu um erro ao ligar ao motor!"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:247
 #, csharp-format
 msgid "Engine URL: {0}"
 msgstr "URL do Motor: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:225
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:250
 #, csharp-format
 msgid "Error: {0}"
 msgstr "Erro: {0}"
 
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:295
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:320
 #, csharp-format
 msgid "Are you sure you want to delete the engine \"{0}\"?"
 msgstr "Tem certeza que deseja apagar o motor \"{0}\"?"
 
-#: ../src/Frontend-GNOME/Entry.cs:443
+#: ../src/Frontend-GNOME/Entry.cs:430
 #, csharp-format
 msgid "You are going to paste {0} lines. Do you want to continue?"
 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:547
+#: ../src/Frontend-GNOME/Entry.cs:538
 msgid "Frontend Commands"
 msgstr "Comandos do Frontend"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:252
+#: ../src/Frontend-GNOME/MainWindow.cs:253
 msgid "_File"
 msgstr "_Ficheiro"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:276
+#: ../src/Frontend-GNOME/MainWindow.cs:271
 msgid "_Server"
 msgstr "_Servidor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:280
+#: ../src/Frontend-GNOME/MainWindow.cs:275
 msgid "_Quick Connect"
 msgstr "Ligação _Rápida"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:291
+#: ../src/Frontend-GNOME/MainWindow.cs:286
 msgid "_Manage"
 msgstr "_Gerir"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:298
+#: ../src/Frontend-GNOME/MainWindow.cs:293
 msgid "_Chat"
 msgstr "_Conversação"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:302
+#: ../src/Frontend-GNOME/MainWindow.cs:297
 msgid "Open / Join Chat"
 msgstr "Iniciar / Juntar-se a uma Conversa"
 
@@ -586,62 +600,65 @@ msgstr "_Limpar Toda a Actividade"
 msgid "_Next Chat"
 msgstr "_Próxima Conversa"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:335
+#: ../src/Frontend-GNOME/MainWindow.cs:332
 msgid "_Previous Chat"
 msgstr "Conversa An_terior"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:389
+#: ../src/Frontend-GNOME/MainWindow.cs:383
 msgid "Open Log"
-msgstr "Abrir Relatório"
+msgstr "Abrir Registo"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:407
+#: ../src/Frontend-GNOME/MainWindow.cs:398
 msgid "_Engine"
 msgstr "_Motor"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:411
+#: ../src/Frontend-GNOME/MainWindow.cs:402
 msgid "_Use Local Engine"
 msgstr "_Usar Motor Local"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:417
+#: ../src/Frontend-GNOME/MainWindow.cs:408
 msgid "_Add Remote Engine"
 msgstr "_Adicionar Motor Remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:422
+#: ../src/Frontend-GNOME/MainWindow.cs:413
 msgid "_Switch Remote Engine"
 msgstr "_Trocar Motor Remoto"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:429
+#: ../src/Frontend-GNOME/MainWindow.cs:420
 msgid "_View"
 msgstr "_Ver"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:433
+#: ../src/Frontend-GNOME/MainWindow.cs:424
 msgid "_Caret Mode"
 msgstr "Modo _Caret"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:445
+#: ../src/Frontend-GNOME/MainWindow.cs:433
 msgid "_Browse Mode"
 msgstr "Modo de _Explorador"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:463
-#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:722
+#: ../src/Frontend-GNOME/MainWindow.cs:448
+#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:734
 msgid "Show _Menubar"
 msgstr "Mostrar Barra de _Menu"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:494
+#: ../src/Frontend-GNOME/MainWindow.cs:453
+msgid "Show _Status Bar"
+msgstr "Mostrar Barra de E_stado"
+
+#: ../src/Frontend-GNOME/MainWindow.cs:463
+msgid "Show _Quick Join"
+msgstr "Mostrar Ligação _Rápida"
+
+#: ../src/Frontend-GNOME/MainWindow.cs:485
 msgid "_Help"
 msgstr "_Ajuda"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:768
+#: ../src/Frontend-GNOME/MainWindow.cs:797
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:225
 msgid "Unable to add server: "
 msgstr "Incapaz de adicionar servidor: "
 
-#: ../src/Frontend-GNOME/MainWindow.cs:828
-#, csharp-format
-msgid "Unknown ChatType: {0}"
-msgstr "Tipo de Conversação Desconhecida: {0}"
-
-#: ../src/Frontend-GNOME/MainWindow.cs:1097
+#: ../src/Frontend-GNOME/MainWindow.cs:1151
 msgid ""
 "Switching to local engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -649,7 +666,7 @@ msgstr ""
 "Mudar para o motor local irá desligá-lo do motor actual!\n"
 "Tem certeza que deseja fazer isto?"
 
-#: ../src/Frontend-GNOME/MainWindow.cs:1139
+#: ../src/Frontend-GNOME/MainWindow.cs:1193
 msgid ""
 "Switching the remote engine will disconnect you from the current engine!\n"
 "Are you sure you want to do this?"
@@ -708,11 +725,11 @@ msgstr "Filtros"
 msgid "Logging"
 msgstr "Registar em log"
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:642
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:655
 msgid "Nicknames(s) field must not be empty."
 msgstr "O campo da(s) alcunha(s) não pode estar vazio."
 
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:823
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:846
 #, csharp-format
 msgid "Invalid highlight regex: '{0}'. Reason: {1}"
 msgstr "Destaque regex inválido: '{0}'. Razão: {1}"
@@ -741,21 +758,21 @@ msgstr ""
 msgid "Error while fetching the list of group chats from the server."
 msgstr "Erro ao obter a lista de grupos de conversação a partir do servidor."
 
-#: ../src/Frontend-GNOME/Frontend.cs:325
+#: ../src/Frontend-GNOME/Frontend.cs:356
 msgid "Disconnected from engine."
 msgstr "Desligado do motor."
 
-#: ../src/Frontend-GNOME/Frontend.cs:368
+#: ../src/Frontend-GNOME/Frontend.cs:398
 #, csharp-format
 msgid "Reconnecting to engine... (attempt {0})"
 msgstr "A ligar novamente ao motor... (tentativa {0})"
 
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:496
 #, csharp-format
 msgid "Cause: {0}"
 msgstr "Causa: {0}"
 
-#: ../src/Frontend-GNOME/Frontend.cs:583
+#: ../src/Frontend-GNOME/Frontend.cs:622
 msgid ""
 "The frontend has lost the connection to the server.\n"
 "Do you want to reconnect now?"
@@ -763,7 +780,7 @@ msgstr ""
 "O frontend perdeu a ligação ao servidor.\n"
 "Deseja ligar novamente agora?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:602
+#: ../src/Frontend-GNOME/Frontend.cs:641
 msgid ""
 "Reconnecting to the server has failed.\n"
 "Do you want to try again?"
@@ -771,7 +788,7 @@ msgstr ""
 "A re-ligação ao servidor falhou.\n"
 "Deseja tentar de novo?"
 
-#: ../src/Frontend-GNOME/Frontend.cs:705
+#: ../src/Frontend-GNOME/Frontend.cs:860
 msgid ""
 "The server has lost the connection to the frontend.\n"
 "Do you want to reconnect now?"
@@ -783,18 +800,18 @@ msgstr ""
 msgid "Show"
 msgstr "Mostrar"
 
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:56
 #: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:63
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:57
 #: ../src/Frontend-GNOME/Preferences/ServerListView.cs:71
 msgid "Hostname"
 msgstr "Nome da máquina"
 
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:160
 msgid "Unable to load server: "
 msgstr "Incapaz de carregar servidor: "
 
@@ -835,15 +852,14 @@ msgstr "Obrigado"
 #: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:304
 msgid ""
 "An engine with this name already exists! Please specify a different one."
-msgstr ""
-"Já existe um motor com este nome! Por favor especifique um diferente."
+msgstr "Já existe um motor com este nome! Por favor especifique um diferente."
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:204
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:261
 #, csharp-format
 msgid "Day changed from {0} to {1}"
 msgstr "Dia alterado de {0} para {1}"
 
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:210
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:267
 #, csharp-format
 msgid "Day changed to {0}"
 msgstr "Dia alterado para {0}"
@@ -882,30 +898,30 @@ msgstr "Tipo"
 msgid "Pattern"
 msgstr "Padrão"
 
-#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:506
+#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:508
 msgid "Low Bandwidth Mode is active: no messages synced."
-msgstr "Modo de Largura de Banda Estreita activo: mensagens não sincronizadas"
+msgstr "Modo de Largura de Banda Estreita activo: mensagens não sincronizadas."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:245
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:260
 #, csharp-format
 msgid "Retrieving user list for {0}..."
 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:279
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:294
 msgid "done."
 msgstr "feito."
 
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:290
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:305
 msgid "Person"
 msgstr "Pessoa"
 
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:69
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:139
 msgid ""
 "Closing the protocol chat will also close all open chats connected to it!\n"
 "Are you sure you want to do this?"
 msgstr ""
-"Fechar o protocolo de conversa irá também fechar todas as conversações "
+"Fechar a conversa de protocolo irá também fechar todas as conversações "
 "abertas ligadas a ele!\n"
 "Tem certeza que deseja fazer isto?"
 
@@ -951,6 +967,10 @@ msgstr "Smuxi - Procurar Grupo de Conversação"
 msgid "_Name:"
 msgstr "_Nome:"
 
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.JoinWidget.cs:54
+msgid "Join Chat"
+msgstr "Juntar-se a uma Conversa"
+
 #: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:19
 msgid "Smuxi - Quick Connect"
 msgstr "Smuxi - Ligação Rápida"
@@ -1162,3 +1182,5 @@ msgstr "C_omandos Ao Ligar:"
 msgid "_Ignore Commands"
 msgstr "Comandos de Ignorar:"
 
+#~ msgid "Unknown ChatType: {0}"
+#~ msgstr "Tipo de Conversação Desconhecida: {0}"
diff --git a/po-Server/pt.po b/po-Server/pt.po
index 6fc5e35..e08425b 100644
--- a/po-Server/pt.po
+++ b/po-Server/pt.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: smuxi-frontend \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:21+0100\n"
-"PO-Revision-Date: 2012-01-07 17:26+0100\n"
+"POT-Creation-Date: 2012-07-25 06:26+0200\n"
+"PO-Revision-Date: 2012-07-30 09:16+0100\n"
 "Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
 "Language-Team: Portuguese <traduz at debianpt.org>\n"
 "Language: pt\n"
@@ -20,128 +20,222 @@ msgstr ""
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../src/Frontend/CommandManager.cs:143
-#, csharp-format
-msgid "Unknown Command: {0}"
-msgstr "Comando Desconhecido: {0}"
+#: ../src/Server/Main.cs:71
+msgid "Add user to Server"
+msgstr "Acrescentar utilizador ao Servidor"
 
-#: ../src/Frontend/EngineManager.cs:122
-msgid "Engine must not be empty."
-msgstr "O valor de 'Engine' não deve estar vazio"
+#: ../src/Server/Main.cs:80
+msgid "Modify existing user of Server"
+msgstr "Modificar utilizador existente"
 
-#: ../src/Frontend/EngineManager.cs:133
-msgid "Engine does not exist."
-msgstr "Não existe esse 'Engine'."
+#: ../src/Server/Main.cs:89
+msgid "Delete user from Server"
+msgstr "Apagar utilizador do Servidor"
 
-#: ../src/Frontend/EngineManager.cs:318
-#, csharp-format
-msgid "Unknown channel ({0}) - only the following channel types are supported:"
-msgstr ""
-"Canal desconhecido ({0}) - apenas os seguintes tipos de canais são "
-"suportados:"
+#: ../src/Server/Main.cs:98
+msgid "List all existing users of Server"
+msgstr "Listar todos os utilizadores do Servidor"
 
-#: ../src/Frontend/EngineManager.cs:327
-msgid ""
-"Registration with engine failed!  The username and/or password were wrong - "
-"please verify them."
-msgstr ""
-"O registo com o motor falhou! O nome de utilizador e/ou a palavra-passe "
-"estavam errados - por favor verifique-os."
+#: ../src/Server/Main.cs:107
+msgid "User to create, modify or delete"
+msgstr "Utilizador a criar, modificar ou apagar"
+
+#: ../src/Server/Main.cs:116
+msgid "Password of the user when creating or modifying a user"
+msgstr "Palavra-chave do utilizador ao criar ou modificar um utilizador"
 
-#: ../src/Frontend/SshTunnelManager.cs:145
-msgid "SSH client application was not found: "
-msgstr "A aplicação cliente SSH não foi encontrada: "
+#: ../src/Server/Main.cs:125
+msgid "Enable debug output"
+msgstr "Ativar saída de debug"
 
-#: ../src/Frontend/SshTunnelManager.cs:148
+#: ../src/Server/Main.cs:133
 msgid ""
-"SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+"Optimize message buffers and exit (valid values: none, defrag, index, all)"
 msgstr ""
-"O cliente SSH tem de ser ou OpenSSH (ssh) ou Plink (plink.exe, não putty.exe)"
+"Optimizar buffers de mensagens e sair (valores válidos: none, defrag, index, "
+"all) "
 
-#: ../src/Frontend/SshTunnelManager.cs:185
+#: ../src/Server/Main.cs:146
+msgid "Show this help"
+msgstr "Mostrar esta ajuda"
+
+#: ../src/Server/Main.cs:148
+msgid "Usage: smuxi-server [options]"
+msgstr "Utilização: smuxi-server [opções]"
+
+#: ../src/Server/Main.cs:150
+msgid "Options:"
+msgstr "Opções:"
+
+#: ../src/Server/Main.cs:161
 #, csharp-format
-msgid ""
-"The local SSH forwarding port {0} is already in use. Is there an old SSH "
-"tunnel still active?"
-msgstr ""
-"O porto de encaminhamento de SSH local {0} já está em uso. Existe um túnel "
-"SSH antigo ainda activo?"
+msgid "Unknown option: '{0}'"
+msgstr "Opção Desconhecida: '{0}'"
 
-#: ../src/Frontend/SshTunnelManager.cs:209
+#: ../src/Server/Main.cs:188
 #, csharp-format
+msgid "Command line error: {0}"
+msgstr "Erro na linha de comandos: {0}"
+
+#: ../src/Server/Main.cs:232
 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"
+"At most one of --add-user, --modify-user, and --delete-user may be used at a "
+"time."
 msgstr ""
-"Configuração do túnel SSH falhou (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"Parâmetros SSH: {2}\n"
-"\n"
-"Erro do Programa:\n"
-"{3}\n"
-"Saída do Programa:\n"
-"{4}\n"
-
-#: ../src/Frontend/SshTunnelManager.cs:330
-#: ../src/Frontend/SshTunnelManager.cs:476
-msgid "SSH keyfile not found."
-msgstr "Ficheiro de chaves SSH não encontrado."
-
-#: ../src/Frontend/SshTunnelManager.cs:336
-#: ../src/Frontend/SshTunnelManager.cs:482
-msgid "SSH keyfile could not be read."
-msgstr "Ficheiro de chaves SSH não pode ser lido."
-
-#: ../src/Frontend/SshTunnelManager.cs:424
+"Só pode ser usado um de --add-user, --modify-user ou --delete-user de cada "
+"vez."
+
+#: ../src/Server/Main.cs:242
+msgid "You must specify a username with the --username option."
+msgstr "Tem que indicar um nome de utilizador com a opção --username."
+
+#: ../src/Server/Main.cs:248
+msgid "Username must not be empty."
+msgstr "O nome de utilizador não deve estar vazio"
+
+#: ../src/Server/Main.cs:258
+msgid "You must specify a password with the --password option."
+msgstr "Tem que indicar uma palavra-chave com a opção --password."
+
+#: ../src/Server/Main.cs:264
+msgid "Password must not be empty."
+msgstr "A palavra-chave não deve estar vazia"
+
+#: ../src/Server/Main.cs:283
 #, 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"
+"Invalid optimization value passed to --optimize-message-buffer, valid values "
+"are: {0}"
 msgstr ""
-"Número de versão de OpenSSH não encontrado (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"\n"
-"Erro do Programa:\n"
-"{2}\n"
-"Saída do Programa:\n"
-"{3}\n"
-
-#: ../src/Frontend/SshTunnelManager.cs:467
-msgid "PuTTY / Plink requires a username to be set."
-msgstr "PuTTY / Plink requer que seja definido um nome de utilizador."
-
-#: ../src/Frontend/SshTunnelManager.cs:555
+"Valor de optimização inválido passado para --optimize-message-buffer. Os "
+"valores válidos são: {0}"
+
+#: ../src/Server/Main.cs:303
 #, csharp-format
-msgid ""
-"Plink 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 ""
-"Número de versão de Plink não encontrado (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"\n"
-"Erro do Programa:\n"
-"{2}\n"
-"Saída do Programa:\n"
-"{3}\n"
+msgid "User \"{0}\" successfully added to server."
+msgstr "Utilizador \"{0}\" adicionado ao servidor com sucesso."
+
+#: ../src/Server/Main.cs:312
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Utilizador \"{0}\" modificado com sucesso."
+
+#: ../src/Server/Main.cs:321
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Utilizador \"{0}\" removido do servidor com sucesso."
+
+#: ../src/Server/Main.cs:328
+msgid "Users:"
+msgstr "Utilizadores:"
+
+#: ../src/Server/Main.cs:376
+#, csharp-format
+msgid "Successfully optimized {0} message buffers."
+msgstr "{0} buffers de mensagens optimizados com sucesso."
+
+#: ../src/Server/Main.cs:389
+#, csharp-format
+msgid "Failed to optimize message buffers: {0}"
+msgstr "Falhou a optimização dos buffers de mensagens: {0}"
+
+#~ msgid "Engine does not exist."
+#~ msgstr "Não existe esse 'Engine'."
+
+#~ msgid ""
+#~ "Unknown channel ({0}) - only the following channel types are supported:"
+#~ msgstr ""
+#~ "Canal desconhecido ({0}) - apenas os seguintes tipos de canais são "
+#~ "suportados:"
+
+#~ msgid ""
+#~ "Registration with engine failed!  The username and/or password were wrong "
+#~ "- please verify them."
+#~ msgstr ""
+#~ "O registo com o motor falhou! O nome de utilizador e/ou a palavra-passe "
+#~ "estavam errados - por favor verifique-os."
+
+#~ msgid "SSH client application was not found: "
+#~ msgstr "A aplicação cliente SSH não foi encontrada: "
+
+#~ msgid ""
+#~ "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty."
+#~ "exe)"
+#~ msgstr ""
+#~ "O cliente SSH tem de ser ou OpenSSH (ssh) ou Plink (plink.exe, não putty."
+#~ "exe)"
+
+#~ msgid ""
+#~ "The local SSH forwarding port {0} is already in use. Is there an old SSH "
+#~ "tunnel still active?"
+#~ msgstr ""
+#~ "O porto de encaminhamento de SSH local {0} já está em uso. Existe um "
+#~ "túnel SSH antigo ainda activo?"
+
+#~ 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 ""
+#~ "Configuração do túnel SSH falhou (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "Parâmetros SSH: {2}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{3}\n"
+#~ "Saída do Programa:\n"
+#~ "{4}\n"
+
+#~ msgid "SSH keyfile not found."
+#~ msgstr "Ficheiro de chaves SSH não encontrado."
+
+#~ msgid "SSH keyfile could not be read."
+#~ msgstr "Ficheiro de chaves SSH não pode ser lido."
+
+#~ 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 ""
+#~ "Número de versão de OpenSSH não encontrado (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{2}\n"
+#~ "Saída do Programa:\n"
+#~ "{3}\n"
+
+#~ msgid "PuTTY / Plink requires a username to be set."
+#~ msgstr "PuTTY / Plink requer que seja definido um nome de utilizador."
+
+#~ msgid ""
+#~ "Plink 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 ""
+#~ "Número de versão de Plink não encontrado (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{2}\n"
+#~ "Saída do Programa:\n"
+#~ "{3}\n"
diff --git a/src/AssemblyVersion.cs b/src/AssemblyVersion.cs
index 223a661..b6ca745 100644
--- a/src/AssemblyVersion.cs
+++ b/src/AssemblyVersion.cs
@@ -36,5 +36,5 @@ using System.Runtime.CompilerServices;
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 
-[assembly: AssemblyVersion("0.8.10")]
+[assembly: AssemblyVersion("0.8.10.2")]
 
diff --git a/src/Common/Defines.cs b/src/Common/Defines.cs
index 4fdc804..80dbfa0 100644
--- a/src/Common/Defines.cs
+++ b/src/Common/Defines.cs
@@ -26,11 +26,11 @@ namespace Smuxi.Common
 {
     public static class Defines
     {
-        public const string GitBranch   = "master";
-        public const string GitCommitHash = "5df4305";
+        public const string GitBranch   = "stable";
+        public const string GitCommitHash = "eacbbd5";
 
         private static readonly string f_InstallPrefix = "/usr/local";
-        private static readonly string f_DistVersion = "master/5df4305";
+        private static readonly string f_DistVersion = "stable/eacbbd5";
         private static readonly string f_TwitterApiKey = "60QV2qQx9cS7y1BJDbgAA|2VgD6qQKddsF5HYQ0TrRgs3tFTnCwDONBmRlTmG658";
 
         public static string InstallPrefix {
diff --git a/src/Common/Makefile.in b/src/Common/Makefile.in
index 49d3af6..4cd9beb 100644
--- a/src/Common/Makefile.in
+++ b/src/Common/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-IRC/Makefile.in b/src/Engine-IRC/Makefile.in
index 2372f5c..0039fea 100644
--- a/src/Engine-IRC/Makefile.in
+++ b/src/Engine-IRC/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs b/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
index caabb6a..fa66d64 100644
--- a/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
+++ b/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
@@ -27,7 +27,7 @@ namespace Smuxi.Engine
         Bold      = 2,
         Color     = 3,
         Clear     = 15,
-        Italic    = 26,
+        Italic    = 29,
         Underline = 31,
     }
 
diff --git a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
index f480407..d447224 100644
--- a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
+++ b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
@@ -1301,11 +1301,10 @@ namespace Smuxi.Engine
         private IList<string> SplitMessage(string command, string target, string message)
         {
             List<string> messages = new List<string>();
-            int length;
             int line = 0;
             do {
-                length = GetProtocolMessageLength(command, target, message);
-                if (length <= 512) {
+                var lineByteLength = GetProtocolMessageLength(command, target, message);
+                if (lineByteLength <= 512) {
                     if (line > 0) {
                         // remove leading spaces as we are a new line
                         messages.Add(message.TrimStart(new char[] {' '}));
@@ -1316,9 +1315,18 @@ namespace Smuxi.Engine
                 }
                 line++;
 
-                int maxMsgLen = message.Length - (length - 512);
-                string chunk = message.Substring(0, maxMsgLen);
-                string nextChar = message.Substring(maxMsgLen, 1);
+                // UTF8 can have multi-byte chars, thus we need to remove char
+                // by char and see when it fits into an IRC message
+                var chunkBuilder = new StringBuilder(message);
+                var chunkByteLength = lineByteLength;
+                while (chunkByteLength > 512) {
+                    chunkBuilder.Length--;
+                    chunkByteLength = GetProtocolMessageLength(
+                        command, target, chunkBuilder.ToString()
+                    );
+                }
+                var chunk = chunkBuilder.ToString();
+                string nextChar = message.Substring(chunk.Length, 1);
                 if (nextChar != " ") {
                     // we split in the middle of a word, split it better!
                     int lastWordPos = chunk.LastIndexOf(" ");
@@ -2783,7 +2791,7 @@ namespace Smuxi.Engine
             //_Logger.Debug("_OnNames() e.Channel: " + e.Channel);
 #endif
             GroupChatModel groupChat = (GroupChatModel) GetChat(e.Data.Channel, ChatType.Group);
-            if (groupChat != null && groupChat.IsSynced) {
+            if (groupChat == null || groupChat.IsSynced) {
                 // nothing todo for us
                 return;
             }
@@ -2899,7 +2907,7 @@ namespace Smuxi.Engine
                                e.Channel);
 
             if (!String.IsNullOrEmpty(e.PartMessage)) {
-                builder.AppendText("[");
+                builder.AppendText(" [");
                 // colors in part messages are annoying
                 builder.StripColors = true;
                 builder.AppendMessage(e.PartMessage);
diff --git a/src/Engine-MSNP/Makefile.in b/src/Engine-MSNP/Makefile.in
index 1676375..dab0cd4 100644
--- a/src/Engine-MSNP/Makefile.in
+++ b/src/Engine-MSNP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-OSCAR/Makefile.in b/src/Engine-OSCAR/Makefile.in
index d8b9293..dc3d5a3 100644
--- a/src/Engine-OSCAR/Makefile.in
+++ b/src/Engine-OSCAR/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-Twitter/Makefile.in b/src/Engine-Twitter/Makefile.in
index e68fa55..69f1d58 100644
--- a/src/Engine-Twitter/Makefile.in
+++ b/src/Engine-Twitter/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
index 996f80b..fb4184b 100644
--- a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
+++ b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
@@ -951,15 +951,17 @@ namespace Smuxi.Engine
             List<TwitterStatus> sortedTimeline = SortTimeline(timeline);
             foreach (TwitterStatus status in sortedTimeline) {
                 String text;
-                if ((status.IsTruncated != null && !status.IsTruncated.Value) ||
-                    status.RetweetedStatus == null) {
-                    text = status.Text;
-                } else {
+                // LAME: Twitter lies in the truncated field and says it's not
+                // truncated while it is, thus always use retweet_status if
+                // available
+                if (status.RetweetedStatus != null) {
                     text = String.Format(
                         "RT @{0}: {1}",
                         status.RetweetedStatus.User.ScreenName,
                         status.RetweetedStatus.Text
                     );
+                } else {
+                    text = status.Text;
                 }
                 MessageModel msg = CreateMessage(
                     status.CreatedDate,
@@ -1318,7 +1320,8 @@ namespace Smuxi.Engine
             }
 
             var builder = CreateMessageBuilder();
-            builder.TimeStamp = when;
+            // MessageModel serializer expects UTC values
+            builder.TimeStamp = when.ToUniversalTime();
             builder.AppendSenderPrefix(GetPerson(from), highlight);
             builder.AppendMessage(message);
             return builder.ToMessage();
diff --git a/src/Engine-XMPP/Makefile.in b/src/Engine-XMPP/Makefile.in
index e93b1c6..42aa3e2 100644
--- a/src/Engine-XMPP/Makefile.in
+++ b/src/Engine-XMPP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs b/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
index 2840b2f..eea9c97 100644
--- a/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
+++ b/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
@@ -628,11 +628,13 @@ namespace Smuxi.Engine
                     Session.AddChat(groupChat);
                     Session.SyncChat(groupChat);
                 }
-                person = groupChat.GetPerson(msg.From.Resource);
+                // resource can be empty for room messages
+                var sender_id = msg.From.Resource ?? msg.From.Bare;
+                person = groupChat.GetPerson(sender_id);
                 if (person == null) {
                     // happens in case of a delayed message if the participant has left meanwhile
-                    person = new PersonModel(msg.From.Resource,
-                                             msg.From.Resource,
+                    person = new PersonModel(sender_id,
+                                             sender_id,
                                              NetworkID, Protocol, this);
                 }
 
diff --git a/src/Engine/Config/Config.cs b/src/Engine/Config/Config.cs
index 7927b44..7089987 100644
--- a/src/Engine/Config/Config.cs
+++ b/src/Engine/Config/Config.cs
@@ -114,8 +114,10 @@ namespace Smuxi.Engine
         
         protected T Get<T>(string key, T defaultvalue)
         {
+#if CONFIG_DEBUG
             Trace.Call(key, defaultvalue);
-            
+#endif
+
             string inisection = _IniGetSection(key);
             string inikey = _IniGetKey(key);
             IniSection section = m_IniDocument.Sections[inisection];
@@ -146,7 +148,9 @@ namespace Smuxi.Engine
 
         protected object Get(string key, object defaultvalue)
         {
+#if CONFIG_DEBUG
             Trace.Call(key, defaultvalue);
+#endif
 
 #if CONFIG_GCONF
             try {
@@ -201,8 +205,10 @@ namespace Smuxi.Engine
         
         private void _Set(string key, object valueobj)
         {
+#if CONFIG_DEBUG
             Trace.Call(key, valueobj);
-            
+#endif
+
 #if CONFIG_GCONF
             _GConf.Set(_GConfPrefix+key, valueobj);
 #elif CONFIG_NINI
@@ -609,8 +615,10 @@ namespace Smuxi.Engine
         
         public void Remove(string key)
         {
+#if CONFIG_DEBUG
             Trace.Call(key);
-            
+#endif
+
             bool isSection = false;
             if (key.EndsWith("/")) {
                 isSection = true;
@@ -645,8 +653,10 @@ namespace Smuxi.Engine
 
         protected void LoadUserEntry(string user, string key, object defaultvalue)
         {
+#if CONFIG_DEBUG
             Trace.Call(user, key, defaultvalue);
-            
+#endif
+
             string prefix = "Engine/Users/";
             string ukey = prefix+user+"/"+key;
             object obj;
@@ -662,8 +672,10 @@ namespace Smuxi.Engine
         
         protected void LoadEntry(string key, object defaultvalue)
         {
+#if CONFIG_DEBUG
             Trace.Call(key, defaultvalue);
-            
+#endif
+
             object obj;
             if (defaultvalue is string) {
                 obj = Get<string>(key, (string) defaultvalue);
diff --git a/src/Engine/Makefile.in b/src/Engine/Makefile.in
index c12e18b..431da86 100644
--- a/src/Engine/Makefile.in
+++ b/src/Engine/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine/Session.cs b/src/Engine/Session.cs
index e0301b7..1eefb78 100644
--- a/src/Engine/Session.cs
+++ b/src/Engine/Session.cs
@@ -453,15 +453,16 @@ namespace Smuxi.Engine
                 var network = cd.Parameter;
                 var serverSettings = new ServerListController(UserConfig);
                 server = serverSettings.GetServerByNetwork(network);
+                if (server == null) {
+                    // HACK: simply assume the user meant irc if not specified
+                    // as Smuxi is still primarly an IRC client
+                    protocol = "irc";
+                    string cmd = String.Format("{0}connect irc {1}",
+                                               cd.CommandCharacter, cd.Parameter);
+                    cd = new CommandModel(fm, cd.Chat, cd.CommandCharacter, cmd);
+                }
             } else if (cd.DataArray.Length >= 3) {
                 protocol = cd.DataArray[1];
-            } else if (cd.DataArray.Length >= 2) {
-                // HACK: simply assume the user meant irc if not specified as
-                // Smuxi is still primarly an IRC client
-                protocol = "irc";
-                string cmd = String.Format("{0}connect irc {1}",
-                                           cd.CommandCharacter, cd.Parameter);
-                cd = new CommandModel(fm, cd.Chat, cd.CommandCharacter, cmd);
             } else {
                 _NotEnoughParameters(cd);
                 return;
diff --git a/src/Frontend-Curses/Makefile.in b/src/Frontend-Curses/Makefile.in
index 4fc485d..af95a7f 100644
--- a/src/Frontend-Curses/Makefile.in
+++ b/src/Frontend-Curses/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
index 9b38778..2ee4050 100644
--- a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
+++ b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2011, 2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -216,13 +216,14 @@ namespace Smuxi.Frontend.Gnome
             }
 
             foreach (PersonModel person in persons) {
+                var per = person;
                 ThreadPool.QueueUserWorkItem(delegate {
                     try {
                         _IrcProtocolManager.CommandKick(
                             new CommandModel(
                                 Frontend.FrontendManager,
                                 ChatModel,
-                                person.ID
+                                per.ID
                             )
                         );
                     } catch (Exception ex) {
@@ -242,13 +243,14 @@ namespace Smuxi.Frontend.Gnome
             }
 
             foreach (PersonModel person in persons) {
+                var per = person;
                 ThreadPool.QueueUserWorkItem(delegate {
                     try {
                         _IrcProtocolManager.CommandKickban(
                             new CommandModel(
                                 Frontend.FrontendManager,
                                 ChatModel,
-                                person.ID
+                                per.ID
                             )
                         );
                     } catch (Exception ex) {
@@ -325,13 +327,14 @@ namespace Smuxi.Frontend.Gnome
             }
 
             foreach (PersonModel person in persons) {
+                var per = person;
                 ThreadPool.QueueUserWorkItem(delegate {
                     try {
                         _IrcProtocolManager.CommandMessageQuery(
                             new CommandModel(
                                 Frontend.FrontendManager,
                                 ChatModel,
-                                person.ID
+                                per.ID
                             )
                         );
                     } catch (Exception ex) {
@@ -351,13 +354,14 @@ namespace Smuxi.Frontend.Gnome
             }
 
             foreach (PersonModel person in persons) {
+                var per = person;
                 ThreadPool.QueueUserWorkItem(delegate {
                     try {
                         _IrcProtocolManager.CommandWhoIs(
                             new CommandModel(
                                 Frontend.FrontendManager,
                                 ChatModel,
-                                person.ID
+                                per.ID
                             )
                         );
                     } catch (Exception ex) {
diff --git a/src/Frontend-GNOME-IRC/Makefile.in b/src/Frontend-GNOME-IRC/Makefile.in
index 804d71c..1b45aa2 100644
--- a/src/Frontend-GNOME-IRC/Makefile.in
+++ b/src/Frontend-GNOME-IRC/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME-XMPP/Makefile.in b/src/Frontend-GNOME-XMPP/Makefile.in
index 0373bc2..a0bab93 100644
--- a/src/Frontend-GNOME-XMPP/Makefile.in
+++ b/src/Frontend-GNOME-XMPP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME/ChatViewManager.cs b/src/Frontend-GNOME/ChatViewManager.cs
index e681bde..ede6de4 100644
--- a/src/Frontend-GNOME/ChatViewManager.cs
+++ b/src/Frontend-GNOME/ChatViewManager.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -215,9 +215,14 @@ namespace Smuxi.Frontend.Gnome
         {
             Trace.Call();
 
+            var chats = new List<ChatView>(f_Chats);
+            foreach (var chat in chats) {
+                // clean up ChatView and all notify related resources like
+                // StatusIconManager, NotifyManager and IndicateManager
+                RemoveChat(chat.ChatModel);
+            }
+
             f_Config = null;
-            f_Chats.Clear();
-            f_Notebook.RemoveAllPages();
             SyncedChats.Clear();
             SyncManager.Clear();
         }
diff --git a/src/Frontend-GNOME/Entry.cs b/src/Frontend-GNOME/Entry.cs
index 8dc293a..b3537e5 100644
--- a/src/Frontend-GNOME/Entry.cs
+++ b/src/Frontend-GNOME/Entry.cs
@@ -243,6 +243,14 @@ namespace Smuxi.Frontend.Gnome
         
         protected virtual void ProcessKey(Gtk.KeyPressEventArgs e)
         {
+            if (Environment.OSVersion.Platform == PlatformID.Win32NT &&
+                Text.Length == 0) {
+                // HACK: workaround rendering issue on Windows where the text
+                // cursor and first typed character are not showing up until
+                // a 2nd character is typed, see #810
+                QueueDraw();
+            }
+
             int keynumber = (int)e.Event.KeyValue;
             Gdk.Key key = e.Event.Key;
             if ((e.Event.State & Gdk.ModifierType.ControlMask) != 0) {
@@ -883,12 +891,12 @@ namespace Smuxi.Frontend.Gnome
         }
 
 #if GTKSPELL
-        [DllImport("gtkspell.dll")]
+        [DllImport("gtkspell.dll", CallingConvention = CallingConvention.Cdecl)]
         static extern IntPtr gtkspell_new_attach(IntPtr text_view,
                                                  string locale,
                                                  IntPtr error);
 
-        [DllImport("gtkspell.dll")]
+        [DllImport("gtkspell.dll", CallingConvention = CallingConvention.Cdecl)]
         static extern void gtkspell_detach(IntPtr obj);
 #endif
     }
diff --git a/src/Frontend-GNOME/Frontend.cs b/src/Frontend-GNOME/Frontend.cs
index 3ecd8eb..6cd2431 100644
--- a/src/Frontend-GNOME/Frontend.cs
+++ b/src/Frontend-GNOME/Frontend.cs
@@ -62,6 +62,8 @@ namespace Smuxi.Frontend.Gnome
         public static string IconName { get; private set; }
         public static bool HasSystemIconTheme { get; private set; }
         public static bool HadSession { get; private set; }
+        public static bool IsGtkInitialized { get; private set; }
+        public static bool InGtkApplicationRun { get; private set; }
 
         public static event EventHandler  SessionPropertyChanged;
 
@@ -232,8 +234,10 @@ namespace Smuxi.Frontend.Gnome
             if (_SplashScreenWindow != null) {
                 _SplashScreenWindow.Destroy();
             }
-            
+
+            InGtkApplicationRun = true;
             Gtk.Application.Run();
+            InGtkApplicationRun = false;
 #if LOG4NET
             _Logger.Warn("Gtk.Application.Run() returned!");
 #endif
@@ -759,11 +763,18 @@ namespace Smuxi.Frontend.Gnome
                 var host = protocolChat.Host;
                 var port = protocolChat.Port;
                 var network = protocolChat.NetworkID;
-                // check first by network name with fallback to host+port
-                if ((!String.IsNullOrEmpty(network) &&
-                     String.Compare(network, linkNetwork, true) == 0) ||
-                    (String.Compare(host, linkHost, true) == 0 &&
-                     port == linkPort)) {
+                // Check first by network name with fallback to host+port.
+                // The network name has to be checked against the NetworkID and
+                // also ChatModel.ID as the user might have entered a different
+                // network name in settings than the server does
+                if (!String.IsNullOrEmpty(network) &&
+                    (String.Compare(network, linkNetwork, true) == 0 ||
+                     String.Compare(chatView.ID, linkNetwork, true) == 0)) {
+                    manager = protocolChat.ProtocolManager;
+                    break;
+                }
+                if (String.Compare(host, linkHost, true) == 0 &&
+                    port == linkPort) {
                     manager = protocolChat.ProtocolManager;
                     break;
                 }
@@ -898,6 +909,7 @@ namespace Smuxi.Frontend.Gnome
             _Logger.Debug("InitGtk(): Using locale data from: " + localeDir);
 #endif
             Gtk.Application.Init(Name, ref args);
+            IsGtkInitialized = true;
 #if GTK_SHARP_2_10
             GLib.ExceptionManager.UnhandledException += _OnUnhandledException;
 #endif
@@ -928,15 +940,23 @@ namespace Smuxi.Frontend.Gnome
         {
             // HACK: Force GTK# to use the right GTK+ install as the PATH
             // environment variable might contain other GTK+ installs
+            // GTK# 2.12.20
             var installPath = (string) Microsoft.Win32.Registry.GetValue(
-                "HKEY_LOCAL_MACHINE\\SOFTWARE\\Novell\\GtkSharp\\InstallFolder",
+                "HKEY_LOCAL_MACHINE\\SOFTWARE\\Xamarin\\GtkSharp\\InstallFolder",
                 "", null
             );
             if (installPath == null) {
+                // GTK# 2.12.10
+                installPath = (string) Microsoft.Win32.Registry.GetValue(
+                    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Novell\\GtkSharp\\InstallFolder",
+                    "", null
+                );
+            }
+            if (installPath == null) {
 #if LOG4NET
                 _Logger.Error("InitGtkPathWin(): couldn't obtain GTK# installation folder from registry. GTK# is probably incorrectly installed!");
-                return;
 #endif
+                return;
             }
 
             var binPath = Path.Combine(installPath, "bin");
diff --git a/src/Frontend-GNOME/IndicateManager.cs b/src/Frontend-GNOME/IndicateManager.cs
index 56b6237..18c016d 100644
--- a/src/Frontend-GNOME/IndicateManager.cs
+++ b/src/Frontend-GNOME/IndicateManager.cs
@@ -1,6 +1,6 @@
 // Smuxi - Smart MUltipleXed Irc
 // 
-// Copyright (c) 2010-2011 Mirco Bauer <meebey at meebey.net>
+// Copyright (c) 2010-2013 Mirco Bauer <meebey at meebey.net>
 // 
 // Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
 // 
@@ -147,8 +147,6 @@ namespace Smuxi.Frontend.Gnome
 
                 Server.Show();
                 IsEnabled = true;
-                // hide the main window instead of closing it
-                MainWindow.NotificationAreaIconMode = NotificationAreaIconMode.Closed;
             } else {
                 // non-persistent in menu using the blacklist as per
                 // specification:
@@ -169,9 +167,9 @@ namespace Smuxi.Frontend.Gnome
     #if LOG4NET
                 Logger.Info("Init(): no DBus provider for messaging menu found, " +
                             "disabling...");
+    #endif
                 return;
             }
-    #endif
 #endif
 
             Server = Server.RefDefault();
@@ -281,6 +279,7 @@ namespace Smuxi.Frontend.Gnome
             }
 
             e.ChatView.OutputMessageTextView.MessageHighlighted -= handler;
+            HighlightEventHandlers.Remove(e.ChatView);
 
             // close possibly active indicator
             DisposeIndicator(e.ChatView);
diff --git a/src/Frontend-GNOME/Main.cs b/src/Frontend-GNOME/Main.cs
index c608517..7e079cb 100644
--- a/src/Frontend-GNOME/Main.cs
+++ b/src/Frontend-GNOME/Main.cs
@@ -78,7 +78,10 @@ namespace Smuxi.Frontend.Gnome
                 _Logger.Fatal(e);
 #endif
                 // when Gtk# receives an exception it is not usable/relyable anymore! 
-                //new CrashDialog(e);
+                // except the exception was thrown in Frontend.Init() itself
+                if (Frontend.IsGtkInitialized && !Frontend.InGtkApplicationRun) {
+                    Frontend.ShowException(e);
+                }
                 
                 // rethrow the exception for console output
                 throw;
diff --git a/src/Frontend-GNOME/MainWindow.cs b/src/Frontend-GNOME/MainWindow.cs
index 0aab58f..8ba1bcc 100644
--- a/src/Frontend-GNOME/MainWindow.cs
+++ b/src/Frontend-GNOME/MainWindow.cs
@@ -557,7 +557,7 @@ namespace Smuxi.Frontend.Gnome
             _ProgressBar.BarStyle = Gtk.ProgressBarStyle.Continuous;
 
             MenuHBox = new Gtk.HBox();
-            MenuHBox.PackStart(MenuBar, false, false, 0);
+            MenuHBox.PackStart(MenuBar, true, true, 0);
             MenuHBox.PackEnd(JoinWidget, false, false, 0);
 
             Gtk.VBox vbox = new Gtk.VBox();
@@ -1231,6 +1231,12 @@ namespace Smuxi.Frontend.Gnome
             Trace.Call(sender, e);
 
             e.ChatView.MessageHighlighted += OnChatViewMessageHighlighted;
+            e.ChatView.OutputMessageTextView.FocusInEvent += delegate {
+                if (CaretMode) {
+                    return;
+                }
+                Entry.GrabFocus();
+            };
             UpdateProgressBar();
         }
         
diff --git a/src/Frontend-GNOME/Makefile.am b/src/Frontend-GNOME/Makefile.am
index 2998fa2..f2df75a 100644
--- a/src/Frontend-GNOME/Makefile.am
+++ b/src/Frontend-GNOME/Makefile.am
@@ -4,6 +4,8 @@ EXTRA_DIST = $(WIN_ICON) $(DESKTOP_FILE).in
 ICON_NAME = smuxi-frontend-gnome
 ICON_NAME_PNG = $(ICON_NAME).png
 ICON_SVG = $(ICON_NAME).svg
+GROUP_CHAT_ICON_NAME = smuxi-group-chat
+PERSON_CHAT_ICON_NAME = smuxi-person-chat
 ICON_16 = $(top_builddir)/images/16/$(ICON_NAME_PNG)
 ICON_22 = $(top_builddir)/images/22/$(ICON_NAME_PNG)
 ICON_24 = $(top_builddir)/images/24/$(ICON_NAME_PNG)
@@ -31,7 +33,10 @@ icon48_DATA = $(ICON_48)
 icon128dir = $(THEME_DIR)/128x128/apps
 icon128_DATA = $(ICON_128)
 icon256dir = $(THEME_DIR)/256x256/apps
-icon256_DATA = $(ICON_256)
+icon256_DATA = \
+	$(ICON_256) \
+	$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+	$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
 
 gtk_update_icon_cache = gtk-update-icon-cache -f -t $(THEME_DIR)
 
@@ -100,6 +105,10 @@ $(ICON_128):
 	$(INSTALL) -D -m644 $(top_srcdir)/images/icon_128x128.png $@
 $(ICON_256):
 	$(INSTALL) -D -m644 $(top_srcdir)/images/icon_256x256.png $@
+$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png:
+	$(INSTALL) -D -m644 $(top_srcdir)/images/group-chat_256x256.png $@
+$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png:
+	$(INSTALL) -D -m644 $(top_srcdir)/images/person-chat_256x256.png $@
 
 FILES = \
 	$(top_srcdir)/src/AssemblyVersion.cs \
@@ -203,7 +212,9 @@ REFERENCES =  \
 
 DLL_REFERENCES = 
 
-CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES)
+CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES) \
+	$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+	$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
 
 include $(top_srcdir)/Makefile.include
 
diff --git a/src/Frontend-GNOME/Makefile.in b/src/Frontend-GNOME/Makefile.in
index 25448b4..8f4ad24 100644
--- a/src/Frontend-GNOME/Makefile.in
+++ b/src/Frontend-GNOME/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -337,6 +337,8 @@ EXTRA_DIST = $(WIN_ICON) $(DESKTOP_FILE).in $(build_sources) \
 ICON_NAME = smuxi-frontend-gnome
 ICON_NAME_PNG = $(ICON_NAME).png
 ICON_SVG = $(ICON_NAME).svg
+GROUP_CHAT_ICON_NAME = smuxi-group-chat
+PERSON_CHAT_ICON_NAME = smuxi-person-chat
 ICON_16 = $(top_builddir)/images/16/$(ICON_NAME_PNG)
 ICON_22 = $(top_builddir)/images/22/$(ICON_NAME_PNG)
 ICON_24 = $(top_builddir)/images/24/$(ICON_NAME_PNG)
@@ -362,7 +364,11 @@ icon48_DATA = $(ICON_48)
 icon128dir = $(THEME_DIR)/128x128/apps
 icon128_DATA = $(ICON_128)
 icon256dir = $(THEME_DIR)/256x256/apps
-icon256_DATA = $(ICON_256)
+icon256_DATA = \
+	$(ICON_256) \
+	$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+	$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
+
 gtk_update_icon_cache = gtk-update-icon-cache -f -t $(THEME_DIR)
 desktopdir = $(datadir)/applications
 desktop_in_files = $(DESKTOP_FILE).in
@@ -508,6 +514,8 @@ REFERENCES = \
 
 DLL_REFERENCES = 
 CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES) \
+	$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+	$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png \
 	$(ASSEMBLY) $(ASSEMBLY).mdb $(BINARIES) \
 	$(build_resx_resources) $(build_satellite_assembly_list)
 VALID_CULTURES = ar bg ca zh-CHS cs da de el en es fi fr he hu is it ja ko nl no pl pt ro ru hr sk sq sv th tr id uk be sl et lv lt fa vi hy eu mk af fo hi sw gu ta te kn mr gl kok ar-SA bg-BG ca-ES zh-TW cs-CZ da-DK de-DE el-GR en-US fi-FI fr-FR he-IL hu-HU is-IS it-IT ja-JP ko-KR nl-NL nb-NO pl-PL pt-BR ro-RO ru-RU hr-HR sk-SK sq-AL sv-SE th-TH tr-TR id-ID uk-UA be-BY sl-SI et-EE lv-LV lt-LT fa-IR vi-VN hy-AM eu-ES mk-MK af-ZA fo-FO hi-IN sw-KE gu-IN ta-IN te-IN kn-IN mr-IN gl-ES kok-IN ar-IQ zh-CN de-CH en-GB es-MX fr-BE it-CH nl-BE nn-NO pt-PT sv-FI ar-EG zh-HK de-AT en-AU es-ES fr-CA ar-LY zh-SG de-LU en-CA es-GT fr-CH ar-DZ zh-MO en-NZ es-CR fr-LU ar-MA en-IE es-PA ar-TN en-ZA es-DO ar-OM es-VE ar-YE es-CO ar-SY es-PE ar-JO es-AR ar-LB en-ZW es-EC ar-KW en-PH es-CL ar-AE es-UY ar-BH es-PY ar-QA es-BO es-SV es-HN es-NI es-PR zh-CHT
@@ -1152,6 +1160,10 @@ $(ICON_128):
 	$(INSTALL) -D -m644 $(top_srcdir)/images/icon_128x128.png $@
 $(ICON_256):
 	$(INSTALL) -D -m644 $(top_srcdir)/images/icon_256x256.png $@
+$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png:
+	$(INSTALL) -D -m644 $(top_srcdir)/images/group-chat_256x256.png $@
+$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png:
+	$(INSTALL) -D -m644 $(top_srcdir)/images/person-chat_256x256.png $@
 
 # macros
 
diff --git a/src/Frontend-GNOME/Notebook.cs b/src/Frontend-GNOME/Notebook.cs
index fff9444..319e273 100644
--- a/src/Frontend-GNOME/Notebook.cs
+++ b/src/Frontend-GNOME/Notebook.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2007-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2007-2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -142,33 +142,6 @@ namespace Smuxi.Frontend.Gnome
             return -1;
         }
 
-        public void RemoveAllPages()
-        {
-            Trace.Call();
-
-            // OPT: don't trigger lots of SwitchPage events while we remove all pages
-            // this also breaks the Frontend.ReconnectEngineToGUI() as that one
-            // has to cleanup all chats regardless of a working network
-            // connection
-            SwitchPage -= OnBeforeSwitchPage;
-            SwitchPage -= OnSwitchPage;
-
-            int npages = NPages;
-            CurrentPage = 0;
-            for (int i = 0; i < npages; i++) {
-                // *doh* this would be too easy, ugly Gtk.Notebook doesn't
-                // like it though, index based vs array based?
-                //RemovePage(i);
-
-                NextPage();
-                RemovePage(CurrentPage);
-            }
-
-            // reconnect the event handler
-            SwitchPage += OnBeforeSwitchPage;
-            SwitchPage += OnSwitchPage;
-        }
-
         public void SyncPagePositions()
         {
             Trace.Call();
diff --git a/src/Frontend-GNOME/NotifyManager.cs b/src/Frontend-GNOME/NotifyManager.cs
index 7c62fa3..d8680cc 100644
--- a/src/Frontend-GNOME/NotifyManager.cs
+++ b/src/Frontend-GNOME/NotifyManager.cs
@@ -1,6 +1,6 @@
 // Smuxi - Smart MUltipleXed Irc
 // 
-// Copyright (c) 2010-2011 Mirco Bauer <meebey at meebey.net>
+// Copyright (c) 2010-2013 Mirco Bauer <meebey at meebey.net>
 // 
 // Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
 // 
@@ -41,6 +41,8 @@ namespace Smuxi.Frontend.Gnome
         private static List<string> Capabilites { get; set; }
         private static string SoundFile { get; set; }
         private static Version SpecificationVersion { get; set; }
+        private static string ServerVendor { get; set; }
+        private static string ServerName { get; set; }
         Dictionary<ChatView, Notification> Notifications { get; set; }
         MainWindow MainWindow { get; set; }
         ChatViewManager ChatViewManager { get; set; }
@@ -136,6 +138,8 @@ namespace Smuxi.Frontend.Gnome
                              "'" + version + "'", ex);
 #endif
             }
+            ServerVendor = Global.ServerInformation.Vendor;
+            ServerName = Global.ServerInformation.Name;
 
 #if LOG4NET
             Logger.Debug(
@@ -201,6 +205,7 @@ namespace Smuxi.Frontend.Gnome
             }
 
             e.ChatView.OutputMessageTextView.MessageHighlighted -= handler;
+            HighlightEventHandlers.Remove(e.ChatView);
         }
 
         void OnChatViewMessageHighlighted(object sender,
@@ -248,20 +253,84 @@ namespace Smuxi.Frontend.Gnome
                 Summary = chatView.Name,
                 Category = "im.received"
             };
+            notification.AddHint("desktop-entry", "smuxi-frontend-gnome");
             if (Capabilites.Contains("body")) {
                 // notify-osd doesn't like unknown tags when appending
                 notification.Body = GLib.Markup.EscapeText(
                     msg.ToString()
                 );
             }
-            //notification.IconName = "notification-message-im";
             if (Capabilites.Contains("icon-static")) {
+                Gdk.Pixbuf iconData = null;
+                string iconName = null;
                 if (chatView is PersonChatView) {
-                    notification.Icon = PersonChatIconPixbuf;
+                    iconData = PersonChatIconPixbuf;
+                    iconName = "smuxi-person-chat";
+                } else if (chatView is GroupChatView) {
+                    iconData = GroupChatIconPixbuf;
+                    iconName = "smuxi-group-chat";
                 }
-                if (chatView is GroupChatView) {
-                    notification.Icon = GroupChatIconPixbuf;
+                var theme = Gtk.IconTheme.Default;
+#if DISABLED
+                // OPT: use icon path/name if we can, so the image (26K) is not
+                // send over D-Bus. Especially with the gnome-shell this is a
+                // serious performance issue, see:
+                // https://bugzilla.gnome.org/show_bug.cgi?id=683829
+                if (iconName != null && theme.HasIcon(iconName)) {
+                    // HACK: use icon path instead of name as gnome-shell does
+                    // not support icon names correctly, see:
+                    // https://bugzilla.gnome.org/show_bug.cgi?id=665957
+                    var iconInfo = theme.LookupIcon(iconName, 256, Gtk.IconLookupFlags.UseBuiltin);
+                    if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+                        File.Exists(iconInfo.Filename) &&
+                        ServerVendor == "GNOME" &&
+                        (ServerName == "Notification Daemon" ||
+                         ServerName == "gnome-shell")) {
+                        // HACK: notification-daemon 0.7.5 seems to ignore
+                        // the image_path hint for some reason, thus we have to
+                        // rely on app_icon instead, see:
+                        // https://bugzilla.gnome.org/show_bug.cgi?id=684653
+                        // HACK: gnome-shell 3.4.2 shows no notification at all
+                        // with image_path and stops responding to further
+                        // notifications which freezes Smuxi completely!
+                        notification.IconName = "file://" + iconInfo.Filename;
+                    } else if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+                               File.Exists(iconInfo.Filename) &&
+                               SpecificationVersion >= new Version("1.1")) {
+                        // starting with DNS >= 1.1 we can use the image-path
+                        // hint instead of icon_data or app_icon
+                        var hintName = "image_path";
+                        if (SpecificationVersion >= new Version("1.2")) {
+                            hintName = "image-path";
+                        }
+                        notification.AddHint(hintName,
+                                             "file://" + iconInfo.Filename);
+                    } else {
+                        // fallback to icon_data as defined in DNS 0.9
+                        notification.Icon = iconData;
+                    }
+#endif
+                if (Frontend.HasSystemIconTheme &&
+                    iconName != null && theme.HasIcon(iconName)) {
+                    notification.IconName = iconName;
+                } else if (iconName != null && theme.HasIcon(iconName)) {
+                    // icon wasn't in the system icon theme
+                    var iconInfo = theme.LookupIcon(iconName, 256, Gtk.IconLookupFlags.UseBuiltin);
+                    if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+                        File.Exists(iconInfo.Filename)) {
+                        notification.IconName = "file://" + iconInfo.Filename;
+                    }
+                } else if (iconData != null) {
+                    // fallback to icon_data as the icon is not available in
+                    // the theme
+                    notification.Icon = iconData;
+                } else {
+                    // fallback for non-group/person messages
+                    notification.IconName = "notification-message-im";
                 }
+            } else {
+                // fallback to generic icon
+                notification.IconName = "notification-message-im";
             }
             if (Capabilites.Contains("actions")) {
                 notification.AddAction("show", _("Show"), delegate {
diff --git a/src/Frontend-GNOME/PangoTools.cs b/src/Frontend-GNOME/PangoTools.cs
index b9d808c..b8e101d 100644
--- a/src/Frontend-GNOME/PangoTools.cs
+++ b/src/Frontend-GNOME/PangoTools.cs
@@ -61,7 +61,7 @@ namespace Smuxi.Frontend.Gnome
                 if (msgPart is UrlMessagePartModel) {
                     UrlMessagePartModel url = (UrlMessagePartModel) msgPart;
 
-                    string str = GLib.Markup.EscapeText(url.Text);
+                    string str = GLib.Markup.EscapeText(url.Url);
                     
                     Gdk.Color gdkColor = Gdk.Color.Zero;
                     Gdk.Color.Parse("darkblue", ref gdkColor);
diff --git a/src/Frontend-GNOME/Views/Chats/ChatView.cs b/src/Frontend-GNOME/Views/Chats/ChatView.cs
index 9588125..cdbec66 100644
--- a/src/Frontend-GNOME/Views/Chats/ChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/ChatView.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -59,6 +59,7 @@ namespace Smuxi.Frontend.Gnome
         bool                         UseLowBandwidthMode { get; set; }
         protected Gtk.Image          TabImage { get; set; }
         bool                         IsAutoScrolling { get; set; }
+        Gtk.ImageMenuItem  CloseItem { get; set; }
 
         public ChatModel ChatModel {
             get {
@@ -278,19 +279,17 @@ namespace Smuxi.Frontend.Gnome
             sw.HscrollbarPolicy = Gtk.PolicyType.Automatic;
             sw.VscrollbarPolicy = Gtk.PolicyType.Always;
             sw.ShadowType = Gtk.ShadowType.In;
-            sw.Vadjustment.ValueChanged += delegate {
-                CheckAutoScroll();
-            };
+            sw.Vadjustment.ValueChanged += OnVadjustmentValueChanged;
             sw.Add(_OutputMessageTextView);
 
             // popup menu
             _TabMenu = new Gtk.Menu();
-            
-            Gtk.ImageMenuItem close_item = new Gtk.ImageMenuItem(Gtk.Stock.Close, null);
-            close_item.Activated += new EventHandler(OnTabMenuCloseActivated);  
-            _TabMenu.Append(close_item);
+
+            CloseItem = new Gtk.ImageMenuItem(Gtk.Stock.Close, null);
+            CloseItem.Activated += new EventHandler(OnTabMenuCloseActivated);
+            _TabMenu.Append(CloseItem);
             _TabMenu.ShowAll();
-            
+
             //FocusChild = _OutputTextView;
             //CanFocus = false;
             
@@ -328,10 +327,8 @@ namespace Smuxi.Frontend.Gnome
         {
             Trace.Call();
 
-            base.Dispose();
-
             Dispose(true);
-            GC.SuppressFinalize(this);
+            base.Dispose();
         }
 
         protected void Dispose(bool disposing)
@@ -343,6 +340,12 @@ namespace Smuxi.Frontend.Gnome
                     _LastSeenHighlightQueue.Dispose();
                 }
                 _LastSeenHighlightQueue = null;
+
+                // HACK: this shouldn't be needed but GTK# keeps GC handles
+                // these callbacks for some reason and thus leaks :(
+                _OutputMessageTextView.Dispose();
+                CloseItem.Activated -= OnTabMenuCloseActivated;
+                _OutputScrolledWindow.Vadjustment.ValueChanged -= OnVadjustmentValueChanged;
             }
         }
 
@@ -562,9 +565,19 @@ namespace Smuxi.Frontend.Gnome
         {
             Trace.Call();
 
+            var protocolManager = ProtocolManager;
+            if (protocolManager == null) {
+#if LOG4NET
+                _Logger.WarnFormat(
+                    "{0}.Close(): ProtocolManager is null, bailing out!", this
+                );
+#endif
+                return;
+            }
+
             ThreadPool.QueueUserWorkItem(delegate {
                 try {
-                    ProtocolManager.CloseChat(
+                    protocolManager.CloseChat(
                         Frontend.FrontendManager,
                         ChatModel
                     );
@@ -754,6 +767,11 @@ namespace Smuxi.Frontend.Gnome
 #endif
         }
 
+        void OnVadjustmentValueChanged(object sender, EventArgs e)
+        {
+            CheckAutoScroll();
+        }
+
         private static string _(string msg)
         {
             return Mono.Unix.Catalog.GetString(msg);
diff --git a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
index 63e9e15..521d336 100644
--- a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2005-2006, 2009-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2006, 2009-2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -143,6 +143,7 @@ namespace Smuxi.Frontend.Gnome
             column.Spacing = 0;
             column.SortIndicator = false;
             column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
+            // FIXME: this callback leaks memory
             column.SetCellDataFunc(cellr, new Gtk.TreeCellDataFunc(RenderPersonIdentityName));
             tv.AppendColumn(column);
             _IdentityNameColumn = column;
@@ -210,7 +211,23 @@ namespace Smuxi.Frontend.Gnome
             
             ShowAll();
         }
-        
+
+        public override void Dispose()
+        {
+            Trace.Call();
+
+            // HACK: this shouldn't be needed but GTK# keeps GC handles
+            // these callbacks for some reason and thus leaks :(
+            // release ListStore.SetSortFunc() callback
+            // gtk_list_store_finalize() -> _gtk_tree_data_list_header_free() -> destroy(user_data);
+            _PersonListStore.Dispose();
+            // release TreeViewColumn.SetCellDataFunc() callback
+            // gtk_tree_view_column_finalize -> GtkTreeViewColumnCellInfo -> info->destroy(info->func_data)
+            _IdentityNameColumn.Dispose();
+
+            base.Dispose();
+        }
+
         public override void Disable()
         {
             Trace.Call();
@@ -572,6 +589,17 @@ namespace Smuxi.Frontend.Gnome
                 return;
             }
 
+            var protocolManager = ProtocolManager;
+            if (protocolManager == null) {
+#if LOG4NET
+                _Logger.WarnFormat(
+                    "{0}.OnPersonsRowActivated(): ProtocolManager is null, " +
+                    "bailing out!", this
+                );
+#endif
+                return;
+            }
+
             // jump to person chat if available
             foreach (var chatView in Frontend.MainWindow.ChatViewManager.Chats) {
                 if (!(chatView is PersonChatView)) {
@@ -597,7 +625,7 @@ namespace Smuxi.Frontend.Gnome
 
                 ThreadPool.QueueUserWorkItem(delegate {
                     try {
-                        ProtocolManager.OpenChat(
+                        protocolManager.OpenChat(
                             Frontend.FrontendManager,
                             personChat
                         );
diff --git a/src/Frontend-GNOME/Views/MessageTextView.cs b/src/Frontend-GNOME/Views/MessageTextView.cs
index 8d95179..1f4edfb 100644
--- a/src/Frontend-GNOME/Views/MessageTextView.cs
+++ b/src/Frontend-GNOME/Views/MessageTextView.cs
@@ -1,7 +1,7 @@
 /*
  * Smuxi - Smart MUltipleXed Irc
  *
- * Copyright (c) 2009-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2009-2013 Mirco Bauer <meebey at meebey.net>
  *
  * Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
  *
@@ -38,6 +38,7 @@ namespace Smuxi.Frontend.Gnome
 #endif        
         private static readonly Gdk.Cursor _NormalCursor = new Gdk.Cursor(Gdk.CursorType.Xterm);
         private static readonly Gdk.Cursor _LinkCursor = new Gdk.Cursor(Gdk.CursorType.Hand2);
+        static bool IsGtk2_17 { get; set; }
         private Gtk.TextTagTable _MessageTextTagTable;
         private MessageModel _LastMessage;
         private bool         _ShowTimestamps;
@@ -132,6 +133,12 @@ namespace Smuxi.Frontend.Gnome
             }
         }
 
+        static MessageTextView()
+        {
+            IsGtk2_17 = String.IsNullOrEmpty(Gtk.Global.CheckVersion(2, 17, 0)) &&
+                        !String.IsNullOrEmpty(Gtk.Global.CheckVersion(2, 18, 0));
+        }
+
         public MessageTextView()
         {
             Trace.Call();
@@ -244,6 +251,7 @@ namespace Smuxi.Frontend.Gnome
             var senderPrefixWidth = GetSenderPrefixWidth(msg);
             Gtk.TextTag indentTag = null;
             if (senderPrefixWidth != 0) {
+                // TODO: re-use text tags that have the same indent width
                 indentTag = new Gtk.TextTag(null) {
                     Indent = -senderPrefixWidth
                 };
@@ -395,11 +403,13 @@ namespace Smuxi.Frontend.Gnome
 
             CheckBufferSize();
 
-            // HACK: force a redraw of the widget, as for some reason
-            // GTK+ 2.17.6 is not redrawing some lines we add here, especially
-            // for local messages. See:
-            // http://projects.qnetp.net/issues/show/185
-            QueueDraw();
+            if (IsGtk2_17) {
+                // HACK: force a redraw of the widget, as for some reason
+                // GTK+ 2.17.6 is not redrawing some lines we add here, especially
+                // for local messages. See:
+                // http://projects.qnetp.net/issues/show/185
+                QueueDraw();
+            }
 
             if (MessageAdded != null) {
                 MessageAdded(this, new MessageTextViewMessageAddedEventArgs(msg));
@@ -426,6 +436,19 @@ namespace Smuxi.Frontend.Gnome
             QueueDraw();
         }
 
+        public override void Dispose()
+        {
+            // HACK: this shouldn't be needed but GTK# keeps GC handles
+            // these callbacks for some reason and thus leaks :(
+            _MessageTextTagTable.Foreach(tag => {
+                if (tag is LinkTag) {
+                    tag.TextEvent -= OnLinkTagTextEvent;
+                }
+            });
+            _MessageTextTagTable.Dispose();
+            base.Dispose();
+        }
+
         /*
          * Helper methods
          */
diff --git a/src/Frontend-STFL/Makefile.in b/src/Frontend-STFL/Makefile.in
index 9645f2c..783986c 100644
--- a/src/Frontend-STFL/Makefile.in
+++ b/src/Frontend-STFL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-STFL/STFL/Makefile.in b/src/Frontend-STFL/STFL/Makefile.in
index 9b3e69b..04c3c09 100644
--- a/src/Frontend-STFL/STFL/Makefile.in
+++ b/src/Frontend-STFL/STFL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-SWF/Makefile.in b/src/Frontend-SWF/Makefile.in
index 9657bbe..2b9eed1 100644
--- a/src/Frontend-SWF/Makefile.in
+++ b/src/Frontend-SWF/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-Test/Makefile.in b/src/Frontend-Test/Makefile.in
index 252d424..2434249 100644
--- a/src/Frontend-Test/Makefile.in
+++ b/src/Frontend-Test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend/Makefile.in b/src/Frontend/Makefile.in
index ae69fac..0ee7da3 100644
--- a/src/Frontend/Makefile.in
+++ b/src/Frontend/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Makefile.in b/src/Makefile.in
index 019cd48..3673d09 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Server/Makefile.in b/src/Server/Makefile.in
index cb41b60..7572841 100644
--- a/src/Server/Makefile.in
+++ b/src/Server/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/smuxi-win32.nsis.in b/src/smuxi-win32.nsis.in
index c3eca9e..dc00d25 100644
--- a/src/smuxi-win32.nsis.in
+++ b/src/smuxi-win32.nsis.in
@@ -33,7 +33,7 @@ SetCompressor lzma
 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\smuxi-frontend-gnome.exe"
 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
 !define PRODUCT_UNINST_ROOT_KEY "HKLM"
-!define DOTNET_VERSION "3.5 SP1"
+!define DOTNET_VERSION "4.0"
 !define GTKSHARP_PRODUCT_GUID "{3CB70B01-4BC8-4C0F-B28F-7C6E33F913CC}"
 !define GTKSHARP_VERSION "2.12.10"
 
@@ -132,7 +132,7 @@ FunctionEnd
 
 !macro CheckGtkSharp GTKSHARP_REQ
     !define GTKSHARP_FILE         "gtk-sharp-2.12.10.win32.msi"
-    !define GTKSHARP_BASE_URL     "http://download.mono-project.com/gtk-sharp/"
+    !define GTKSHARP_BASE_URL     "http://www.smuxi.org/jaws/data/files/"
     !define GTKSHARP_DOWNLOAD_URL "${GTKSHARP_BASE_URL}${GTKSHARP_FILE}"
     !define GTKSHARP_TEMP_FILE "$TEMP\${GTKSHARP_FILE}"
 
@@ -141,6 +141,12 @@ FunctionEnd
     ReadRegStr $GTKSHARP_FOUND_VERSION HKLM \
           "SOFTWARE\Novell\GtkSharp\Version" ""
 
+    # GTK# 2.12.20 uses a Xamarin key
+    ${If} $GTKSHARP_FOUND_VERSION == ""
+        ReadRegStr $GTKSHARP_FOUND_VERSION HKLM \
+              "SOFTWARE\Xamarin\GtkSharp\Version" ""
+    ${EndIf}
+
     ${VersionCompare} $GTKSHARP_FOUND_VERSION ${GTKSHARP_REQ} $R0
 
     ${If} $GTKSHARP_FOUND_VERSION == ""
@@ -158,7 +164,7 @@ FunctionEnd
 
     InstallGtkSharpConfirmation:
         MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
-            "Your GTK# version: $GTKSHARP_FOUND_VERSION $\nRequired Version: ${GTKSHARP_REQ} or greater.$\n$\nDownload GTK# from download.mono-project.com?" \
+            "Your GTK# version: $GTKSHARP_FOUND_VERSION $\nRequired Version: ${GTKSHARP_REQ} or greater.$\n$\nDownload GTK# from www.smuxi.org?" \
             /SD IDYES IDYES InstallGtkSharp IDNO End
         goto GiveUp ;IDCANCEL
 
@@ -237,10 +243,16 @@ FunctionEnd
 # http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe
 # .NET 3.5 SP1 - 231 MB
 # http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
-# .NET 3.5 SP1 Web Installer - 3 MB  .NET 2.0 -> 3.5: 52 MB
+# .NET 3.5 SP1 Web Installer - 3 MB / .NET 2.0 -> 3.5: 52 MB
 # http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe
-
-  !define DOTNET_URL "http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe"
+# .NET 4.0 Client Profile Web Installer - 1 MB
+# - .NET 3.5 SP1 -> 4.0: 43 MB
+# http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe
+# .NET 4.0 Full Web Installer - 1 MB
+# - .NET 3.5 SP1 -> 4.0: 54 MB
+# - .NET 4.0 Client Profile -> 4.0 Full: 15 MB
+# http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe
+  !define DOTNET_URL "http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe"
   !define MSI31_URL "http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe"
  
   DetailPrint "Checking your .NET Framework version..."
@@ -251,7 +263,7 @@ FunctionEnd
   Push $3
   Push $4
   Push $5
-  Push $6 ;backup of intsalled ver
+  Push $6 ;backup of installed ver
   Push $7 ;backup of DoNetReqVer
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -319,22 +331,20 @@ NewMSI:
  
   Var /GLOBAL NET35_INSTALL
   Var /GLOBAL NET35_SP
+  Var /GLOBAL NET4_INSTALL
   ReadRegStr $NET35_INSTALL HKLM \
           "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Install"
   ReadRegStr $NET35_SP HKLM \
           "SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "SP"
+  ReadRegStr $NET4_INSTALL HKLM \
+          "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install"
 
-  ${If} $NET35_INSTALL == ""
-      StrCpy $6 "$0"
-      DetailPrint ".NET Framework Version found: $6, but is older than the required version: $7"
-      goto OldDotNET
-  ${ElseIf} $NET35_INSTALL == "1"
-  ${AndIf} $NET35_SP == "1"
-      DetailPrint ".NET Framework Version 3.5 SP1 found"
+  ${If} $NET4_INSTALL == "1"
+      DetailPrint ".NET Framework Version 4.0 found"
       goto NewDotNET
   ${ElseIf} $NET35_INSTALL == "1"
-      DetailPrint ".NET Framework Version 3.5 found but without SP1"
-      StrCpy $6 "3.5"
+      StrCpy $6 "$0"
+      DetailPrint ".NET Framework Version found: 3.5, but is older than the required version: $7"
       goto OldDotNET
   ${Else}
       goto NoDotNET
@@ -342,13 +352,13 @@ NewMSI:
 
 NoDotNET:
     MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
-    ".NET Framework not installed.$\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework version from www.microsoft.com?" \
+    ".NET Framework not installed.$\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework $7 from www.microsoft.com?" \
     /SD IDYES IDYES DownloadDotNET IDNO NewDotNET
     goto GiveUpDotNET ;IDCANCEL
 
 OldDotNET:
     MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
-    "Your .NET Framework version: $6 $\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework version from www.microsoft.com?" \
+    "Your .NET Framework version: $6 $\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework $7 from www.microsoft.com?" \
     /SD IDYES IDYES DownloadDotNET IDNO NewDotNET
     goto GiveUpDotNET ;IDCANCEL
  
@@ -496,11 +506,14 @@ Section "Main" SEC01
   CreateShortCut "$SMPROGRAMS\Smuxi\Smuxi.lnk" "$INSTDIR\smuxi-frontend-gnome.exe"
   CreateShortCut "$DESKTOP\Smuxi.lnk" "$INSTDIR\smuxi-frontend-gnome.exe"
 
+  # remove obsolete libraries for upgrades from Smuxi < 0.8.10.2
+  Delete "$INSTDIR\zlib1.dll"
+  Delete "$INSTDIR\MonoPosixHelper.dll"
+
   SetOverwrite try
   File "../bin-win32/log4net.dll"
   File "../bin-win32/Meebey.SmartIrc4net.dll"
   File "../bin-win32/Mono.Posix.dll"
-  File "../bin-win32/MonoPosixHelper.dll"
   File "../bin-win32/Nini.dll"
   File "../bin-win32/Twitterizer2.dll"
   File "../bin-win32/Newtonsoft.Json.dll"
@@ -517,7 +530,6 @@ Section "Main" SEC01
   File "../bin-win32/smuxi-frontend.dll"
   File "../bin-win32/smuxi-server.exe"
   File "../bin-win32/smuxi-server.exe.config"
-  File "../bin-win32/zlib1.dll"
   File "../bin-win32/plink.exe"
   File "../bin-win32/Fixedsys500c.ttf"
   File /nonfatal /r "../bin-win32/locale"
@@ -560,7 +572,7 @@ SectionEnd
 
 Function un.onUninstSuccess
   HideWindow
-  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully unistalled."
+  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully uninstalled."
 FunctionEnd
 
 Function un.onInit
@@ -573,7 +585,6 @@ Section Uninstall
   SetShellVarContext all
   Delete "$INSTDIR\${PRODUCT_NAME}.url"
   Delete "$INSTDIR\uninst.exe"
-  Delete "$INSTDIR\zlib1.dll"
   Delete "$INSTDIR\smuxi-server.exe.config"
   Delete "$INSTDIR\smuxi-server.exe"
   Delete "$INSTDIR\smuxi-server.log"
@@ -587,15 +598,18 @@ Section Uninstall
   Delete "$INSTDIR\smuxi-engine-twitter.dll"
   Delete "$INSTDIR\smuxi-engine-xmpp.dll"
   Delete "$INSTDIR\smuxi-common.dll"
-  Delete "$INSTDIR\Twitterizer.Framework.dll"
+  Delete "$INSTDIR\Twitterizer2.dll"
+  Delete "$INSTDIR\Newtonsoft.Json.dll"
+  Delete "$INSTDIR\jabber-net.dll"
+  Delete "$INSTDIR\Db4objects.Db4o.dll"
   Delete "$INSTDIR\Nini.dll"
-  Delete "$INSTDIR\MonoPosixHelper.dll"
   Delete "$INSTDIR\Mono.Posix.dll"
   Delete "$INSTDIR\Meebey.SmartIrc4net.dll"
   Delete "$INSTDIR\log4net.dll"
   Delete "$INSTDIR\plink.exe"
   Delete "$INSTDIR\Fixedsys500c.ttf"
   RMDir /r "$INSTDIR\locale"
+  RMDir /r "$INSTDIR\icons"
 
   Delete "$DESKTOP\Smuxi.lnk"
   Delete "$SMPROGRAMS\Smuxi\Uninstall.lnk"

-- 
smuxi



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