summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--configure.ac7
-rw-r--r--plugins/dns/dns.c2
-rw-r--r--plugins/ewc/ewc.c2
-rw-r--r--plugins/hextray/callbacks.cpp2
-rw-r--r--plugins/hextray/callbacks.h4
-rw-r--r--plugins/hextray/hexchat.cpp4
-rw-r--r--plugins/hextray/hexchat.h4
-rw-r--r--plugins/hextray/hextray.cpp2
-rw-r--r--plugins/hextray/hextray.h2
-rw-r--r--plugins/hextray/sdAlerts.cpp4
-rw-r--r--plugins/hextray/sdAlerts.h4
-rw-r--r--plugins/hextray/sdTray.cpp4
-rw-r--r--plugins/hextray/sdTray.h4
-rw-r--r--plugins/hextray/utility.cpp2
-rw-r--r--plugins/hextray/utility.h4
-rw-r--r--plugins/lua/lua.c2
-rw-r--r--plugins/mpcinfo/functions.c2
-rw-r--r--plugins/mpcinfo/mp3Info.c2
-rw-r--r--plugins/mpcinfo/mpcInfo.c2
-rw-r--r--plugins/mpcinfo/oggInfo.c2
-rw-r--r--plugins/mpcinfo/theme.c2
-rw-r--r--plugins/perl/perl.c2
-rw-r--r--plugins/python/python.c2
-rw-r--r--plugins/sysinfo/hwmon.c2
-rw-r--r--plugins/sysinfo/hwmon.h2
-rw-r--r--plugins/sysinfo/match.c2
-rw-r--r--plugins/sysinfo/match.h2
-rw-r--r--plugins/sysinfo/parse.c2
-rw-r--r--plugins/sysinfo/parse.h2
-rw-r--r--plugins/sysinfo/pci.c2
-rw-r--r--plugins/sysinfo/pci.h2
-rw-r--r--plugins/sysinfo/xsys.c2
-rw-r--r--plugins/sysinfo/xsys.h2
-rw-r--r--plugins/upd/upd.c7
-rw-r--r--share/doc/COPYING2
-rw-r--r--share/icons/Makefile.am2
-rw-r--r--src/common/cfgfiles.c5
-rw-r--r--src/common/ctcp.c2
-rw-r--r--src/common/dbus/dbus-client.c2
-rw-r--r--src/common/dbus/dbus-client.h2
-rw-r--r--src/common/dbus/dbus-plugin.c2
-rw-r--r--src/common/dbus/dbus-plugin.h2
-rw-r--r--src/common/dbus/example.c2
-rw-r--r--src/common/dcc.c2
-rw-r--r--src/common/fe.h2
-rw-r--r--src/common/hexchat.c3
-rw-r--r--src/common/history.c2
-rw-r--r--src/common/ignore.c2
-rw-r--r--src/common/inbound.c2
-rw-r--r--src/common/modes.c2
-rw-r--r--src/common/msproxy.c2
-rw-r--r--src/common/msproxy.h2
-rw-r--r--src/common/network.c2
-rw-r--r--src/common/notify.c2
-rw-r--r--src/common/outbound.c2
-rw-r--r--src/common/plugin.c2
-rw-r--r--src/common/proto-irc.c2
-rw-r--r--src/common/server.c2
-rw-r--r--src/common/servlist.c11
-rw-r--r--src/common/ssl.c2
-rw-r--r--src/common/text.c4
-rw-r--r--src/common/textevents.in6
-rw-r--r--src/common/url.c2
-rw-r--r--src/common/userlist.c2
-rw-r--r--src/common/util.c2
-rw-r--r--src/fe-gtk/about.c2
-rw-r--r--src/fe-gtk/ascii.c2
-rw-r--r--src/fe-gtk/banlist.c2
-rw-r--r--src/fe-gtk/chanlist.c2
-rw-r--r--src/fe-gtk/dccgui.c2
-rw-r--r--src/fe-gtk/editlist.c2
-rw-r--r--src/fe-gtk/fe-gtk.c22
-rw-r--r--src/fe-gtk/fkeys.c2
-rw-r--r--src/fe-gtk/gtkutil.c2
-rw-r--r--src/fe-gtk/ignoregui.c2
-rw-r--r--src/fe-gtk/maingui.c10
-rw-r--r--src/fe-gtk/menu.c2
-rw-r--r--src/fe-gtk/notifygui.c2
-rw-r--r--src/fe-gtk/palette.c2
-rw-r--r--src/fe-gtk/pixmaps.c2
-rw-r--r--src/fe-gtk/plugin-tray.c4
-rw-r--r--src/fe-gtk/plugingui.c3
-rw-r--r--src/fe-gtk/rawlog.c2
-rw-r--r--src/fe-gtk/search.c2
-rw-r--r--src/fe-gtk/sexy-iso-codes.c4
-rw-r--r--src/fe-gtk/sexy-iso-codes.h4
-rw-r--r--src/fe-gtk/sexy-spell-entry.c3
-rw-r--r--src/fe-gtk/sexy-spell-entry.h3
-rw-r--r--src/fe-gtk/textgui.c2
-rw-r--r--src/fe-gtk/urlgrab.c2
-rw-r--r--src/fe-gtk/userlistgui.c2
-rw-r--r--src/fe-gtk/xtext.c2
-rw-r--r--src/fe-text/fe-text.c2
-rw-r--r--src/htm/Main.cs2
-rw-r--r--win32/installer/hexchat-x64.skel.iss563
-rw-r--r--win32/installer/hexchat-x86.skel.iss561
96 files changed, 706 insertions, 688 deletions
diff --git a/configure.ac b/configure.ac
index 5e129180..e30887aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -341,7 +341,8 @@ if test "$python" = yes; then
                 changequote(<<, >>)dnl
                 PY_VER=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_config_vars("VERSION")[0];'`
                 PY_LIB=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1);'`
-                PY_INC=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_config_vars("INCLUDEPY")[0];'`
+                PY_INC=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc();'`
+                PYPLAT_INC=`$pythonpath -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc(plat_specific=True);'`
                 $pythonpath -c "import sys; map(int,sys.version[:3].split('.')) >= [2,2] or sys.exit(1)"
                 changequote([, ])dnl
                 AC_MSG_RESULT($PY_VER)
@@ -349,9 +350,9 @@ if test "$python" = yes; then
                         AC_MSG_CHECKING(Python compile flags)
                         PY_PREFIX=`$pythonpath -c 'import sys; print sys.prefix'`
                         PY_EXEC_PREFIX=`$pythonpath -c 'import sys; print sys.exec_prefix'`
-                        if test -f $PY_INC/Python.h; then
+                        if test -f $PY_INC/Python.h || test -f $PYPLAT_INC/Python.h; then
                                 PY_LIBS="-L$PY_LIB/config -lpython$PY_VER -lpthread -lutil"
-                                PY_CFLAGS="-I$PY_INC"
+                                PY_CFLAGS="-I$PY_INC -I$PYPLAT_INC"
                                 AC_MSG_RESULT(ok)
                         else
                                 python=no
diff --git a/plugins/dns/dns.c b/plugins/dns/dns.c
index 9e359805..3610e9d0 100644
--- a/plugins/dns/dns.c
+++ b/plugins/dns/dns.c
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 /*
  * Requires MS Visual Studio and IPV6 headers to compile (run nmake).
diff --git a/plugins/ewc/ewc.c b/plugins/ewc/ewc.c
index c8e508f7..48336b36 100644
--- a/plugins/ewc/ewc.c
+++ b/plugins/ewc/ewc.c
@@ -14,7 +14,7 @@ Lesser General Public License for more details.
 

 You should have received a copy of the GNU Lesser General Public

 License along with this library; if not, write to the Free Software

-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

 */

 

 #include <windows.h>

diff --git a/plugins/hextray/callbacks.cpp b/plugins/hextray/callbacks.cpp
index 0ced8384..d902af50 100644
--- a/plugins/hextray/callbacks.cpp
+++ b/plugins/hextray/callbacks.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #define _WIN32_IE 0x0601

diff --git a/plugins/hextray/callbacks.h b/plugins/hextray/callbacks.h
index 99cbae74..fc7cf47b 100644
--- a/plugins/hextray/callbacks.h
+++ b/plugins/hextray/callbacks.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _H_CALLBACKS_H

@@ -34,4 +34,4 @@ LRESULT CALLBACK	AlertsProc		(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 LRESULT CALLBACK	SettingsProc	(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);

 int		CALLBACK	PrefProc		(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);

 

-#endif
\ No newline at end of file
+#endif

diff --git a/plugins/hextray/hexchat.cpp b/plugins/hextray/hexchat.cpp
index 38d0e52f..211e5c7f 100644
--- a/plugins/hextray/hexchat.cpp
+++ b/plugins/hextray/hexchat.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #include <windows.h>

@@ -317,4 +317,4 @@ void hexchat_exec(char *command)
 {

 	hexchat_set_context(ph, hexchat_find_context(ph, NULL, NULL));

 	hexchat_command(ph, command);

-}
\ No newline at end of file
+}

diff --git a/plugins/hextray/hexchat.h b/plugins/hextray/hexchat.h
index 847f3547..bae633b2 100644
--- a/plugins/hextray/hexchat.h
+++ b/plugins/hextray/hexchat.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _H_XCHAT_H

@@ -29,4 +29,4 @@ void					hexchat_globally_back	();
 void					hexchat_back			();

 HMENU					setServerMenu		();

 

-#endif
\ No newline at end of file
+#endif

diff --git a/plugins/hextray/hextray.cpp b/plugins/hextray/hextray.cpp
index 56d79ba5..bf09f736 100644
--- a/plugins/hextray/hextray.cpp
+++ b/plugins/hextray/hextray.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #define _WIN32_IE 0x0601

diff --git a/plugins/hextray/hextray.h b/plugins/hextray/hextray.h
index 30a564bc..2fc4b507 100644
--- a/plugins/hextray/hextray.h
+++ b/plugins/hextray/hextray.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _XTRAY_H

diff --git a/plugins/hextray/sdAlerts.cpp b/plugins/hextray/sdAlerts.cpp
index 5e042806..bf61f1eb 100644
--- a/plugins/hextray/sdAlerts.cpp
+++ b/plugins/hextray/sdAlerts.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #include <windows.h>

@@ -106,4 +106,4 @@ LRESULT CALLBACK sdAlertProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 int sdAlertNum()

 {

 	return g_iAlerts;

-}
\ No newline at end of file
+}

diff --git a/plugins/hextray/sdAlerts.h b/plugins/hextray/sdAlerts.h
index cd45a05b..6c2a3dc0 100644
--- a/plugins/hextray/sdAlerts.h
+++ b/plugins/hextray/sdAlerts.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _H_SDALERTS_H

@@ -23,4 +23,4 @@ void				sdSystemAlert	(HINSTANCE, UINT, char *, char *, UINT);
 LRESULT CALLBACK	sdAlertProc		(HWND, UINT, WPARAM, LPARAM);

 int					sdAlertNum		();

 void				sdCloseAlerts	();

-#endif
\ No newline at end of file
+#endif

diff --git a/plugins/hextray/sdTray.cpp b/plugins/hextray/sdTray.cpp
index 3a91a61b..953fcf4a 100644
--- a/plugins/hextray/sdTray.cpp
+++ b/plugins/hextray/sdTray.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 #define _WIN32_IE 0x601

 #include <windows.h>

@@ -204,4 +204,4 @@ void StopBlink(HWND hwnd, UINT id, HICON hBase)
 	}

 

 	SetIcon(hwnd, id, hBase);

-}
\ No newline at end of file
+}

diff --git a/plugins/hextray/sdTray.h b/plugins/hextray/sdTray.h
index 68469fe0..82dc016b 100644
--- a/plugins/hextray/sdTray.h
+++ b/plugins/hextray/sdTray.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _H_SDTRAY_H

@@ -36,4 +36,4 @@ typedef struct IBLINK
 	UINT time;

 	UINT num;

 }iBlink;

-#endif
\ No newline at end of file
+#endif

diff --git a/plugins/hextray/utility.cpp b/plugins/hextray/utility.cpp
index 44eaf7b7..e7500161 100644
--- a/plugins/hextray/utility.cpp
+++ b/plugins/hextray/utility.cpp
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #include <windows.h>

diff --git a/plugins/hextray/utility.h b/plugins/hextray/utility.h
index bc8a8bfd..76cc38ae 100644
--- a/plugins/hextray/utility.h
+++ b/plugins/hextray/utility.h
@@ -13,7 +13,7 @@
  * 

  * You should have received a copy of the GNU General Public License

  * along with X-Tray; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 #ifndef _H_UTILITY_H

@@ -43,4 +43,4 @@ struct HOTKEY
 	WORD key;

 	WORD mod;

 };

-#endif
\ No newline at end of file
+#endif

diff --git a/plugins/lua/lua.c b/plugins/lua/lua.c
index 872d3081..0908f6cb 100644
--- a/plugins/lua/lua.c
+++ b/plugins/lua/lua.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 /*
  *	$Id: lua.c 91 2007-06-09 18:44:03Z vetinari $
diff --git a/plugins/mpcinfo/functions.c b/plugins/mpcinfo/functions.c
index ba6ba519..ff2d563e 100644
--- a/plugins/mpcinfo/functions.c
+++ b/plugins/mpcinfo/functions.c
@@ -11,7 +11,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 /*
diff --git a/plugins/mpcinfo/mp3Info.c b/plugins/mpcinfo/mp3Info.c
index c08e9663..b7112a5d 100644
--- a/plugins/mpcinfo/mp3Info.c
+++ b/plugins/mpcinfo/mp3Info.c
@@ -11,7 +11,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 //#include <stdio.h>
diff --git a/plugins/mpcinfo/mpcInfo.c b/plugins/mpcinfo/mpcInfo.c
index 471b92cf..0ba9385c 100644
--- a/plugins/mpcinfo/mpcInfo.c
+++ b/plugins/mpcinfo/mpcInfo.c
@@ -11,7 +11,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 //static int DEBUG=0;
diff --git a/plugins/mpcinfo/oggInfo.c b/plugins/mpcinfo/oggInfo.c
index 64c9c512..ee7d6363 100644
--- a/plugins/mpcinfo/oggInfo.c
+++ b/plugins/mpcinfo/oggInfo.c
@@ -11,7 +11,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 static int getOggInt(char *buff, int beg, int bytes){
diff --git a/plugins/mpcinfo/theme.c b/plugins/mpcinfo/theme.c
index 2f035592..3f98a59c 100644
--- a/plugins/mpcinfo/theme.c
+++ b/plugins/mpcinfo/theme.c
@@ -11,7 +11,7 @@
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <time.h>
diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c
index 8d5dce4e..bda3f6f2 100644
--- a/plugins/perl/perl.c
+++ b/plugins/perl/perl.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
diff --git a/plugins/python/python.c b/plugins/python/python.c
index d65efec2..0ff669b6 100644
--- a/plugins/python/python.c
+++ b/plugins/python/python.c
@@ -15,7 +15,7 @@
 *
 * You should have received a copy of the GNU General Public License
 * along with this file; if not, write to the Free Software
-* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */
 
 /* Thread support
diff --git a/plugins/sysinfo/hwmon.c b/plugins/sysinfo/hwmon.c
index d7616b47..3cc2fb8d 100644
--- a/plugins/sysinfo/hwmon.c
+++ b/plugins/sysinfo/hwmon.c
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/plugins/sysinfo/hwmon.h b/plugins/sysinfo/hwmon.h
index 020111f9..fe71274b 100644
--- a/plugins/sysinfo/hwmon.h
+++ b/plugins/sysinfo/hwmon.h
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 
diff --git a/plugins/sysinfo/match.c b/plugins/sysinfo/match.c
index 3184ce22..e40ac428 100644
--- a/plugins/sysinfo/match.c
+++ b/plugins/sysinfo/match.c
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/plugins/sysinfo/match.h b/plugins/sysinfo/match.h
index b8846527..61811e4a 100644
--- a/plugins/sysinfo/match.h
+++ b/plugins/sysinfo/match.h
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #ifndef _MATCH_H_
diff --git a/plugins/sysinfo/parse.c b/plugins/sysinfo/parse.c
index 45399496..fbca6213 100644
--- a/plugins/sysinfo/parse.c
+++ b/plugins/sysinfo/parse.c
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/plugins/sysinfo/parse.h b/plugins/sysinfo/parse.h
index eb7a1362..27aac7da 100644
--- a/plugins/sysinfo/parse.h
+++ b/plugins/sysinfo/parse.h
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 
diff --git a/plugins/sysinfo/pci.c b/plugins/sysinfo/pci.c
index 31df60f0..bc8fb11f 100644
--- a/plugins/sysinfo/pci.c
+++ b/plugins/sysinfo/pci.c
@@ -16,7 +16,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/plugins/sysinfo/pci.h b/plugins/sysinfo/pci.h
index b7afb1fc..673f0a0a 100644
--- a/plugins/sysinfo/pci.h
+++ b/plugins/sysinfo/pci.h
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 
diff --git a/plugins/sysinfo/xsys.c b/plugins/sysinfo/xsys.c
index cf807343..98bc9017 100644
--- a/plugins/sysinfo/xsys.c
+++ b/plugins/sysinfo/xsys.c
@@ -19,7 +19,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 
diff --git a/plugins/sysinfo/xsys.h b/plugins/sysinfo/xsys.h
index ffb30bab..4daf8545 100644
--- a/plugins/sysinfo/xsys.h
+++ b/plugins/sysinfo/xsys.h
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 
diff --git a/plugins/upd/upd.c b/plugins/upd/upd.c
index ed1ad854..2b28e74d 100644
--- a/plugins/upd/upd.c
+++ b/plugins/upd/upd.c
@@ -69,7 +69,10 @@ check_version ()
 
 		InternetCloseHandle (hFile);
 		InternetCloseHandle (hINet);
-		return buffer;
+		if (strlen (buffer) == 5)
+			return buffer;
+		else
+			return "Unknown";
 	}
 
 	InternetCloseHandle (hINet);
@@ -220,7 +223,7 @@ print_version (char *word[], char *word_eol[], void *userdata)
 		{
 			hexchat_printf (ph, "%s\tYou have the latest version of HexChat installed!\n", name);
 		}
-		else if (strcmp (version, "Unknown") == 0 || strlen (version) != 5)
+		else if (strcmp (version, "Unknown") == 0)
 		{
 			hexchat_printf (ph, "%s\tUnable to check for HexChat updates!\n", name);
 		}
diff --git a/share/doc/COPYING b/share/doc/COPYING
index eeb586b3..48c9fe9b 100644
--- a/share/doc/COPYING
+++ b/share/doc/COPYING
@@ -2,7 +2,7 @@
 		       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
diff --git a/share/icons/Makefile.am b/share/icons/Makefile.am
index ee5384cc..1096c04c 100644
--- a/share/icons/Makefile.am
+++ b/share/icons/Makefile.am
@@ -4,7 +4,7 @@ icondir = $(datadir)/icons/hicolor/48x48/apps
 hicolor_DATA = hexchat.svg
 hicolordir = $(datadir)/icons/hicolor/scalable/apps
 
-UPDATE_ICON_CACHE = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
+UPDATE_ICON_CACHE = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor || :
 
 install-data-hook:
 	$(UPDATE_ICON_CACHE);
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c
index 31336c20..fd037525 100644
--- a/src/common/cfgfiles.c
+++ b/src/common/cfgfiles.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <fcntl.h>
@@ -330,7 +330,7 @@ get_xdir (void)
 			xdir = g_strdup_printf ("%s\\" "HexChat", out);
 		}
 #else
-		xdir = g_strdup_printf ("%s/.config/" HEXCHAT_DIR, g_get_home_dir ());
+		xdir = g_strdup_printf ("%s/" HEXCHAT_DIR, g_get_user_config_dir ());
 #endif
 	}
 
@@ -682,6 +682,7 @@ load_config (void)
 	prefs.hex_input_tray_hilight = 1;
 	prefs.hex_input_tray_priv = 1;
 	/* prefs.hex_irc_who_join = 1; prevent kicks and bans caused by overwhelming who'ing after reconnects */
+	prefs.hex_irc_whois_front = 1;
 	prefs.hex_net_auto_reconnect = 1;
 	prefs.hex_net_throttle = 1;
 	prefs.hex_stamp_log = 1;
diff --git a/src/common/ctcp.c b/src/common/ctcp.c
index bbe4e1e5..d02355cf 100644
--- a/src/common/ctcp.c
+++ b/src/common/ctcp.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/common/dbus/dbus-client.c b/src/common/dbus/dbus-client.c
index 6ea8e45a..cc2fd087 100644
--- a/src/common/dbus/dbus-client.c
+++ b/src/common/dbus/dbus-client.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Claessens Xavier
  * xclaesse@gmail.com
diff --git a/src/common/dbus/dbus-client.h b/src/common/dbus/dbus-client.h
index 0cd4336c..1ca5713e 100644
--- a/src/common/dbus/dbus-client.h
+++ b/src/common/dbus/dbus-client.h
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Claessens Xavier
  * xclaesse@gmail.com
diff --git a/src/common/dbus/dbus-plugin.c b/src/common/dbus/dbus-plugin.c
index b62bfda5..2467c845 100644
--- a/src/common/dbus/dbus-plugin.c
+++ b/src/common/dbus/dbus-plugin.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Claessens Xavier
  * xclaesse@gmail.com
diff --git a/src/common/dbus/dbus-plugin.h b/src/common/dbus/dbus-plugin.h
index 05619d40..a28d16fb 100644
--- a/src/common/dbus/dbus-plugin.h
+++ b/src/common/dbus/dbus-plugin.h
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Claessens Xavier
  * xclaesse@gmail.com
diff --git a/src/common/dbus/example.c b/src/common/dbus/example.c
index 1eebdfcf..b78bb004 100644
--- a/src/common/dbus/example.c
+++ b/src/common/dbus/example.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Claessens Xavier
  * xclaesse@gmail.com
diff --git a/src/common/dcc.c b/src/common/dcc.c
index 58e04749..d404b617 100644
--- a/src/common/dcc.c
+++ b/src/common/dcc.c
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Wayne Conrad, 3 Apr 1999: Color-coded DCC file transfer status windows
  * Bernhard Valenti <bernhard.valenti@gmx.net> 2000-11-21: Fixed DCC send behind nat
diff --git a/src/common/fe.h b/src/common/fe.h
index f1f3b484..4903ef0e 100644
--- a/src/common/fe.h
+++ b/src/common/fe.h
@@ -97,7 +97,7 @@ void fe_set_title (struct session *sess);
 void fe_set_nonchannel (struct session *sess, int state);
 void fe_set_nick (struct server *serv, char *newnick);
 void fe_ignore_update (int level);
-void fe_beep (void);
+void fe_beep (session *sess);
 void fe_lastlog (session *sess, session *lastlog_sess, char *sstr, gtk_xtext_search_flags flags);
 void fe_set_lag (server *serv, int lag);
 void fe_set_throttle (server *serv);
diff --git a/src/common/hexchat.c b/src/common/hexchat.c
index 1aa5fe54..da46f7f5 100644
--- a/src/common/hexchat.c
+++ b/src/common/hexchat.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
@@ -615,6 +615,7 @@ static char defaultconf_commands[] =
 	"NAME VER\n"			"CMD ctcp %2 VERSION\n\n"\
 	"NAME VERSION\n"		"CMD ctcp %2 VERSION\n\n"\
 	"NAME WALLOPS\n"		"CMD quote WALLOPS :&2\n\n"\
+        "NAME WI\n"                     "CMD quote WHOIS %2\n\n"\
 	"NAME WII\n"			"CMD quote WHOIS %2 %2\n\n";
 
 static char defaultconf_urlhandlers[] =
diff --git a/src/common/history.c b/src/common/history.c
index 1cd6b508..1acd3327 100644
--- a/src/common/history.c
+++ b/src/common/history.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <string.h>
diff --git a/src/common/ignore.c b/src/common/ignore.c
index 49b95c3b..cc357828 100644
--- a/src/common/ignore.c
+++ b/src/common/ignore.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
diff --git a/src/common/inbound.c b/src/common/inbound.c
index 7b4c67e8..41b36296 100644
--- a/src/common/inbound.c
+++ b/src/common/inbound.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <string.h>
diff --git a/src/common/modes.c b/src/common/modes.c
index b84b2b84..6caa46b9 100644
--- a/src/common/modes.c
+++ b/src/common/modes.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <string.h>
diff --git a/src/common/msproxy.c b/src/common/msproxy.c
index 9febe8d0..294c208d 100644
--- a/src/common/msproxy.c
+++ b/src/common/msproxy.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru>
  * based on Dante source code
diff --git a/src/common/msproxy.h b/src/common/msproxy.h
index 9dce4e2e..9fb312ad 100644
--- a/src/common/msproxy.h
+++ b/src/common/msproxy.h
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru>
  * based on Dante source code
diff --git a/src/common/network.c b/src/common/network.c
index f8722433..c3390b31 100644
--- a/src/common/network.c
+++ b/src/common/network.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 /* ipv4 and ipv6 networking functions with a common interface */
diff --git a/src/common/notify.c b/src/common/notify.c
index 5646fda7..849220ca 100644
--- a/src/common/notify.c
+++ b/src/common/notify.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/common/outbound.c b/src/common/outbound.c
index 05910df9..a8a65d6a 100644
--- a/src/common/outbound.c
+++ b/src/common/outbound.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #define _GNU_SOURCE	/* for memrchr */
diff --git a/src/common/plugin.c b/src/common/plugin.c
index ade7fce4..d38085c5 100644
--- a/src/common/plugin.c
+++ b/src/common/plugin.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c
index 2e12d0e5..18015607 100644
--- a/src/common/proto-irc.c
+++ b/src/common/proto-irc.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 /* IRC RFC1459(+commonly used extensions) protocol implementation */
diff --git a/src/common/server.c b/src/common/server.c
index 3e694c43..1fd04422 100644
--- a/src/common/server.c
+++ b/src/common/server.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * MS Proxy (ISA server) support is (c) 2006 Pavel Fedin <sonic_amiga@rambler.ru>
  * based on Dante source code
diff --git a/src/common/servlist.c b/src/common/servlist.c
index c42c371d..e77c0409 100644
--- a/src/common/servlist.c
+++ b/src/common/servlist.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
@@ -246,7 +246,7 @@ static const struct defaultserver def[] =
 	{0,			"irc.ggn.net"},
 	{0,			"irc.vendetta.com"},
 
-	{"freenode",	0,	"#hexchat"},
+	{"freenode",	0},
 #ifdef USE_OPENSSL
 	{0,				"irc.freenode.net/+6697"},
 #endif
@@ -264,6 +264,9 @@ static const struct defaultserver def[] =
 /*	{0,			"sprynet.us.galaxynet.org"},
 	{0,			"atlanta.ga.us.galaxynet.org"},*/
 
+	{"GameSurge",	0},
+	{0,			"irc.gamesurge.net"},
+	
 /*	{"GamesNET",	0},
 	{0,				"irc.gamesnet.net"},
 	{0,				"irc.us.gamesnet.net"},
@@ -321,7 +324,6 @@ static const struct defaultserver def[] =
 	{0,			"tonsberg.no.eu.irclink.net"},
 
 	{"IRCNet",		0},
-	{0,				"irc.ircnet.com"},
 	{0,				"irc.stealth.net/6668"},
 	{0,				"ircnet.demon.co.uk"},
 /*	{0,				"ircnet.hinet.hr"},*/
@@ -382,6 +384,9 @@ static const struct defaultserver def[] =
 	{"MIXXnet",		0},
 	{0,			"irc.mixxnet.net"},
 
+	{"Moznet",		0},
+	{0,			"irc.mozilla.org"},
+
 	{"NeverNET",	0},
 	{0,			"irc.nevernet.net"},
 	{0,			"imagine.nevernet.net"},
diff --git a/src/common/ssl.c b/src/common/ssl.c
index 830b3d83..75a81250 100644
--- a/src/common/ssl.c
+++ b/src/common/ssl.c
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include "inet.h"				  /* make it first to avoid macro redefinitions */
diff --git a/src/common/text.c b/src/common/text.c
index 0b8f9d0b..a89fd511 100644
--- a/src/common/text.c
+++ b/src/common/text.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
@@ -2253,7 +2253,7 @@ sound_beep (session *sess)
 		sound_play_event (XP_TE_BEEP);
 	else
 		/* system beep */
-		fe_beep ();
+		fe_beep (sess);
 }
 
 static char *
diff --git a/src/common/textevents.in b/src/common/textevents.in
index 827900ff..69d42526 100644
--- a/src/common/textevents.in
+++ b/src/common/textevents.in
@@ -67,7 +67,7 @@ pevt_chanban_help
 Channel Creation
 XP_TE_CHANDATE
 pevt_chandate_help
-%C22*%O$tChannel %C22$1%O created
+%C22*%O$tChannel %C22$1%O created on %C24$2%O
 2
 
 Channel DeHalfOp
@@ -589,13 +589,13 @@ n0
 Part
 XP_TE_PART
 pevt_part_help
-%C24*$t$1 has left
+%C24*$t$1 ($2) has left
 3
 
 Part with Reason
 XP_TE_PARTREASON
 pevt_partreason_help
-%C24*%O$t%C18$1%C ($2) has left (%C24$4%O)
+%C24*$t$1 ($2) has left ($4)
 4
 
 Ping Reply
diff --git a/src/common/url.c b/src/common/url.c
index 52e37daa..c5335859 100644
--- a/src/common/url.c
+++ b/src/common/url.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/common/userlist.c b/src/common/userlist.c
index 061e8d95..f6a091a4 100644
--- a/src/common/userlist.c
+++ b/src/common/userlist.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/common/util.c b/src/common/util.c
index e1ef3e62..55cb530a 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #define WANTSOCKET
diff --git a/src/fe-gtk/about.c b/src/fe-gtk/about.c
index 48136d13..647d6603 100644
--- a/src/fe-gtk/about.c
+++ b/src/fe-gtk/about.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/ascii.c b/src/fe-gtk/ascii.c
index 85dcf26d..06621cd7 100644
--- a/src/fe-gtk/ascii.c
+++ b/src/fe-gtk/ascii.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/banlist.c b/src/fe-gtk/banlist.c
index f91be2fc..a783ea07 100644
--- a/src/fe-gtk/banlist.c
+++ b/src/fe-gtk/banlist.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/chanlist.c b/src/fe-gtk/chanlist.c
index ac44bdb1..c2cc6fcb 100644
--- a/src/fe-gtk/chanlist.c
+++ b/src/fe-gtk/chanlist.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/dccgui.c b/src/fe-gtk/dccgui.c
index 60881959..6cfcd8b7 100644
--- a/src/fe-gtk/dccgui.c
+++ b/src/fe-gtk/dccgui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/editlist.c b/src/fe-gtk/editlist.c
index af241e04..c1be5b23 100644
--- a/src/fe-gtk/editlist.c
+++ b/src/fe-gtk/editlist.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c
index f100b895..57ffa2f6 100644
--- a/src/fe-gtk/fe-gtk.c
+++ b/src/fe-gtk/fe-gtk.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
@@ -682,9 +682,10 @@ fe_print_text (struct session *sess, char *text, time_t stamp)
 }
 
 void
-fe_beep (void)
+fe_beep (session *sess)
 {
-	gdk_beep ();
+	if (fe_gui_info (sess, 0) != 1)
+		gdk_beep ();
 }
 
 void
@@ -1021,21 +1022,26 @@ fe_open_url_inner (const char *url)
 #elif defined __APPLE__
 	try_browser ("open", NULL, url);				/* on Mac you can just 'open http://foo.bar/' */
 #else
+
+	/* lets try what gtk has built in first. */
+	if (gtk_show_uri (NULL, url, GDK_CURRENT_TIME, NULL))
+		return;
+		
 	/* universal desktop URL opener (from xdg-utils). Supports gnome,kde,xfce4. */
 	if (try_browser ("xdg-open", NULL, url))
 		return;
 
-	/* try to detect GNOME */
+	/* try to detect GNOME (this env variable is depreciated) */
 	if (g_getenv ("GNOME_DESKTOP_SESSION_ID"))
 	{
-		if (try_browser ("gnome-open", NULL, url)) /* Gnome 2.4+ has this */
+		if (try_browser ("gvfs-open", NULL, url))
 			return;
 	}
 
 	/* try to detect KDE */
 	if (g_getenv ("KDE_FULL_SESSION"))
 	{
-		if (try_browser ("kfmclient", "exec", url))
+		if (try_browser ("kde-open", NULL, url))
 			return;
 	}
 
@@ -1043,8 +1049,8 @@ fe_open_url_inner (const char *url)
 	if (try_browser ("firefox", NULL, url))
 		return;
 
-	/* fresh out of ideas... */
-	try_browser ("mozilla", NULL, url);
+	/* fresh out of ideas... i hear chromium is popular */
+	try_browser ("chromium", NULL, url);
 #endif
 }
 
diff --git a/src/fe-gtk/fkeys.c b/src/fe-gtk/fkeys.c
index 4e0cd4a3..e606dfd5 100644
--- a/src/fe-gtk/fkeys.c
+++ b/src/fe-gtk/fkeys.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c
index a3ef1396..0484de83 100644
--- a/src/fe-gtk/gtkutil.c
+++ b/src/fe-gtk/gtkutil.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 #define _FILE_OFFSET_BITS 64 /* allow selection of large files */
 #include <stdio.h>
diff --git a/src/fe-gtk/ignoregui.c b/src/fe-gtk/ignoregui.c
index 6531bd27..dca4384b 100644
--- a/src/fe-gtk/ignoregui.c
+++ b/src/fe-gtk/ignoregui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index e5f79abd..a52aa9d4 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdlib.h>
@@ -498,10 +498,6 @@ fe_set_title (session *sess)
 static gboolean
 mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata)
 {
-	prefs.hex_gui_win_state = 0;
-	if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
-		prefs.hex_gui_win_state = 1;
-
 	if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) &&
 		 (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
 		 prefs.hex_gui_tray_minimize && !hextray_mode ())
@@ -510,6 +506,10 @@ mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata
 		gtk_window_deiconify (wid);
 	}
 
+	prefs.hex_gui_win_state = 0;
+	if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
+		prefs.hex_gui_win_state = 1;
+
 	return FALSE;
 }
 
diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c
index 3daf42c8..6fd62509 100644
--- a/src/fe-gtk/menu.c
+++ b/src/fe-gtk/menu.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/notifygui.c b/src/fe-gtk/notifygui.c
index 7daf2484..0559734c 100644
--- a/src/fe-gtk/notifygui.c
+++ b/src/fe-gtk/notifygui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/palette.c b/src/fe-gtk/palette.c
index cd01c097..7507cbf4 100644
--- a/src/fe-gtk/palette.c
+++ b/src/fe-gtk/palette.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/pixmaps.c b/src/fe-gtk/pixmaps.c
index e0e0a149..419ef4c1 100644
--- a/src/fe-gtk/pixmaps.c
+++ b/src/fe-gtk/pixmaps.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c
index ccd00f97..c5109fb8 100644
--- a/src/fe-gtk/plugin-tray.c
+++ b/src/fe-gtk/plugin-tray.c
@@ -377,6 +377,7 @@ tray_toggle_visibility (gboolean force_hide)
 {
 	static int x, y;
 	static GdkScreen *screen;
+	static int maximized;
 	GtkWindow *win;
 
 	if (!sticon)
@@ -403,6 +404,7 @@ tray_toggle_visibility (gboolean force_hide)
 			hexchat_command (ph, "ALLSERV AWAY");
 		gtk_window_get_position (win, &x, &y);
 		screen = gtk_window_get_screen (win);
+		maximized = prefs.hex_gui_win_state;
 		gtk_widget_hide (GTK_WIDGET (win));
 	}
 	else
@@ -411,6 +413,8 @@ tray_toggle_visibility (gboolean force_hide)
 			hexchat_command (ph, "ALLSERV BACK");
 		gtk_window_set_screen (win, screen);
 		gtk_window_move (win, x, y);
+		if (maximized)
+			gtk_window_maximize (win);
 		gtk_widget_show (GTK_WIDGET (win));
 		gtk_window_present (win);
 	}
diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c
index f10e439c..293535cc 100644
--- a/src/fe-gtk/plugingui.c
+++ b/src/fe-gtk/plugingui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <string.h>
@@ -25,6 +25,7 @@
 #include <gtk/gtkdialog.h>
 #include <gtk/gtkstock.h>
 #include <gtk/gtkbox.h>
+#include <gtk/gtkhbbox.h>
 #include <gtk/gtkscrolledwindow.h>
 
 #include <gtk/gtkliststore.h>
diff --git a/src/fe-gtk/rawlog.c b/src/fe-gtk/rawlog.c
index e37b3ba0..6764034f 100644
--- a/src/fe-gtk/rawlog.c
+++ b/src/fe-gtk/rawlog.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/search.c b/src/fe-gtk/search.c
index e0839f79..41a1a642 100644
--- a/src/fe-gtk/search.c
+++ b/src/fe-gtk/search.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/sexy-iso-codes.c b/src/fe-gtk/sexy-iso-codes.c
index 1e963cc1..9dc20105 100644
--- a/src/fe-gtk/sexy-iso-codes.c
+++ b/src/fe-gtk/sexy-iso-codes.c
@@ -18,9 +18,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA  02111-1307, USA.
- *
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #ifdef WIN32
diff --git a/src/fe-gtk/sexy-iso-codes.h b/src/fe-gtk/sexy-iso-codes.h
index e5f37162..771c8eb0 100644
--- a/src/fe-gtk/sexy-iso-codes.h
+++ b/src/fe-gtk/sexy-iso-codes.h
@@ -18,9 +18,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA  02111-1307, USA.
- *
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #ifndef GTKSPELL_ISO_CODES_H
diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c
index 4dabc28a..48a6c383 100644
--- a/src/fe-gtk/sexy-spell-entry.c
+++ b/src/fe-gtk/sexy-spell-entry.c
@@ -16,8 +16,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA  02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 #ifdef HAVE_CONFIG_H
 # include "config.h"
diff --git a/src/fe-gtk/sexy-spell-entry.h b/src/fe-gtk/sexy-spell-entry.h
index 61d1b795..23f01af5 100644
--- a/src/fe-gtk/sexy-spell-entry.h
+++ b/src/fe-gtk/sexy-spell-entry.h
@@ -15,8 +15,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA  02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 #ifndef _SEXY_SPELL_ENTRY_H_
 #define _SEXY_SPELL_ENTRY_H_
diff --git a/src/fe-gtk/textgui.c b/src/fe-gtk/textgui.c
index 7d4c38bd..7e006e69 100644
--- a/src/fe-gtk/textgui.c
+++ b/src/fe-gtk/textgui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/urlgrab.c b/src/fe-gtk/urlgrab.c
index 89ea374f..b8a40a35 100644
--- a/src/fe-gtk/urlgrab.c
+++ b/src/fe-gtk/urlgrab.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c
index 89ddd49b..8405695b 100644
--- a/src/fe-gtk/userlistgui.c
+++ b/src/fe-gtk/userlistgui.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c
index 611bf090..e8419b5a 100644
--- a/src/fe-gtk/xtext.c
+++ b/src/fe-gtk/xtext.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  * =========================================================================
  *
  * xtext, the text widget used by X-Chat.
diff --git a/src/fe-text/fe-text.c b/src/fe-text/fe-text.c
index 6b57eec6..bd9d2d1a 100644
--- a/src/fe-text/fe-text.c
+++ b/src/fe-text/fe-text.c
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #include <stdio.h>
diff --git a/src/htm/Main.cs b/src/htm/Main.cs
index 6a7cd4d2..cc33e206 100644
--- a/src/htm/Main.cs
+++ b/src/htm/Main.cs
@@ -15,7 +15,7 @@
  *

  * You should have received a copy of the GNU General Public License

  * along with this program; if not, write to the Free Software

- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

  */

 

 using System;

diff --git a/win32/installer/hexchat-x64.skel.iss b/win32/installer/hexchat-x64.skel.iss
index e680a060..2be6c704 100644
--- a/win32/installer/hexchat-x64.skel.iss
+++ b/win32/installer/hexchat-x64.skel.iss
@@ -1,281 +1,282 @@
-AppName=HexChat (x64)

-AppPublisher=HexChat

-AppPublisherURL=http://www.hexchat.org/

-AppCopyright=Copyright (C) 1998-2010 Peter Zelezny

-AppSupportURL=https://github.com/hexchat/hexchat/issues

-AppUpdatesURL=http://www.hexchat.org/home/downloads

-LicenseFile=share\doc\hexchat\COPYING

-UninstallDisplayIcon={app}\hexchat.exe

-UninstallDisplayName=HexChat (x64)

-DefaultDirName={pf}\HexChat

-DefaultGroupName=HexChat

-DisableProgramGroupPage=yes

-SolidCompression=yes

-Compression=lzma2/ultra64

-SourceDir=..\rel

-OutputDir=..

-FlatComponentsList=no

-PrivilegesRequired=none

-ShowComponentSizes=no

-CreateUninstallRegKey=not IsTaskSelected('portable')

-Uninstallable=not IsTaskSelected('portable')

-ArchitecturesAllowed=x64

-ArchitecturesInstallIn64BitMode=x64

-MinVersion=5.2

-

-[Types]

-Name: "normal"; Description: "Normal Installation"

-Name: "minimal"; Description: "Minimal Installation"

-Name: "custom"; Description: "Custom Installation"; Flags: iscustom

-

-[Components]

-Name: "libs"; Description: "HexChat"; Types: normal minimal custom; Flags: fixed

-Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal custom; Flags: disablenouninstallwarning

-Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning

-Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: custom; Flags: disablenouninstallwarning

-Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning

-;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\doat"; Description: "Do At"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\exec"; Description: "Exec"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\sysinfo"; Description: "SysInfo"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\upd"; Description: "Update Checker"; Types: normal custom; Flags: disablenouninstallwarning

-Name: "plugins\winamp"; Description: "Winamp"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\lua"; Description: "Lua"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs\perl"; Description: "Perl"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs\python"; Description: "Python"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\tcl"; Description: "Tcl"; Types: custom; Flags: disablenouninstallwarning

-

-[Tasks]

-Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked

-

-;Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl

-;Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl

-;Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl

-

-[Registry]

-Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable

-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable

-

-Root: HKCR; Subkey: ".hct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "HexChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: "HexChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-

-[Run]

-Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent

-

-[Files]

-; Add the ISSkin DLL used for skinning Inno Setup installations.

-Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy

-

-; Add the Visual Style resource contains resources used for skinning,

-; you can also use Microsoft Visual Styles (*.msstyles) resources.

-Source: watercolorlite-blue.cjstyles; DestDir: {tmp}; Flags: dontcopy

-

-Source: "portable-mode"; DestDir: "{app}"; Tasks: portable

-

-Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "readme.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme

-;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines

-Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs

-Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs

-Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations

-

-Source: "atk-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gdk_pixbuf-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gio-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "glib-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libintl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libpng15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-;Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pango-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangocairo-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangoft2-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangowin32-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pixman-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-

-Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs

-

-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs

-

-;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "plugins\hcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines

-;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines

-

-Source: "plugins\hcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum

-Source: "plugins\hcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns

-Source: "plugins\hcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat

-Source: "plugins\hcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec

-Source: "plugins\hcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim

-Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo

-Source: "plugins\hcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo

-Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd

-Source: "plugins\hcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd

-Source: "plugins\hcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp

-Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\sysinfo

-Source: "plugins\hcsysinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\sysinfo

-Source: "plugins\hcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa

-

-;Source: "plugins\hclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua

-Source: "plugins\hcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python

-;Source: "plugins\hctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl

-

-;Source: "plugins\hcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512

-;Source: "plugins\hcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514

-Source: "plugins\hcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl

-; Tasks: perl516

-

-Source: "hexchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "hexchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext

-Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm

-

-[Icons]

-Name: "{group}\HexChat (x64)"; Filename: "{app}\hexchat.exe"; Tasks: not portable

-Name: "{group}\HexChat (x64) ChangeLog"; Filename: "{app}\changelog.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 165; Tasks: not portable

-Name: "{group}\HexChat (x64) ReadMe"; Filename: "{app}\readme.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 23; Tasks: not portable

-Name: "{group}\HexChat-Text (x64)"; Filename: "{app}\hexchat-text.exe"; Components: xctext; Tasks: not portable

-Name: "{group}\HexChat Theme Manager (x64)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable

-Name: "{group}\Uninstall HexChat (x64)"; Filename: "{uninstallexe}"; Tasks: not portable

-

-[Messages]

-BeveledLabel= HexChat

-

-[Code]

-/////////////////////////////////////////////////////////////////////

-procedure InitializeWizard;

-begin

-	WizardForm.LicenseAcceptedRadio.Checked := True;

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-// these are required for x86->x64 or reverse upgrades

-/////////////////////////////////////////////////////////////////////

-function GetUninstallString(): String;

-var

-	sUnInstPath: String;

-	sUnInstallString: String;

-begin

-	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x64)_is1');

-	sUnInstallString := '';

-	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then

-		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);

-	Result := sUnInstallString;

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-function IsUpgrade(): Boolean;

-begin

-	Result := (GetUninstallString() <> '');

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-function UnInstallOldVersion(): Integer;

-var

-	sUnInstallString: String;

-	iResultCode: Integer;

-begin

-// Return Values:

-// 1 - uninstall string is empty

-// 2 - error executing the UnInstallString

-// 3 - successfully executed the UnInstallString

-

-	// default return value

-	Result := 0;

-

-	// get the uninstall string of the old app

-	sUnInstallString := GetUninstallString();

-	if sUnInstallString <> '' then begin

-		sUnInstallString := RemoveQuotes(sUnInstallString);

-		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then

-			Result := 3

-		else

-			Result := 2;

-	end else

-		Result := 1;

-end;

-

-/////////////////////////////////////////////////////////////////////

-procedure CurStepChanged(CurStep: TSetupStep);

-begin

-	if not (IsTaskSelected('portable')) then

-	begin

-		if (CurStep=ssInstall) then

-		begin

-			if (IsUpgrade()) then

-			begin

-				UnInstallOldVersion();

-			end;

-			DeleteFile(ExpandConstant('{app}\portable-mode'));

-		end;

-	end;

-end;

-

-/////////////////////////////////////////////////////////////////////

-// Importing LoadSkin API from ISSkin.DLL

-procedure LoadSkin(lpszPath: String; lpszIniFileName: String);

-external 'LoadSkin@files:isskinu.dll stdcall';

-

-// Importing UnloadSkin API from ISSkin.DLL

-procedure UnloadSkin();

-external 'UnloadSkin@files:isskinu.dll stdcall';

-

-// Importing ShowWindow Windows API from User32.DLL

-function ShowWindow(hWnd: Integer; uType: Integer): Integer;

-external 'ShowWindow@user32.dll stdcall';

-

-function InitializeSetup(): Boolean;

-begin

-  ExtractTemporaryFile('watercolorlite-blue.cjstyles');

-  LoadSkin(ExpandConstant('{tmp}\watercolorlite-blue.cjstyles'), '');

-  Result := True;

-end;

-

-procedure DeinitializeSetup();

-begin

-  // Hide Window before unloading skin so user does not get

-  // a glimpse of an unskinned window before it is closed.

-  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);

-  UnloadSkin();

-end;

+AppName=HexChat (x64)
+AppPublisher=HexChat
+AppPublisherURL=http://www.hexchat.org/
+AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
+AppSupportURL=https://github.com/hexchat/hexchat/issues
+AppUpdatesURL=http://www.hexchat.org/home/downloads
+LicenseFile=share\doc\hexchat\COPYING
+UninstallDisplayIcon={app}\hexchat.exe
+UninstallDisplayName=HexChat (x64)
+DefaultDirName={pf}\HexChat
+DefaultGroupName=HexChat
+DisableProgramGroupPage=yes
+SolidCompression=yes
+Compression=lzma2/ultra64
+SourceDir=..\rel
+OutputDir=..
+FlatComponentsList=no
+PrivilegesRequired=none
+ShowComponentSizes=no
+CreateUninstallRegKey=not IsTaskSelected('portable')
+Uninstallable=not IsTaskSelected('portable')
+ArchitecturesAllowed=x64
+ArchitecturesInstallIn64BitMode=x64
+MinVersion=5.2
+
+[Types]
+Name: "normal"; Description: "Normal Installation"
+Name: "minimal"; Description: "Minimal Installation"
+Name: "custom"; Description: "Custom Installation"; Flags: iscustom
+
+[Components]
+Name: "libs"; Description: "HexChat"; Types: normal minimal custom; Flags: fixed
+Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal custom; Flags: disablenouninstallwarning
+Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning
+Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: custom; Flags: disablenouninstallwarning
+Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning
+;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\doat"; Description: "Do At"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\exec"; Description: "Exec"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\sysinfo"; Description: "SysInfo"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\upd"; Description: "Update Checker"; Types: normal custom; Flags: disablenouninstallwarning
+Name: "plugins\winamp"; Description: "Winamp"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\lua"; Description: "Lua"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs\perl"; Description: "Perl"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs\python"; Description: "Python"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\tcl"; Description: "Tcl"; Types: custom; Flags: disablenouninstallwarning
+
+[Tasks]
+Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
+
+;Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
+;Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+;Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+
+[Registry]
+Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
+
+Root: HKCR; Subkey: ".hct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "HexChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: "HexChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+
+[Run]
+Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
+Filename: "https://github.com/hexchat/hexchat/blob/master/share/doc/changelog.md"; Description: "Open online changelog"; Flags: shellexec runasoriginaluser postinstall skipifsilent
+
+[Files]
+; Add the ISSkin DLL used for skinning Inno Setup installations.
+Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
+
+; Add the Visual Style resource contains resources used for skinning,
+; you can also use Microsoft Visual Styles (*.msstyles) resources.
+Source: watercolorlite-blue.cjstyles; DestDir: {tmp}; Flags: dontcopy
+
+Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
+
+Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "readme.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme
+;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
+Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+
+Source: "atk-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gdk_pixbuf-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gio-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "glib-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libintl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpng15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pango-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangocairo-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangoft2-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangowin32-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pixman-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+
+Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
+
+Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+
+;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "plugins\hcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
+;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
+
+Source: "plugins\hcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
+Source: "plugins\hcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
+Source: "plugins\hcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
+Source: "plugins\hcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
+Source: "plugins\hcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
+Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
+Source: "plugins\hcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
+Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\hcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\hcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
+Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\sysinfo
+Source: "plugins\hcsysinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\sysinfo
+Source: "plugins\hcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
+
+;Source: "plugins\hclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
+Source: "plugins\hcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
+;Source: "plugins\hctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
+
+;Source: "plugins\hcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
+;Source: "plugins\hcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
+Source: "plugins\hcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl
+; Tasks: perl516
+
+Source: "hexchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "hexchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm
+
+[Icons]
+Name: "{group}\HexChat (x64)"; Filename: "{app}\hexchat.exe"; Tasks: not portable
+Name: "{group}\HexChat (x64) ChangeLog"; Filename: "{app}\changelog.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 165; Tasks: not portable
+Name: "{group}\HexChat (x64) ReadMe"; Filename: "{app}\readme.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 23; Tasks: not portable
+Name: "{group}\HexChat-Text (x64)"; Filename: "{app}\hexchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\HexChat Theme Manager (x64)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable
+Name: "{group}\Uninstall HexChat (x64)"; Filename: "{uninstallexe}"; Tasks: not portable
+
+[Messages]
+BeveledLabel= HexChat
+
+[Code]
+/////////////////////////////////////////////////////////////////////
+procedure InitializeWizard;
+begin
+	WizardForm.LicenseAcceptedRadio.Checked := True;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+// these are required for x86->x64 or reverse upgrades
+/////////////////////////////////////////////////////////////////////
+function GetUninstallString(): String;
+var
+	sUnInstPath: String;
+	sUnInstallString: String;
+begin
+	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x64)_is1');
+	sUnInstallString := '';
+	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
+		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
+	Result := sUnInstallString;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function IsUpgrade(): Boolean;
+begin
+	Result := (GetUninstallString() <> '');
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function UnInstallOldVersion(): Integer;
+var
+	sUnInstallString: String;
+	iResultCode: Integer;
+begin
+// Return Values:
+// 1 - uninstall string is empty
+// 2 - error executing the UnInstallString
+// 3 - successfully executed the UnInstallString
+
+	// default return value
+	Result := 0;
+
+	// get the uninstall string of the old app
+	sUnInstallString := GetUninstallString();
+	if sUnInstallString <> '' then begin
+		sUnInstallString := RemoveQuotes(sUnInstallString);
+		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
+			Result := 3
+		else
+			Result := 2;
+	end else
+		Result := 1;
+end;
+
+/////////////////////////////////////////////////////////////////////
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+	if not (IsTaskSelected('portable')) then
+	begin
+		if (CurStep=ssInstall) then
+		begin
+			if (IsUpgrade()) then
+			begin
+				UnInstallOldVersion();
+			end;
+			DeleteFile(ExpandConstant('{app}\portable-mode'));
+		end;
+	end;
+end;
+
+/////////////////////////////////////////////////////////////////////
+// Importing LoadSkin API from ISSkin.DLL
+procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
+external 'LoadSkin@files:isskinu.dll stdcall';
+
+// Importing UnloadSkin API from ISSkin.DLL
+procedure UnloadSkin();
+external 'UnloadSkin@files:isskinu.dll stdcall';
+
+// Importing ShowWindow Windows API from User32.DLL
+function ShowWindow(hWnd: Integer; uType: Integer): Integer;
+external 'ShowWindow@user32.dll stdcall';
+
+function InitializeSetup(): Boolean;
+begin
+  ExtractTemporaryFile('watercolorlite-blue.cjstyles');
+  LoadSkin(ExpandConstant('{tmp}\watercolorlite-blue.cjstyles'), '');
+  Result := True;
+end;
+
+procedure DeinitializeSetup();
+begin
+  // Hide Window before unloading skin so user does not get
+  // a glimpse of an unskinned window before it is closed.
+  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
+  UnloadSkin();
+end;
diff --git a/win32/installer/hexchat-x86.skel.iss b/win32/installer/hexchat-x86.skel.iss
index 77f623f8..85c43e91 100644
--- a/win32/installer/hexchat-x86.skel.iss
+++ b/win32/installer/hexchat-x86.skel.iss
@@ -1,280 +1,281 @@
-AppName=HexChat (x86)

-AppPublisher=HexChat

-AppPublisherURL=http://www.hexchat.org/

-AppCopyright=Copyright (C) 1998-2010 Peter Zelezny

-AppSupportURL=https://github.com/hexchat/hexchat/issues

-AppUpdatesURL=http://www.hexchat.org/home/downloads

-LicenseFile=share\doc\hexchat\COPYING

-UninstallDisplayIcon={app}\hexchat.exe

-UninstallDisplayName=HexChat (x86)

-DefaultDirName={pf}\HexChat

-DefaultGroupName=HexChat

-DisableProgramGroupPage=yes

-SolidCompression=yes

-Compression=lzma2/ultra64

-SourceDir=..\rel

-OutputDir=..

-FlatComponentsList=no

-PrivilegesRequired=none

-ShowComponentSizes=no

-CreateUninstallRegKey=not IsTaskSelected('portable')

-Uninstallable=not IsTaskSelected('portable')

-ArchitecturesAllowed=x86 x64

-MinVersion=5.1

-

-[Types]

-Name: "normal"; Description: "Normal Installation"

-Name: "minimal"; Description: "Minimal Installation"

-Name: "custom"; Description: "Custom Installation"; Flags: iscustom

-

-[Components]

-Name: "libs"; Description: "HexChat"; Types: normal minimal custom; Flags: fixed

-Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal custom; Flags: disablenouninstallwarning

-Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning

-Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: custom; Flags: disablenouninstallwarning

-Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning

-;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\doat"; Description: "Do At"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\exec"; Description: "Exec"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\sysinfo"; Description: "SysInfo"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\upd"; Description: "Update Checker"; Types: normal custom; Flags: disablenouninstallwarning

-Name: "plugins\winamp"; Description: "Winamp"; Types: custom; Flags: disablenouninstallwarning

-Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\lua"; Description: "Lua"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs\perl"; Description: "Perl"; Types: custom; Flags: disablenouninstallwarning

-Name: "langs\python"; Description: "Python"; Types: custom; Flags: disablenouninstallwarning

-;Name: "langs\tcl"; Description: "Tcl"; Types: custom; Flags: disablenouninstallwarning

-

-[Tasks]

-Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked

-

-;Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl

-;Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl

-;Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl

-

-[Registry]

-Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable

-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable

-Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable

-

-Root: HKCR; Subkey: ".hct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "HexChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: "HexChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable

-

-[Run]

-Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent

-

-[Files]

-; Add the ISSkin DLL used for skinning Inno Setup installations.

-Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy

-

-; Add the Visual Style resource contains resources used for skinning,

-; you can also use Microsoft Visual Styles (*.msstyles) resources.

-Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy

-

-Source: "portable-mode"; DestDir: "{app}"; Tasks: portable

-

-Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "readme.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme

-;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines

-Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs

-Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs

-Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations

-

-Source: "atk-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gdk_pixbuf-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gio-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "glib-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libintl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libpng15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-;Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pango-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangocairo-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangoft2-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pangowin32-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "pixman-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-

-Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs

-

-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs

-

-;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "plugins\hcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines

-;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines

-;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines

-

-Source: "plugins\hcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum

-Source: "plugins\hcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns

-Source: "plugins\hcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat

-Source: "plugins\hcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec

-Source: "plugins\hcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim

-Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo

-Source: "plugins\hcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo

-Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd

-Source: "plugins\hcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd

-Source: "plugins\hcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp

-Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\sysinfo

-Source: "plugins\hcsysinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\sysinfo

-Source: "plugins\hcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa

-

-;Source: "plugins\hclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua

-Source: "plugins\hcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python

-;Source: "plugins\hctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl

-

-;Source: "plugins\hcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512

-;Source: "plugins\hcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514

-Source: "plugins\hcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl

-; Tasks: perl516

-

-Source: "hexchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs

-Source: "hexchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext

-Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm

-

-[Icons]

-Name: "{group}\HexChat (x86)"; Filename: "{app}\hexchat.exe"; Tasks: not portable

-Name: "{group}\HexChat (x86) ChangeLog"; Filename: "{app}\changelog.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 165; Tasks: not portable

-Name: "{group}\HexChat (x86) ReadMe"; Filename: "{app}\readme.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 23; Tasks: not portable

-Name: "{group}\HexChat-Text (x86)"; Filename: "{app}\hexchat-text.exe"; Components: xctext; Tasks: not portable

-Name: "{group}\HexChat Theme Manager (x86)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable

-Name: "{group}\Uninstall HexChat (x86)"; Filename: "{uninstallexe}"; Tasks: not portable

-

-[Messages]

-BeveledLabel= HexChat

-

-[Code]

-/////////////////////////////////////////////////////////////////////

-procedure InitializeWizard;

-begin

-	WizardForm.LicenseAcceptedRadio.Checked := True;

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-// these are required for x86->x64 or reverse upgrades

-/////////////////////////////////////////////////////////////////////

-function GetUninstallString(): String;

-var

-	sUnInstPath: String;

-	sUnInstallString: String;

-begin

-	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x86)_is1');

-	sUnInstallString := '';

-	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then

-		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);

-	Result := sUnInstallString;

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-function IsUpgrade(): Boolean;

-begin

-	Result := (GetUninstallString() <> '');

-end;

-

-

-/////////////////////////////////////////////////////////////////////

-function UnInstallOldVersion(): Integer;

-var

-	sUnInstallString: String;

-	iResultCode: Integer;

-begin

-// Return Values:

-// 1 - uninstall string is empty

-// 2 - error executing the UnInstallString

-// 3 - successfully executed the UnInstallString

-

-	// default return value

-	Result := 0;

-

-	// get the uninstall string of the old app

-	sUnInstallString := GetUninstallString();

-	if sUnInstallString <> '' then begin

-		sUnInstallString := RemoveQuotes(sUnInstallString);

-		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then

-			Result := 3

-		else

-			Result := 2;

-	end else

-		Result := 1;

-end;

-

-/////////////////////////////////////////////////////////////////////

-procedure CurStepChanged(CurStep: TSetupStep);

-begin

-	if not (IsTaskSelected('portable')) then

-	begin

-		if (CurStep=ssInstall) then

-		begin

-			if (IsUpgrade()) then

-			begin

-				UnInstallOldVersion();

-			end;

-			DeleteFile(ExpandConstant('{app}\portable-mode'));

-		end;

-	end;

-end;

-

-/////////////////////////////////////////////////////////////////////

-// Importing LoadSkin API from ISSkin.DLL

-procedure LoadSkin(lpszPath: String; lpszIniFileName: String);

-external 'LoadSkin@files:isskinu.dll stdcall';

-

-// Importing UnloadSkin API from ISSkin.DLL

-procedure UnloadSkin();

-external 'UnloadSkin@files:isskinu.dll stdcall';

-

-// Importing ShowWindow Windows API from User32.DLL

-function ShowWindow(hWnd: Integer; uType: Integer): Integer;

-external 'ShowWindow@user32.dll stdcall';

-

-function InitializeSetup(): Boolean;

-begin

-  ExtractTemporaryFile('watercolorlite-green.cjstyles');

-  LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), '');

-  Result := True;

-end;

-

-procedure DeinitializeSetup();

-begin

-  // Hide Window before unloading skin so user does not get

-  // a glimpse of an unskinned window before it is closed.

-  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);

-  UnloadSkin();

-end;

+AppName=HexChat (x86)
+AppPublisher=HexChat
+AppPublisherURL=http://www.hexchat.org/
+AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
+AppSupportURL=https://github.com/hexchat/hexchat/issues
+AppUpdatesURL=http://www.hexchat.org/home/downloads
+LicenseFile=share\doc\hexchat\COPYING
+UninstallDisplayIcon={app}\hexchat.exe
+UninstallDisplayName=HexChat (x86)
+DefaultDirName={pf}\HexChat
+DefaultGroupName=HexChat
+DisableProgramGroupPage=yes
+SolidCompression=yes
+Compression=lzma2/ultra64
+SourceDir=..\rel
+OutputDir=..
+FlatComponentsList=no
+PrivilegesRequired=none
+ShowComponentSizes=no
+CreateUninstallRegKey=not IsTaskSelected('portable')
+Uninstallable=not IsTaskSelected('portable')
+ArchitecturesAllowed=x86 x64
+MinVersion=5.1
+
+[Types]
+Name: "normal"; Description: "Normal Installation"
+Name: "minimal"; Description: "Minimal Installation"
+Name: "custom"; Description: "Custom Installation"; Flags: iscustom
+
+[Components]
+Name: "libs"; Description: "HexChat"; Types: normal minimal custom; Flags: fixed
+Name: "gtktheme"; Description: "GTK+ Theme"; Types: normal custom; Flags: disablenouninstallwarning
+Name: "xctext"; Description: "HexChat-Text"; Types: custom; Flags: disablenouninstallwarning
+Name: "xtm"; Description: "HexChat Theme Manager (Requires .NET 4.0)"; Types: custom; Flags: disablenouninstallwarning
+Name: "translations"; Description: "Translations"; Types: normal custom; Flags: disablenouninstallwarning
+;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins"; Description: "Plugins"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\checksum"; Description: "Checksum"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\dns"; Description: "DNS"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\doat"; Description: "Do At"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\exec"; Description: "Exec"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\sysinfo"; Description: "SysInfo"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\upd"; Description: "Update Checker"; Types: normal custom; Flags: disablenouninstallwarning
+Name: "plugins\winamp"; Description: "Winamp"; Types: custom; Flags: disablenouninstallwarning
+Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs"; Description: "Language Interfaces"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\lua"; Description: "Lua"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs\perl"; Description: "Perl"; Types: custom; Flags: disablenouninstallwarning
+Name: "langs\python"; Description: "Python"; Types: custom; Flags: disablenouninstallwarning
+;Name: "langs\tcl"; Description: "Tcl"; Types: custom; Flags: disablenouninstallwarning
+
+[Tasks]
+Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
+
+;Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
+;Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+;Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+
+[Registry]
+Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\hexchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
+
+Root: HKCR; Subkey: ".hct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: ""; ValueData: "HexChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct"; ValueType: string; ValueName: "HexChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+
+[Run]
+Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
+Filename: "https://github.com/hexchat/hexchat/blob/master/share/doc/changelog.md"; Description: "Open online changelog"; Flags: shellexec runasoriginaluser postinstall skipifsilent
+
+[Files]
+; Add the ISSkin DLL used for skinning Inno Setup installations.
+Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
+
+; Add the Visual Style resource contains resources used for skinning,
+; you can also use Microsoft Visual Styles (*.msstyles) resources.
+Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy
+
+Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
+
+Source: "changelog.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "readme.url"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: gtktheme
+;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
+Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+
+Source: "atk-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gdk_pixbuf-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gio-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "glib-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libintl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpng15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pango-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangocairo-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangoft2-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pangowin32-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "pixman-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+
+Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
+
+Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+
+;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "plugins\hcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
+;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
+
+Source: "plugins\hcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
+Source: "plugins\hcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
+Source: "plugins\hcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
+Source: "plugins\hcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
+Source: "plugins\hcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
+Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
+Source: "plugins\hcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
+Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\hcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\hcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
+Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\sysinfo
+Source: "plugins\hcsysinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\sysinfo
+Source: "plugins\hcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
+
+;Source: "plugins\hclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
+Source: "plugins\hcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
+;Source: "plugins\hctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
+
+;Source: "plugins\hcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
+;Source: "plugins\hcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
+Source: "plugins\hcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "hcperl.dll"; Flags: ignoreversion; Components: langs\perl
+; Tasks: perl516
+
+Source: "hexchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "hexchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm
+
+[Icons]
+Name: "{group}\HexChat (x86)"; Filename: "{app}\hexchat.exe"; Tasks: not portable
+Name: "{group}\HexChat (x86) ChangeLog"; Filename: "{app}\changelog.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 165; Tasks: not portable
+Name: "{group}\HexChat (x86) ReadMe"; Filename: "{app}\readme.url"; IconFilename: "{sys}\shell32.dll"; IconIndex: 23; Tasks: not portable
+Name: "{group}\HexChat-Text (x86)"; Filename: "{app}\hexchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\HexChat Theme Manager (x86)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable
+Name: "{group}\Uninstall HexChat (x86)"; Filename: "{uninstallexe}"; Tasks: not portable
+
+[Messages]
+BeveledLabel= HexChat
+
+[Code]
+/////////////////////////////////////////////////////////////////////
+procedure InitializeWizard;
+begin
+	WizardForm.LicenseAcceptedRadio.Checked := True;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+// these are required for x86->x64 or reverse upgrades
+/////////////////////////////////////////////////////////////////////
+function GetUninstallString(): String;
+var
+	sUnInstPath: String;
+	sUnInstallString: String;
+begin
+	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\HexChat (x86)_is1');
+	sUnInstallString := '';
+	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
+		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
+	Result := sUnInstallString;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function IsUpgrade(): Boolean;
+begin
+	Result := (GetUninstallString() <> '');
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function UnInstallOldVersion(): Integer;
+var
+	sUnInstallString: String;
+	iResultCode: Integer;
+begin
+// Return Values:
+// 1 - uninstall string is empty
+// 2 - error executing the UnInstallString
+// 3 - successfully executed the UnInstallString
+
+	// default return value
+	Result := 0;
+
+	// get the uninstall string of the old app
+	sUnInstallString := GetUninstallString();
+	if sUnInstallString <> '' then begin
+		sUnInstallString := RemoveQuotes(sUnInstallString);
+		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
+			Result := 3
+		else
+			Result := 2;
+	end else
+		Result := 1;
+end;
+
+/////////////////////////////////////////////////////////////////////
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+	if not (IsTaskSelected('portable')) then
+	begin
+		if (CurStep=ssInstall) then
+		begin
+			if (IsUpgrade()) then
+			begin
+				UnInstallOldVersion();
+			end;
+			DeleteFile(ExpandConstant('{app}\portable-mode'));
+		end;
+	end;
+end;
+
+/////////////////////////////////////////////////////////////////////
+// Importing LoadSkin API from ISSkin.DLL
+procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
+external 'LoadSkin@files:isskinu.dll stdcall';
+
+// Importing UnloadSkin API from ISSkin.DLL
+procedure UnloadSkin();
+external 'UnloadSkin@files:isskinu.dll stdcall';
+
+// Importing ShowWindow Windows API from User32.DLL
+function ShowWindow(hWnd: Integer; uType: Integer): Integer;
+external 'ShowWindow@user32.dll stdcall';
+
+function InitializeSetup(): Boolean;
+begin
+  ExtractTemporaryFile('watercolorlite-green.cjstyles');
+  LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), '');
+  Result := True;
+end;
+
+procedure DeinitializeSetup();
+begin
+  // Hide Window before unloading skin so user does not get
+  // a glimpse of an unskinned window before it is closed.
+  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
+  UnloadSkin();
+end;