gnome-mud r833 - in trunk: . po src src/handlers src/zmp ui



Author: lharris
Date: Wed Mar 25 22:12:22 2009
New Revision: 833
URL: http://svn.gnome.org/viewvc/gnome-mud?rev=833&view=rev

Log:
Numerous bug fixes, now compiles cleanly with -Wall

Added:
   trunk/src/mud-trigger.c
   trunk/src/mud-trigger.h
Removed:
   trunk/src/mud-preferences-window.c
   trunk/src/mud-preferences-window.h
Modified:
   trunk/ChangeLog
   trunk/configure.ac
   trunk/po/POTFILES.in
   trunk/src/Makefile.am
   trunk/src/debug-logger.c
   trunk/src/gnome-mud.c
   trunk/src/handlers/Makefile.am
   trunk/src/handlers/mud-telnet-charset.c
   trunk/src/handlers/mud-telnet-echo.c
   trunk/src/handlers/mud-telnet-eor.c
   trunk/src/handlers/mud-telnet-mccp.c
   trunk/src/handlers/mud-telnet-msp.c
   trunk/src/handlers/mud-telnet-mssp.c
   trunk/src/handlers/mud-telnet-naws.c
   trunk/src/handlers/mud-telnet-new-environ.c
   trunk/src/handlers/mud-telnet-ttype.c
   trunk/src/handlers/mud-telnet-zmp.c
   trunk/src/mud-connection-view.c
   trunk/src/mud-connections.c
   trunk/src/mud-log.c
   trunk/src/mud-parse-alias.c
   trunk/src/mud-parse-base.c
   trunk/src/mud-parse-trigger.c
   trunk/src/mud-profile-manager.c
   trunk/src/mud-profile.c
   trunk/src/mud-regex.c
   trunk/src/mud-subwindow.c
   trunk/src/mud-telnet.c
   trunk/src/mud-tray.c
   trunk/src/mud-window-profile.c
   trunk/src/mud-window.c
   trunk/src/zmp/Makefile.am
   trunk/src/zmp/zmp-core.c
   trunk/src/zmp/zmp-main.c
   trunk/src/zmp/zmp-subwindow.c
   trunk/ui/main.glade
   trunk/ui/prefs.glade

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Wed Mar 25 22:12:22 2009
@@ -57,6 +57,7 @@
 AC_PROG_CC
 AC_PROG_LIBTOOL
 AM_PROG_CC_STDC
+AM_PROG_CC_C_O
 AC_ISC_POSIX
 AC_PROG_LN_S
 AC_PROG_INSTALL

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Wed Mar 25 22:12:22 2009
@@ -3,15 +3,12 @@
 # Please keep this file sorted alphabetically.
 gnome-mud.desktop.in
 gnome-mud.schemas.in
-src/gconf-helper.c
 src/gnome-mud.c
-src/modules.c
-src/modules_api.c
 src/mud-connection-view.c
 src/mud-log.c
 src/mud-telnet-mccp.c
 src/mud-tray.c
-src/mud-preferences-window.c
+src/mud-window-prefs.c
 src/mud-window.c
 src/debug-logger.c
 ui/main.glade

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Wed Mar 25 22:12:22 2009
@@ -17,7 +17,8 @@
 
 gnome_mud_CFLAGS = \
 	$(GMUD_CFLAGS) \
-	$(MSP_CFLAGS)
+	$(MSP_CFLAGS) \
+	-g -Wall -O0
 
 gnome_mud_LDADD = \
 	handlers/libtelnethandlers.la \
@@ -29,6 +30,7 @@
 gnome_mud_SOURCES =				\
 	debug-logger.c				\
 	debug-logger.h				\
+	ecma48.h				\
 	gnome-mud.c				\
 	gnome-mud.h				\
 	gnome-mud-marshallers.c			\
@@ -48,8 +50,6 @@
 	mud-parse-base.h			\
 	mud-parse-trigger.c			\
 	mud-parse-trigger.h			\
-	mud-preferences-window.c		\
-	mud-preferences-window.h		\
 	mud-profile.c				\
 	mud-profile.h				\
 	mud-profile-manager.c			\
@@ -60,10 +60,14 @@
 	mud-subwindow.h				\
 	mud-telnet.c				\
 	mud-telnet.h				\
+	mud-trigger.c				\
+	mud-trigger.h				\
 	mud-tray.c				\
 	mud-tray.h				\
 	mud-window.c				\
 	mud-window.h				\
+	mud-window-prefs.c			\
+	mud-window-prefs.h			\
 	mud-window-profile.c			\
 	mud-window-profile.h			\
 	utils.c					\

Modified: trunk/src/debug-logger.c
==============================================================================
--- trunk/src/debug-logger.c	(original)
+++ trunk/src/debug-logger.c	Wed Mar 25 22:12:22 2009
@@ -28,6 +28,7 @@
 #include <glade/glade-xml.h>
 #include <string.h>
 #include <stdio.h>
+#include <glib/gprintf.h>
 
 #include "debug-logger.h"
 
@@ -929,8 +930,6 @@
 static guint
 debug_logger_insert_handler(DebugLogger *logger, const gchar *domain)
 {
-    g_return_if_fail(IS_DEBUG_LOGGER(logger));
-
     return g_log_set_handler(domain, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL,
             (GLogFunc)debug_logger_log_func, logger);
 }
@@ -940,8 +939,6 @@
 {
     GSList *entry;
 
-    g_return_if_fail(IS_DEBUG_LOGGER(logger));
-
     for(entry = logger->priv->domains; entry != NULL; entry = g_slist_next(entry))
     {
         DomainHandler *handler = entry->data;

Modified: trunk/src/gnome-mud.c
==============================================================================
--- trunk/src/gnome-mud.c	(original)
+++ trunk/src/gnome-mud.c	Wed Mar 25 22:12:22 2009
@@ -100,8 +100,8 @@
 
     gtk_window_set_default_icon_name(GMUD_STOCK_ICON);
 
-    /* Setup debug logging */
-    logger = g_object_new(TYPE_DEBUG_LOGGER, 
+     /*Setup debug logging */
+     logger = g_object_new(TYPE_DEBUG_LOGGER, 
                           "use-color", TRUE,
                           "closeable", FALSE,
                           NULL);
@@ -114,7 +114,7 @@
     debug_logger_create_window(logger);
 #endif
 
-    g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING);
+    //g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING);
 
     /* Let 'er rip */
     window = g_object_new(MUD_TYPE_WINDOW, NULL);

Modified: trunk/src/handlers/Makefile.am
==============================================================================
--- trunk/src/handlers/Makefile.am	(original)
+++ trunk/src/handlers/Makefile.am	Wed Mar 25 22:12:22 2009
@@ -34,7 +34,8 @@
 
 libtelnethandlers_la_CFLAGS = \
 	$(GMUD_CFLAGS) \
-	$(MSP_CFLAGS)
+	$(MSP_CFLAGS) \
+	-g -Wall -O0
 
 libtelnethandlers_la_LDFLAGS =
 

Modified: trunk/src/handlers/mud-telnet-charset.c
==============================================================================
--- trunk/src/handlers/mud-telnet-charset.c	(original)
+++ trunk/src/handlers/mud-telnet-charset.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,9 @@
 #include <glib-object.h>
 #include <glib/gi18n.h>
 #include <gnet.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/handlers/mud-telnet-echo.c
==============================================================================
--- trunk/src/handlers/mud-telnet-echo.c	(original)
+++ trunk/src/handlers/mud-telnet-echo.c	Wed Mar 25 22:12:22 2009
@@ -24,6 +24,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/handlers/mud-telnet-eor.c
==============================================================================
--- trunk/src/handlers/mud-telnet-eor.c	(original)
+++ trunk/src/handlers/mud-telnet-eor.c	Wed Mar 25 22:12:22 2009
@@ -24,6 +24,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/handlers/mud-telnet-mccp.c
==============================================================================
--- trunk/src/handlers/mud-telnet-mccp.c	(original)
+++ trunk/src/handlers/mud-telnet-mccp.c	Wed Mar 25 22:12:22 2009
@@ -28,6 +28,7 @@
 #include <zlib.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-connection-view.h"
@@ -357,10 +358,10 @@
 {
     GString *ret = NULL;
     gint zstatus;
-    gint i;
     MudConnectionView *view;
 
-    g_return_if_fail(MUD_IS_TELNET_MCCP(self));
+    if(!MUD_IS_TELNET_MCCP(self))
+        return NULL;
 
     if(!self->priv->compress_out)
         return NULL;
@@ -386,7 +387,7 @@
         if(zstatus == Z_OK)
         {
             ret = g_string_append_len(ret, 
-                    self->priv->compress_out_buf, 
+                    (gchar *)self->priv->compress_out_buf, 
                     (4096 - self->priv->compress_out->avail_out));
 
             continue;
@@ -395,12 +396,12 @@
         if(zstatus == Z_STREAM_END)
         {
             ret = g_string_append_len(ret, 
-                    self->priv->compress_out_buf, 
+                    (gchar *)self->priv->compress_out_buf, 
                     (4096 - self->priv->compress_out->avail_out));
 
             if(self->priv->compress_out->avail_in > 0)
                 ret = g_string_append_len(ret, 
-                        self->priv->compress_out->next_in, 
+                        (gchar *)self->priv->compress_out->next_in, 
                         self->priv->compress_out->avail_in);
 
             inflateEnd(self->priv->compress_out);

Modified: trunk/src/handlers/mud-telnet-msp.c
==============================================================================
--- trunk/src/handlers/mud-telnet-msp.c	(original)
+++ trunk/src/handlers/mud-telnet-msp.c	Wed Mar 25 22:12:22 2009
@@ -28,6 +28,7 @@
 #include <string.h>
 #include <gst/gst.h>
 #include <ctype.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -369,9 +370,9 @@
 {
     gint count;
     GString *ret = NULL;
-    gchar *temp;
 
-    g_return_if_fail(MUD_IS_TELNET_MSP(self));
+    if(!MUD_IS_TELNET_MSP(self))
+        return NULL;
 
     mud_telnet_msp_parser_reset(self);
 
@@ -984,7 +985,8 @@
     GPatternSpec *regex;
     MudConnectionView *view;
 
-    g_return_if_fail(MUD_IS_TELNET_MSP(self));
+    if(!MUD_IS_TELNET_MSP(self))
+        return FALSE;
 
     g_object_get(self->priv->telnet, "parent-view", &view, NULL);
     g_object_get(view, "mud-name", &mud_name, NULL);

Modified: trunk/src/handlers/mud-telnet-mssp.c
==============================================================================
--- trunk/src/handlers/mud-telnet-mssp.c	(original)
+++ trunk/src/handlers/mud-telnet-mssp.c	Wed Mar 25 22:12:22 2009
@@ -24,6 +24,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -293,6 +294,8 @@
     guint i, state;
     GString *key, *value;
 
+    key = value = NULL;
+
     self = MUD_TELNET_MSSP(handler);
 
     g_return_if_fail(MUD_IS_TELNET_MSSP(self));

Modified: trunk/src/handlers/mud-telnet-naws.c
==============================================================================
--- trunk/src/handlers/mud-telnet-naws.c	(original)
+++ trunk/src/handlers/mud-telnet-naws.c	Wed Mar 25 22:12:22 2009
@@ -26,6 +26,7 @@
 #include <glib/gi18n.h>
 #include <vte/vte.h>
 #include <gnet.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -182,7 +183,6 @@
 mud_telnet_naws_finalize (GObject *object)
 {
     MudTelnetNaws *self;
-    GtkWidget *main_window;
     GObjectClass *parent_class;
 
     self = MUD_TELNET_NAWS(object);
@@ -295,7 +295,6 @@
 mud_telnet_naws_disable(MudTelnetHandler *handler)
 {
     MudTelnetNaws *self;
-    GtkWidget *main_window;
 
     self = MUD_TELNET_NAWS(handler);
 

Modified: trunk/src/handlers/mud-telnet-new-environ.c
==============================================================================
--- trunk/src/handlers/mud-telnet-new-environ.c	(original)
+++ trunk/src/handlers/mud-telnet-new-environ.c	Wed Mar 25 22:12:22 2009
@@ -24,6 +24,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -300,6 +301,8 @@
     guint i, state;
     GString *key, *value;
 
+    key = value = NULL;
+
     self = MUD_TELNET_NEWENVIRON(handler);
 
     g_return_if_fail(MUD_IS_TELNET_NEWENVIRON(self));
@@ -338,7 +341,7 @@
                              * is undefined. */
                             g_string_free(key, TRUE);
 
-                            state == PARSE_STATE_VAR;
+                            state = PARSE_STATE_VAR;
                         }
                         else
                         {

Modified: trunk/src/handlers/mud-telnet-ttype.c
==============================================================================
--- trunk/src/handlers/mud-telnet-ttype.c	(original)
+++ trunk/src/handlers/mud-telnet-ttype.c	Wed Mar 25 22:12:22 2009
@@ -24,6 +24,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/handlers/mud-telnet-zmp.c
==============================================================================
--- trunk/src/handlers/mud-telnet-zmp.c	(original)
+++ trunk/src/handlers/mud-telnet-zmp.c	Wed Mar 25 22:12:22 2009
@@ -27,6 +27,7 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <time.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -301,7 +302,7 @@
                               guint len)
 {
     guint i;
-    gint argc;
+    gint argc = 0;
     gchar **argv;
     GString *args;
     MudZMPFunction zmp_handler = NULL;
@@ -340,7 +341,7 @@
     {
         zmp_handler = mud_zmp_get_function(self, argv[0]);
 
-        if(zmp_handler)
+        if(zmp_handler != NULL)
             zmp_handler(self, argc, argv);
         else
             g_warning("NULL ZMP Command returned.");
@@ -387,7 +388,8 @@
     MudZMPFunction ret = NULL;
     MudZMPCommand *val;
 
-    g_return_if_fail(MUD_IS_TELNET_ZMP(self));
+    if(!MUD_IS_TELNET_ZMP(self))
+        return NULL;
 
     if(!mud_zmp_has_command(self, name))
         return NULL;
@@ -469,7 +471,8 @@
     GList *keys;
     GList *iter;
 
-    g_return_if_fail(MUD_IS_TELNET_ZMP(self));
+    if(!MUD_IS_TELNET_ZMP(self))
+        return FALSE;
 
     keys = g_hash_table_get_keys(self->priv->commands);
 

Modified: trunk/src/mud-connection-view.c
==============================================================================
--- trunk/src/mud-connection-view.c	(original)
+++ trunk/src/mud-connection-view.c	Wed Mar 25 22:12:22 2009
@@ -29,6 +29,7 @@
 #define GNET_EXPERIMENTAL
 #include <gnet.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-connection-view.h"
@@ -39,6 +40,7 @@
 #include "mud-parse-base.h"
 #include "mud-telnet.h"
 #include "mud-subwindow.h"
+#include "utils.h"
 
 #include "handlers/mud-telnet-handlers.h"
 
@@ -152,11 +154,6 @@
 static void mud_connection_view_reread_profile(MudConnectionView *view);
 static void mud_connection_view_feed_text(MudConnectionView *view,
                                           gchar *message);
-static void mud_connection_view_set_size_force_grid (MudConnectionView *window,
-                                                     VteTerminal *screen,
-                                                     gboolean        even_if_mapped,
-                                                     int             force_grid_width,
-                                                     int             force_grid_height);
 
 static void mud_connection_view_update_geometry (MudConnectionView *window);
 
@@ -949,6 +946,7 @@
 
     mud_connection_view_set_profile(view, profile);
     mud_connection_view_reread_profile(view);
+    mud_window_populate_profiles_menu(view->window);
 }
 
 static void
@@ -1094,7 +1092,6 @@
 mud_connection_view_network_event_cb(GConn *conn, GConnEvent *event, gpointer pview)
 {
     gint gag;
-    gint pluggag;
     gchar *buf;
     gboolean temp;
     MudConnectionView *view = MUD_CONNECTION_VIEW(pview);
@@ -1270,65 +1267,6 @@
 
 /* Private Methods */
 static void
-mud_connection_view_set_size_force_grid (MudConnectionView *window,
-                                         VteTerminal *screen,
-                                         gboolean        even_if_mapped,
-                                         int             force_grid_width,
-                                         int             force_grid_height)
-{
-    /* Owen's hack from gnome-terminal */
-    GtkWidget *widget;
-    GtkWidget *app;
-    GtkWidget *mainwindow;
-    GtkRequisition toplevel_request;
-    GtkRequisition widget_request;
-    int w, h;
-    int char_width;
-    int char_height;
-    int grid_width;
-    int grid_height;
-    int xpad;
-    int ypad;
-
-    g_return_if_fail(IS_MUD_CONNECTION_VIEW(window));
-
-    /* be sure our geometry is up-to-date */
-    mud_connection_view_update_geometry (window);
-    widget = GTK_WIDGET (screen);
-
-    g_object_get(window->window, "window", &app, NULL);
-
-    gtk_widget_size_request (app, &toplevel_request);
-    gtk_widget_size_request (widget, &widget_request);
-
-    w = toplevel_request.width - widget_request.width;
-    h = toplevel_request.height - widget_request.height;
-
-    char_width = VTE_TERMINAL(screen)->char_width;
-    char_height = VTE_TERMINAL(screen)->char_height;
-
-    grid_width = VTE_TERMINAL(screen)->column_count;
-    grid_height = VTE_TERMINAL(screen)->row_count;
-
-    if (force_grid_width >= 0)
-        grid_width = force_grid_width;
-    if (force_grid_height >= 0)
-        grid_height = force_grid_height;
-
-    vte_terminal_get_padding (VTE_TERMINAL (screen), &xpad, &ypad);
-
-    w += xpad * 2 + char_width * grid_width;
-    h += ypad * 2 + char_height * grid_height;
-
-    if (even_if_mapped && GTK_WIDGET_MAPPED (app)) {
-        gtk_window_resize (GTK_WINDOW (app), w, h);
-    }
-    else {
-        gtk_window_set_default_size (GTK_WINDOW (app), w, h);
-    }
-}
-
-static void
 mud_connection_view_update_geometry (MudConnectionView *window)
 {
     GtkWidget *widget = GTK_WIDGET(window->terminal);
@@ -1957,7 +1895,7 @@
     const gchar *local_codeset;
     gboolean remote, zmp_enabled;
     gsize bytes_read, bytes_written;
-    gchar *text, *encoding, *conv_text, *profile_name;
+    gchar *encoding, *conv_text, *profile_name;
 
     gchar key[2048];
     gchar extra_path[512] = "";

Modified: trunk/src/mud-connections.c
==============================================================================
--- trunk/src/mud-connections.c	(original)
+++ trunk/src/mud-connections.c	Wed Mar 25 22:12:22 2009
@@ -144,6 +144,10 @@
 static gboolean mud_connections_property_delete_cb(GtkWidget *widget,
 						   GdkEvent *event,
 						   MudConnections *conn);
+static gint mud_connections_compare_func(GtkTreeModel *model,
+                                         GtkTreeIter *a,
+                                         GtkTreeIter *b,
+                                         gpointer user_data);
 
 /* Private Methods */
 static void mud_connections_populate_iconview(MudConnections *conn);
@@ -261,6 +265,16 @@
                     G_TYPE_STRING,
                     GDK_TYPE_PIXBUF));
 
+    gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(conn->priv->icon_model),
+                                         MODEL_COLUMN_STRING,
+                                         GTK_SORT_ASCENDING);
+
+    gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(conn->priv->icon_model),
+                                    MODEL_COLUMN_STRING,
+                                    mud_connections_compare_func,
+                                    NULL,
+                                    NULL);
+
     conn->priv->original_name = NULL;
     conn->priv->original_char_name = NULL;
 
@@ -377,6 +391,54 @@
 
 // MudConnections Private Methods
 static gint
+mud_connections_compare_func(GtkTreeModel *model,
+                             GtkTreeIter *a,
+                             GtkTreeIter *b,
+                             gpointer user_data)
+{
+    gchar *item_one, *item_two;
+    gboolean item_one_haschar, item_two_haschar;
+    gint ret = 0;
+
+    gtk_tree_model_get(model,
+                       a,
+                       MODEL_COLUMN_STRING, &item_one,
+                       -1);
+
+    gtk_tree_model_get(model,
+                       b,
+                       MODEL_COLUMN_STRING, &item_two,
+                       -1);
+
+    item_one_haschar = (g_strrstr(item_one, "\n") != NULL);
+    item_two_haschar = (g_strrstr(item_two, "\n") != NULL);
+
+    if(item_one_haschar && item_two_haschar)
+    {
+        gchar **item_onev, **item_twov;
+
+        item_onev = g_strsplit(item_one, "\n", -1);
+        item_twov = g_strsplit(item_two, "\n", -1);
+
+        ret = strcmp(item_onev[1], item_twov[1]);
+
+        g_strfreev(item_onev);
+        g_strfreev(item_twov);
+    } 
+    else if(item_one_haschar && !item_two_haschar)
+        ret = -1;
+    else if(!item_one_haschar && item_two_haschar)
+        ret = 1;
+    else
+        ret = strcmp(item_one, item_two);
+
+    g_free(item_one);
+    g_free(item_two);
+
+    return ret;
+}
+
+static gint
 mud_connections_close_cb(GtkWidget *widget, MudConnections *conn)
 {
     g_object_unref(conn);
@@ -532,7 +594,7 @@
     if(g_list_length(selected) == 0)
 	return;
 
-    char_name = NULL;
+    char_name = strip_name = NULL;
 
     gtk_tree_model_get_iter(conn->priv->icon_model, &iter,
 			    (GtkTreePath *)selected->data);

Modified: trunk/src/mud-log.c
==============================================================================
--- trunk/src/mud-log.c	(original)
+++ trunk/src/mud-log.c	Wed Mar 25 22:12:22 2009
@@ -29,6 +29,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <glade/glade-xml.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-log.h"
@@ -63,8 +64,6 @@
     gboolean done;
     gboolean finalizing;
     gboolean bold;
-    gboolean first;
-    gboolean noblink;
 
     gint next_count;
     gint prev_count;
@@ -131,7 +130,6 @@
 
 /* Private Methods */
 static void mud_log_write(MudLog *log, const gchar *data, gsize size);
-static void mud_log_remove(MudLog *log);
 static gchar *mud_log_parse_ansi(MudLog *self, const gchar *data, gsize size);
 static void mud_log_parse_ecma_color(MudLog *self,
                                      const gchar *data,
@@ -241,7 +239,6 @@
                      guint n_properties,
                      GObjectConstructParam *properties)
 {
-    guint i;
     MudLog *self;
     GObject *obj;
 
@@ -383,7 +380,6 @@
 mud_log_select_clicked_cb(GtkWidget *widget,
                           MudLog *self)
 {
-    gchar *filename;
     GladeXML *glade;
     GtkWidget *dialog;
     gint result;
@@ -732,13 +728,12 @@
                     _("\n*** Log starts *** %d/%m/%Y %H:%M:%S\n"),
                     localtime(&t));
             fprintf(self->priv->logfile, "%s", buf);
-            fsync(fileno(self->priv->logfile));
+            fdatasync(fileno(self->priv->logfile));
 
             if(self->priv->buffer)
             {
                 VteTerminal *term;
                 GtkClipboard *clipboard;
-                GError *err = NULL;
                 gchar *term_text;
 
                 g_object_get(self->priv->parent, "terminal", &term, NULL);
@@ -752,7 +747,7 @@
                 if(term_text)
                 {
                     fprintf(self->priv->logfile, "%s", term_text);
-                    fsync(fileno(self->priv->logfile));
+                    fdatasync(fileno(self->priv->logfile));
                     g_free(term_text);
                 }
             }
@@ -761,7 +756,6 @@
             {
                 VteTerminal *term;
                 GtkClipboard *clipboard;
-                GError *err = NULL;
                 gchar *term_text;
                 gchar *buf_text;
 
@@ -785,7 +779,7 @@
                     buf_text = mud_line_buffer_get_lines(buffer);
 
                     fprintf(self->priv->logfile, "%s", buf_text);
-                    fsync(fileno(self->priv->logfile));
+                    fdatasync(fileno(self->priv->logfile));
 
                     g_free(buf_text);
                 }
@@ -842,7 +836,7 @@
     if(log->priv->color)
         mud_log_write_html_footer(log);
 
-    fsync(fileno(log->priv->logfile));
+    fdatasync(fileno(log->priv->logfile));
     fclose(log->priv->logfile);
 
     if(log->priv->filename)
@@ -890,17 +884,6 @@
 
 /* Private Methods */
 static void
-mud_log_remove(MudLog *log)
-{
-    g_return_if_fail(MUD_IS_LOG(log));
-
-    if(log->priv->active)
-        mud_log_close(log);
-
-    unlink(log->priv->filename);
-}
-
-static void
 mud_log_write(MudLog *log, const gchar *data, gsize size)
 {
     gchar *stripData;
@@ -917,7 +900,6 @@
         stripSize = strlen(stripData);
 
         write_size = fwrite(stripData, 1, stripSize, log->priv->logfile);
-        fsync(fileno(log->priv->logfile));
 
         if(write_size != stripSize)
             g_critical(_("Could not write data to log file!"));
@@ -933,7 +915,6 @@
         if(output)
         {
             write_size = fwrite(output, 1, strlen(output), log->priv->logfile);
-            fsync(fileno(log->priv->logfile));
 
             g_free(output);
         }
@@ -995,7 +976,7 @@
                          gsize size,
                          GString *output)
 {
-    gint i, argc, byte, color_index;
+    gint i, argc, byte;
     gchar **argv;
     gboolean xterm_forecolor, xterm_color;
 

Modified: trunk/src/mud-parse-alias.c
==============================================================================
--- trunk/src/mud-parse-alias.c	(original)
+++ trunk/src/mud-parse-alias.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,7 @@
 #include <glib/gi18n.h>
 #include <string.h>
 #include <gconf/gconf-client.h>
+#include <glib/gprintf.h>
 
 #include "mud-parse-base.h"
 #include "mud-parse-alias.h"
@@ -201,7 +202,8 @@
     MudRegex *regex;
     MudConnectionView *view;
 
-    g_return_if_fail(MUD_IS_PARSE_ALIAS(self));
+    if(!MUD_IS_PARSE_ALIAS(self))
+        return FALSE;
 
     client = gconf_client_get_default();
 

Modified: trunk/src/mud-parse-base.c
==============================================================================
--- trunk/src/mud-parse-base.c	(original)
+++ trunk/src/mud-parse-base.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,7 @@
 #include <glib/gi18n.h>
 #include <stdlib.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "mud-regex.h"
 #include "mud-parse-base.h"

Modified: trunk/src/mud-parse-trigger.c
==============================================================================
--- trunk/src/mud-parse-trigger.c	(original)
+++ trunk/src/mud-parse-trigger.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,7 @@
 #include <glib-object.h>
 #include <glib/gi18n.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "mud-window.h"
 #include "mud-connection-view.h"
@@ -205,7 +206,8 @@
     MudRegex *regex;
     MudConnectionView *view;
 
-    g_return_if_fail(MUD_IS_PARSE_TRIGGER(self));
+    if(!MUD_IS_PARSE_TRIGGER(self))
+        return FALSE;
 
     client = gconf_client_get_default();
 

Modified: trunk/src/mud-profile-manager.c
==============================================================================
--- trunk/src/mud-profile-manager.c	(original)
+++ trunk/src/mud-profile-manager.c	Wed Mar 25 22:12:22 2009
@@ -23,6 +23,7 @@
 
 #include <glib.h>
 #include <glib/gi18n.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-window.h"
@@ -294,9 +295,7 @@
                                    const gchar *name)
 {
     MudProfile *profile, *default_profile;
-    GError *error = NULL;
     gchar *key, *pname;
-    const GSList *views, *view_entry;
     GSList *connections, *entry;
     GConfClient *client;
 
@@ -369,7 +368,8 @@
     GSList *entry = NULL;
     MudProfile *profile;
 
-    g_return_if_fail(MUD_IS_PROFILE_MANAGER(self));
+    if(!MUD_IS_PROFILE_MANAGER(self))
+        return NULL;
 
     entry = self->priv->profiles;
 

Modified: trunk/src/mud-profile.c
==============================================================================
--- trunk/src/mud-profile.c	(original)
+++ trunk/src/mud-profile.c	Wed Mar 25 22:12:22 2009
@@ -32,6 +32,7 @@
 #include <sys/stat.h>
 #include <errno.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "mud-profile-manager.h"
 #include "mud-profile.h"
@@ -93,12 +94,10 @@
 /* Profile Set Functions */
 static gboolean set_FontName(MudProfile *profile, const gchar *candidate);
 static gboolean set_CommDev(MudProfile *profile, const gchar *candidate);
-static gboolean set_History(MudProfile *profile, const gint candidate);
 static gboolean set_Scrollback(MudProfile *profile, const gint candidate);
 static gboolean set_ProxyVersion(MudProfile *profile, const gchar *candidate);
 static gboolean set_ProxyHostname(MudProfile *profile, const gchar *candidate);
 static gboolean set_Encoding(MudProfile *profile, const gchar *candidate);
-static gboolean set_TerminalType(MudProfile *profile, const gchar *candidate);
 static gboolean set_Foreground(MudProfile *profile, const gchar *candidate);
 static gboolean set_Background(MudProfile *profile, const gchar *candidate);
 static gboolean set_Colors(MudProfile *profile, const gchar *candidate);
@@ -181,10 +180,6 @@
     MudProfileClass *klass;
     GObjectClass *parent_class;
 
-    GSList *profiles, *entry;
-    GError *error = NULL;
-    gint newflag;
-
     /* Chain up to parent constructor */
     klass = MUD_PROFILE_CLASS( g_type_class_peek(MUD_TYPE_PROFILE) );
     parent_class = G_OBJECT_CLASS( g_type_class_peek_parent(klass) );
@@ -372,8 +367,6 @@
     GdkColor  color;
     GdkColor *colors;
     gint      n_colors;
-    struct    stat file_stat;
-    gchar     dirname[256], buf[256];
     gchar     extra_path[512] = "", keyname[2048];
     gchar *p;
     MudProfile *default_profile;
@@ -388,9 +381,23 @@
 
     if(!g_str_equal(profile->name, "Default"))
     {
-        default_profile = mud_profile_manager_get_profile_by_name(profile->priv->parent,
-                                                                  "Default");
-        mud_profile_copy_preferences(default_profile, profile);
+        gchar *key;
+        gchar *test_string;
+
+        key = g_strdup_printf("/apps/gnome-mud/profiles/%s/functionality/encoding",
+                               profile->name);
+
+        test_string = gconf_client_get_string(gconf_client, key, NULL);
+
+        if(!test_string)
+        {
+            default_profile = mud_profile_manager_get_profile_by_name(profile->priv->parent,
+                    "Default");
+            mud_profile_copy_preferences(default_profile, profile);
+
+        }
+        else
+            g_free(test_string);
     }
 
 #define	GCONF_GET_STRING(entry, subdir, variable)                                          \
@@ -740,20 +747,6 @@
 }
 
 static gboolean
-set_History(MudProfile *profile, const gint candidate)
-{
-    if (candidate >= 1 && candidate != profile->priv->preferences.History)
-    {
-        profile->priv->preferences.History = candidate;
-        return TRUE;
-    }
-    else
-    {
-        return FALSE;
-    }
-}
-
-static gboolean
 set_Scrollback(MudProfile *profile, const gint candidate)
 {
     if (candidate >= 1 && candidate != profile->priv->preferences.Scrollback)

Modified: trunk/src/mud-regex.c
==============================================================================
--- trunk/src/mud-regex.c	(original)
+++ trunk/src/mud-regex.c	Wed Mar 25 22:12:22 2009
@@ -94,7 +94,8 @@
     gint erroroffset;
     gint rc;
 
-    g_return_if_fail(MUD_IS_REGEX(regex));
+    if(!MUD_IS_REGEX(regex))
+        return FALSE;
 
     re = pcre_compile2(rx, 0, &errorcode, &error, &erroroffset, NULL);
 
@@ -172,7 +173,8 @@
 const gchar **
 mud_regex_get_substring_list(MudRegex *regex, gint *count)
 {
-    g_return_if_fail(MUD_IS_REGEX(regex));
+    if(!MUD_IS_REGEX(regex))
+        return FALSE;
 
     *count = regex->priv->substring_count;
     return regex->priv->substring_list;

Modified: trunk/src/mud-subwindow.c
==============================================================================
--- trunk/src/mud-subwindow.c	(original)
+++ trunk/src/mud-subwindow.c	Wed Mar 25 22:12:22 2009
@@ -27,6 +27,7 @@
 #include <glade/glade-xml.h>
 #include <gconf/gconf-client.h>
 #include <gdk/gdkkeysyms.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "gnome-mud-marshallers.h"
@@ -291,7 +292,7 @@
                      g_cclosure_marshal_VOID__STRING,
                      G_TYPE_NONE,
                      1,
-                     G_TYPE_STRING); 
+                     G_TYPE_STRING);
 
 }
 
@@ -428,7 +429,7 @@
                        0);
 
     gtk_box_pack_end(GTK_BOX(term_box),
-                     self->priv->scroll, 
+                     self->priv->scroll,
                      FALSE,
                      FALSE,
                      0);
@@ -696,7 +697,7 @@
             self->priv->current_history_index--;
 
     if(direction == SUBWINDOW_HISTORY_UP)
-        if(self->priv->current_history_index < 
+        if(self->priv->current_history_index <
                 (gint)g_queue_get_length(self->priv->history) - 1)
             self->priv->current_history_index++;
 
@@ -949,7 +950,7 @@
             g_strstrip(history_item);
 
             /* Don't queue empty lines */
-            if(strlen(history_item) != 0) 
+            if(strlen(history_item) != 0)
                 g_queue_push_head(self->priv->history,
                                   history_item);
             else
@@ -978,8 +979,8 @@
 
     if(event->keyval == GDK_Up)
     {
-        history = 
-            mud_subwindow_get_history_item(self, 
+        history =
+            mud_subwindow_get_history_item(self,
                                            SUBWINDOW_HISTORY_UP);
 
         if(history)
@@ -993,8 +994,8 @@
 
     if(event->keyval == GDK_Down)
     {
-        history = 
-            mud_subwindow_get_history_item(self, 
+        history =
+            mud_subwindow_get_history_item(self,
                                            SUBWINDOW_HISTORY_DOWN);
 
         if(history)

Modified: trunk/src/mud-telnet.c
==============================================================================
--- trunk/src/mud-telnet.c	(original)
+++ trunk/src/mud-telnet.c	Wed Mar 25 22:12:22 2009
@@ -28,6 +28,7 @@
 #include <gnet.h>
 #include <stdarg.h>
 #include <string.h> // memset
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/mud-tray.c
==============================================================================
--- trunk/src/mud-tray.c	(original)
+++ trunk/src/mud-tray.c	Wed Mar 25 22:12:22 2009
@@ -20,6 +20,7 @@
 
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-connection-view.h"
@@ -61,7 +62,6 @@
 /* Callback Functions */
 static void mud_tray_window_toggle(GtkWidget *widget, MudTray *tray);
 static void mud_tray_window_exit(GtkWidget *widget, MudTray *tray);
-static gboolean mud_tray_create_cb(gpointer data);
 static void mud_tray_activate_cb(GtkStatusIcon *icon, MudTray *tray);
 static void mud_tray_popup_menu_cb(GtkStatusIcon *icon,
                                    guint button,
@@ -247,16 +247,6 @@
     mud_tray_destroy(tray);
 }
 
-static gboolean
-mud_tray_create_cb(gpointer data)
-{
-    MudTray *tray = MUD_TRAY(data);
-
-    mud_tray_create(tray);
-
-    return FALSE; /* for when we're called by the glib idle handler */
-}
-
 static void
 mud_tray_activate_cb(GtkStatusIcon *icon, MudTray *tray)
 {

Added: trunk/src/mud-trigger.c
==============================================================================
--- (empty file)
+++ trunk/src/mud-trigger.c	Wed Mar 25 22:12:22 2009
@@ -0,0 +1,171 @@
+/* GNOME-Mud - A simple Mud Client
+ * mud-trigger.c
+ * Copyright (C) 2005-2009 Les Harris <lharris gnome org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+
+#include "mud-line-buffer.h"
+#include "mud-trigger.h"
+
+struct _MudTriggerPrivate
+{
+    MudTriggerType type;
+    MudLineBuffer *line_buffer;
+
+    gulong lines;
+
+    gboolean enabled;
+    gboolean gag_output;
+    gboolean multiline;
+    gboolean set;
+
+    GRegex *regex;
+    gchar *regex_string;
+};
+
+/* Property Identifiers */
+enum
+{
+    PROP_MUD_TRIGGER_0,
+};
+
+/* Create the Type */
+G_DEFINE_TYPE(MudTrigger, mud_trigger, G_TYPE_OBJECT);
+
+/* Class Functions */
+static void mud_trigger_init (MudTrigger *self);
+static void mud_trigger_class_init (MudTriggerClass *klass);
+static void mud_trigger_finalize (GObject *object);
+static GObject *mud_trigger_constructor (GType gtype,
+                                         guint n_properties,
+                                         GObjectConstructParam *properties);
+static void mud_trigger_set_property(GObject *object,
+                                     guint prop_id,
+                                     const GValue *value,
+                                     GParamSpec *pspec);
+static void mud_trigger_get_property(GObject *object,
+                                     guint prop_id,
+                                     GValue *value,
+                                     GParamSpec *pspec);
+
+/* MudTrigger class functions */
+static void
+mud_trigger_class_init (MudTriggerClass *klass)
+{
+    GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+    /* Override base object constructor */
+    object_class->constructor = mud_trigger_constructor;
+
+    /* Override base object's finalize */
+    object_class->finalize = mud_trigger_finalize;
+
+    /* Override base object property methods */
+    object_class->set_property = mud_trigger_set_property;
+    object_class->get_property = mud_trigger_get_property;
+
+    /* Add private data to class */
+    g_type_class_add_private(klass, sizeof(MudTriggerPrivate));
+
+    /* Install Properties */
+
+}
+
+static void
+mud_trigger_init (MudTrigger *self)
+{
+    /* Get our private data */
+    self->priv = MUD_TRIGGER_GET_PRIVATE(self);
+
+    /* Set Defaults */
+    self->priv->type = MUD_TRIGGER_TYPE_SINGLE;
+
+}
+
+static GObject *
+mud_trigger_constructor (GType gtype,
+                         guint n_properties,
+                         GObjectConstructParam *properties)
+{
+    MudTrigger *self;
+    GObject *obj;
+    MudTriggerClass *klass;
+    GObjectClass *parent_class;
+
+    /* Chain up to parent constructor */
+    klass = MUD_TRIGGER_CLASS( g_type_class_peek(MUD_TYPE_TRIGGER) );
+    parent_class = G_OBJECT_CLASS( g_type_class_peek_parent(klass) );
+    obj = parent_class->constructor(gtype, n_properties, properties);
+
+    self = MUD_TRIGGER(obj);
+
+    return obj;
+}
+
+static void
+mud_trigger_finalize (GObject *object)
+{
+    MudTrigger *self;
+    GObjectClass *parent_class;
+
+    self = MUD_TRIGGER(object);
+
+    parent_class = g_type_class_peek_parent(G_OBJECT_GET_CLASS(object));
+    parent_class->finalize(object);
+}
+
+static void
+mud_trigger_set_property(GObject *object,
+                         guint prop_id,
+                         const GValue *value,
+                         GParamSpec *pspec)
+{
+    MudTrigger *self;
+
+    self = MUD_TRIGGER(object);
+
+    switch(prop_id)
+    {
+        default:
+            G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+            break;
+    }
+}
+
+static void
+mud_trigger_get_property(GObject *object,
+                         guint prop_id,
+                         GValue *value,
+                         GParamSpec *pspec)
+{
+    MudTrigger *self;
+
+    self = MUD_TRIGGER(object);
+
+    switch(prop_id)
+    {
+        default:
+            G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+            break;
+    }
+}
+

Added: trunk/src/mud-trigger.h
==============================================================================
--- (empty file)
+++ trunk/src/mud-trigger.h	Wed Mar 25 22:12:22 2009
@@ -0,0 +1,64 @@
+/* GNOME-Mud - A simple Mud Client
+ * mud-trigger.h
+ * Copyright (C) 2005-2009 Les Harris <lharris gnome org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef MUD_TRIGGER_H
+#define MUD_TRIGGER_H
+
+G_BEGIN_DECLS
+
+#include <glib-object.h>
+
+#define MUD_TYPE_TRIGGER              (mud_trigger_get_type ())
+#define MUD_TRIGGER(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), MUD_TYPE_TRIGGER, MudTrigger))
+#define MUD_TRIGGER_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), MUD_TYPE_TRIGGER, MudTriggerClass))
+#define MUD_IS_TRIGGER(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), MUD_TYPE_TRIGGER))
+#define MUD_IS_TRIGGER_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), MUD_TYPE_TRIGGER))
+#define MUD_TRIGGER_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), MUD_TYPE_TRIGGER, MudTriggerClass))
+#define MUD_TRIGGER_GET_PRIVATE(obj)  (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MUD_TYPE_TRIGGER, MudTriggerPrivate))
+
+typedef struct _MudTrigger            MudTrigger;
+typedef struct _MudTriggerClass       MudTriggerClass;
+typedef struct _MudTriggerPrivate     MudTriggerPrivate;
+
+struct _MudTriggerClass
+{
+    GObjectClass parent_class;
+};
+
+struct _MudTrigger
+{
+    GObject parent_instance;
+
+    /*< private >*/
+    MudTriggerPrivate *priv;
+};
+
+typedef enum
+{
+    MUD_TRIGGER_TYPE_SINGLE,
+    MUD_TRIGGER_TYPE_MULTI,
+    MUD_TRIGGER_TYPE_SET
+} MudTriggerType;
+
+GType         mud_trigger_get_type (void);
+
+G_END_DECLS
+
+#endif // MUD_TRIGGER_H
+

Modified: trunk/src/mud-window-profile.c
==============================================================================
--- trunk/src/mud-window-profile.c	(original)
+++ trunk/src/mud-window-profile.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,7 @@
 #include <glade/glade-xml.h>
 #include <glib/gi18n.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-connection-view.h"
@@ -32,6 +33,7 @@
 #include "mud-window-profile.h"
 #include "utils.h"
 #include "mud-profile-manager.h"
+#include "mud-window-prefs.h"
 
 struct _MudProfileWindowPrivate
 {
@@ -40,6 +42,7 @@
 
     GtkWidget *btnAdd;
     GtkWidget *btnDelete;
+    GtkWidget *btnEdit;
 
     gint CurrSelRow;
     gchar *CurrSelRowText;
@@ -86,6 +89,7 @@
 static gint mud_profile_window_close_cb(GtkWidget *widget, MudProfileWindow *profwin);
 static void mud_profile_window_add_cb(GtkWidget *widget, MudProfileWindow *profwin);
 static void mud_profile_window_del_cb(GtkWidget *widget, MudProfileWindow *profwin);
+static void mud_profile_window_edit_cb(GtkWidget *widget, MudProfileWindow *profwin);
 static gboolean mud_profile_window_tree_select_cb(GtkTreeSelection *selection,
                      			   GtkTreeModel     *model,
                      			   GtkTreePath      *path,
@@ -138,7 +142,6 @@
                                 guint n_properties,
                                 GObjectConstructParam *properties)
 {
-    guint i;
     MudProfileWindow *profwin;
     GObject *obj;
 
@@ -167,6 +170,7 @@
 
     profwin->priv->btnAdd = glade_xml_get_widget(glade, "btnAdd");
     profwin->priv->btnDelete = glade_xml_get_widget(glade, "btnDelete");
+    profwin->priv->btnEdit = glade_xml_get_widget(glade, "btnEdit");
 
     profwin->priv->treeview = glade_xml_get_widget(glade, "profilesView");
     profwin->priv->treestore = gtk_tree_store_new(N_COLUMNS, G_TYPE_STRING);
@@ -209,6 +213,9 @@
     g_signal_connect(profwin->priv->btnDelete, "clicked",
             G_CALLBACK(mud_profile_window_del_cb),
             profwin);
+    g_signal_connect(profwin->priv->btnEdit, "clicked",
+            G_CALLBACK(mud_profile_window_edit_cb),
+            profwin);
 
     g_object_get(profwin->parent_window, "window", &main_window, NULL);
 
@@ -306,17 +313,22 @@
     result = gtk_dialog_run(GTK_DIALOG(window));
     if (result == GTK_RESPONSE_OK)
     {
-        profile = gconf_escape_key(gtk_entry_get_text(GTK_ENTRY(entry_profile)),
-                                   -1);
+        gchar *escaped_name;
+        profile = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry_profile)));
 
         mud_profile_manager_add_profile(profwin->parent_window->profile_manager,
                                         profile);
 
+        escaped_name = gconf_escape_key(profile, -1);
+
         prof = mud_profile_manager_get_profile_by_name(profwin->parent_window->profile_manager,
-                                                       profile);
+                                                       escaped_name);
 
         mud_profile_copy_preferences(def, prof);
         mud_profile_window_populate_treeview(profwin);
+
+        g_free(profile);
+        g_free(escaped_name);
     }
 
     gtk_widget_destroy(window);
@@ -326,16 +338,32 @@
 static void
 mud_profile_window_del_cb(GtkWidget *widget, MudProfileWindow *profwin)
 {
-
-    if(strcmp("Default", profwin->priv->CurrSelRowText) != 0)
+    if(!g_str_equal("Default", profwin->priv->CurrSelRowText))
     {
+        gchar *escaped_name = gconf_escape_key(profwin->priv->CurrSelRowText, -1);
+
         mud_profile_manager_delete_profile(profwin->parent_window->profile_manager,
-                                           profwin->priv->CurrSelRowText);
+                                           escaped_name);
+
+        g_free(escaped_name);
 
         mud_profile_window_populate_treeview(profwin);
     }
 }
 
+static void
+mud_profile_window_edit_cb(GtkWidget *widget, MudProfileWindow *profwin)
+{
+    gchar *escaped_name = gconf_escape_key(profwin->priv->CurrSelRowText, -1);
+
+    g_object_new(MUD_TYPE_WINDOW_PREFS,
+                 "parent-window", profwin->parent_window,
+                 "name", escaped_name,
+                 NULL);
+
+    g_free(escaped_name);
+}
+
 static gint
 mud_profile_window_close_cb(GtkWidget *widget, MudProfileWindow *profwin)
 {
@@ -360,6 +388,8 @@
 
         profwin->priv->CurrSelRow = (gtk_tree_path_get_indices(path))[0];
 
+        gtk_widget_set_sensitive(profwin->priv->btnEdit, TRUE);
+
         if(g_str_equal(profwin->priv->CurrSelRowText, "Default"))
             gtk_widget_set_sensitive(profwin->priv->btnDelete, FALSE);
         else
@@ -384,6 +414,7 @@
     gtk_tree_store_clear(store);
 
     gtk_widget_set_sensitive(profwin->priv->btnDelete, FALSE);
+    gtk_widget_set_sensitive(profwin->priv->btnEdit, FALSE);
 
     profiles = mud_profile_manager_get_profiles(profwin->parent_window->profile_manager);
 
@@ -391,12 +422,17 @@
     while(entry)
     {
         MudProfile *profile = MUD_PROFILE(entry->data);
+        gchar *escaped_name;
+
+        escaped_name = gconf_unescape_key(profile->name, -1);
 
         gtk_tree_store_append(store, &iter, NULL);
         gtk_tree_store_set(store, &iter,
-                           NAME_COLUMN, profile->name,
+                           NAME_COLUMN, escaped_name,
                            -1);
 
+        g_free(escaped_name);
+
         entry = g_slist_next(entry);
     }
 }

Modified: trunk/src/mud-window.c
==============================================================================
--- trunk/src/mud-window.c	(original)
+++ trunk/src/mud-window.c	Wed Mar 25 22:12:22 2009
@@ -31,11 +31,12 @@
 #include <glib.h>
 #include <string.h>
 #include <stdlib.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "gnome-mud-icons.h"
 #include "mud-connection-view.h"
-#include "mud-preferences-window.h"
+#include "mud-window-prefs.h"
 #include "mud-window.h"
 #include "mud-tray.h"
 #include "mud-profile.h"
@@ -43,6 +44,7 @@
 #include "mud-parse-base.h"
 #include "mud-connections.h"
 #include "gnome-mud-marshallers.h"
+#include "utils.h"
 
 struct _MudWindowPrivate
 {
@@ -671,7 +673,6 @@
 static void
 mud_window_notebook_page_change(GtkNotebook *notebook, GtkNotebookPage *page, gint arg, MudWindow *self)
 {
-    gchar *name;
     gboolean connected;
     gboolean logging;
     GtkWidget *box;
@@ -692,13 +693,8 @@
 
     if (self->priv->nr_of_tabs != 0)
     {
-        g_object_get(self->priv->current_view,
-                     "profile-name", &name,
-                     NULL);
-
-        mud_window_profile_menu_set_active(self, name);
-
-        g_free(name);
+        mud_window_profile_menu_set_active(self,
+                                           self->priv->current_view->profile->name);
 
         g_object_get(self->priv->current_view,
                      "connected", &connected,
@@ -761,16 +757,29 @@
 static void
 mud_window_preferences_cb(GtkWidget *widget, MudWindow *self)
 {
-    mud_preferences_window_new("Default", self);
+    MudWindowPrefs *prefs;
+    gchar *profile;
+
+    if(self->priv->current_view)
+        profile = g_strdup(self->priv->current_view->profile->name);
+    else
+        profile = g_strdup("Default");
+
+
+    prefs = g_object_new(MUD_TYPE_WINDOW_PREFS,
+                         "parent-window", self,
+                         "name", profile,
+                         NULL);
+
+    g_free(profile);
 }
 
 static void
 mud_window_profiles_cb(GtkWidget *widget, MudWindow *self)
 {
-    MudProfileWindow *profile_window =
-        g_object_new(MUD_TYPE_PROFILE_WINDOW,
-                     "parent-window", self,
-                     NULL);
+    g_object_new(MUD_TYPE_PROFILE_WINDOW,
+            "parent-window", self,
+            NULL);
 }
 
 static void
@@ -825,9 +834,9 @@
 static void
 mud_window_mconnect_dialog(GtkWidget *widget, MudWindow *self)
 {
-    MudConnections *connections = g_object_new(MUD_TYPE_CONNECTIONS,
-                                               "parent-window", self,
-                                               NULL);
+    g_object_new(MUD_TYPE_CONNECTIONS,
+            "parent-window", self,
+            NULL);
 }
 
 static gboolean
@@ -920,7 +929,7 @@
 
         if(buffer_text)
             if(!g_file_set_contents(filename, buffer_text, -1, &err))
-                utils_error_message(self->window,
+                utils_error_message(GTK_WIDGET(self->window),
                                     _("Error Saving Buffer"),
                                     "%s",
                                     err->message);
@@ -993,8 +1002,6 @@
 static void
 mud_window_remove_connection_view(MudWindow *self, gint nr)
 {
-    GSList *entry;
-
     self->priv->mud_views_list =
         g_slist_remove(self->priv->mud_views_list, self->priv->current_view);
 
@@ -1160,9 +1167,17 @@
 void
 mud_window_profile_menu_set_active(MudWindow *self, gchar *name)
 {
+    gchar *unescaped_name;
+
     g_return_if_fail(IS_MUD_WINDOW(self));
 
-    gtk_container_foreach(GTK_CONTAINER(self->priv->mi_profiles),mud_window_profile_menu_set_cb,(gpointer)name);
+    unescaped_name = gconf_unescape_key(name, -1);
+
+    gtk_container_foreach(GTK_CONTAINER(self->priv->mi_profiles),
+                          mud_window_profile_menu_set_cb,
+                          unescaped_name);
+
+    g_free(unescaped_name);
 }
 
 void
@@ -1188,11 +1203,17 @@
     entry = profiles;
     while(entry)
     {
+        gchar *escaped_name;
+        
         prof = MUD_PROFILE(entry->data);
 
+        escaped_name = gconf_unescape_key(prof->name, -1);
+        
         profile = gtk_radio_menu_item_new_with_label(
                 self->priv->profile_menu_list,
-                g_strdup(prof->name));
+                escaped_name);
+
+        g_free(escaped_name);
 
         gtk_widget_show(profile);
         

Modified: trunk/src/zmp/Makefile.am
==============================================================================
--- trunk/src/zmp/Makefile.am	(original)
+++ trunk/src/zmp/Makefile.am	Wed Mar 25 22:12:22 2009
@@ -19,7 +19,8 @@
 
 libzmpcommands_la_CFLAGS = \
 	$(GMUD_CFLAGS) \
-	$(MSP_CFLAGS)
+	$(MSP_CFLAGS) \
+	-g -Wall -O0
 
 libzmpcommands_la_LDFLAGS =
 

Modified: trunk/src/zmp/zmp-core.c
==============================================================================
--- trunk/src/zmp/zmp-core.c	(original)
+++ trunk/src/zmp/zmp-core.c	Wed Mar 25 22:12:22 2009
@@ -25,6 +25,7 @@
 #include <glib-object.h>
 #include <glib/gi18n.h>
 #include <string.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/zmp/zmp-main.c
==============================================================================
--- trunk/src/zmp/zmp-main.c	(original)
+++ trunk/src/zmp/zmp-main.c	Wed Mar 25 22:12:22 2009
@@ -19,6 +19,7 @@
 
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"

Modified: trunk/src/zmp/zmp-subwindow.c
==============================================================================
--- trunk/src/zmp/zmp-subwindow.c	(original)
+++ trunk/src/zmp/zmp-subwindow.c	Wed Mar 25 22:12:22 2009
@@ -26,6 +26,7 @@
 #include <glib/gi18n.h>
 #include <string.h>
 #include <stdlib.h>
+#include <glib/gprintf.h>
 
 #include "gnome-mud.h"
 #include "mud-telnet.h"
@@ -374,7 +375,6 @@
 {
     MudConnectionView *view;
     MudTelnet *telnet;
-    ZmpMain *zmp_main;
     guint enable;
 
     if(argc != 3)

Modified: trunk/ui/main.glade
==============================================================================
--- trunk/ui/main.glade	(original)
+++ trunk/ui/main.glade	Wed Mar 25 22:12:22 2009
@@ -194,10 +194,15 @@
                     </child>
                     <child>
                       <widget class="GtkImageMenuItem" id="menu_preferences">
-                        <property name="label">gtk-preferences</property>
+                        <property name="label">Profile Preferences...</property>
                         <property name="visible">True</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
+                        <property name="use_stock">False</property>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="image3">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-preferences</property>
+                          </widget>
+                        </child>
                       </widget>
                     </child>
                   </widget>
@@ -748,12 +753,30 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkHSeparator" id="hseparator2">
+              <widget class="GtkHBox" id="hbox9">
                 <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label5">
+                    <property name="visible">True</property>
+                    <property name="width_chars">5</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHSeparator" id="hseparator2">
+                    <property name="visible">True</property>
+                  </widget>
+                  <packing>
+                    <property name="padding">3</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
               </widget>
               <packing>
                 <property name="expand">False</property>
-                <property name="padding">10</property>
                 <property name="position">6</property>
               </packing>
             </child>

Modified: trunk/ui/prefs.glade
==============================================================================
--- trunk/ui/prefs.glade	(original)
+++ trunk/ui/prefs.glade	Wed Mar 25 22:12:22 2009
@@ -2,253 +2,500 @@
 <glade-interface>
   <!-- interface-requires gtk+ 2.10 -->
   <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="preferences_window">
+  <widget class="GtkDialog" id="newprofile_dialog">
     <property name="visible">True</property>
-    <property name="title" translatable="yes">Preferences</property>
-    <property name="window_position">center</property>
+    <property name="title" translatable="yes">New Profile</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="default_width">350</property>
     <property name="type_hint">dialog</property>
     <property name="skip_taskbar_hint">True</property>
     <property name="skip_pager_hint">True</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="vbox1">
+      <widget class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
         <child>
-          <widget class="GtkHBox" id="hbox1">
+          <widget class="GtkHBox" id="hbox8">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkLabel" id="label24">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">&lt;b&gt;New Profile Name:&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEntry" id="entry_profile">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
-            <property name="border_width">5</property>
-            <property name="spacing">5</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
             <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="width_request">185</property>
+              <widget class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">automatic</property>
-                <property name="vscrollbar_policy">automatic</property>
-                <property name="shadow_type">in</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="regex_error_dialog">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">Regex Error</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="skip_pager_hint">True</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox9">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkHBox" id="hbox27">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkLabel" id="label36">
+                    <property name="width_request">88</property>
+                    <property name="visible">True</property>
+                    <property name="xalign">1</property>
+                    <property name="label" translatable="yes">Error Code:</property>
+                    <property name="width_chars">11</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
                 <child>
-                  <widget class="GtkTreeView" id="treeview">
+                  <widget class="GtkLabel" id="errcode_label">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="headers_visible">False</property>
+                    <property name="use_markup">True</property>
                   </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
                 </child>
               </widget>
               <packing>
-                <property name="expand">False</property>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkNotebook" id="notebook">
+              <widget class="GtkHBox" id="hbox28">
                 <property name="visible">True</property>
-                <property name="show_tabs">False</property>
-                <property name="show_border">False</property>
                 <child>
-                  <widget class="GtkLabel" id="label1">
+                  <widget class="GtkLabel" id="label37">
+                    <property name="width_request">88</property>
                     <property name="visible">True</property>
+                    <property name="xalign">1</property>
+                    <property name="label" translatable="yes">Error String:</property>
+                    <property name="width_chars">11</property>
                   </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label2">
+                  <widget class="GtkLabel" id="errorstring_label">
                     <property name="visible">True</property>
-                    <property name="label" translatable="yes">Blank</property>
+                    <property name="use_markup">True</property>
                   </widget>
                   <packing>
-                    <property name="tab_fill">False</property>
-                    <property name="type">tab</property>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHBox" id="hbox29">
+                <property name="visible">True</property>
                 <child>
-                  <widget class="GtkNotebook" id="notebook2">
+                  <widget class="GtkLabel" id="label38">
+                    <property name="width_request">88</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <child>
-                      <widget class="GtkVBox" id="vbox12">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkLabel" id="label51">
-                            <property name="visible">True</property>
-                            <property name="xalign">0.0099999997764825821</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Input&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox38">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label56">
-                                <property name="visible">True</property>
-                                <property name="width_chars">5</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkVBox" id="vbox13">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkCheckButton" id="cb_echo">
-                                    <property name="label" translatable="yes">_Echo the Text Sent</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkCheckButton" id="cb_keep">
-                                    <property name="label" translatable="yes">_Keep the Text Entered</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkCheckButton" id="cb_system">
-                                    <property name="label" translatable="yes">Disable _System Keys</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkHSeparator" id="hseparator8">
-                                    <property name="visible">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="padding">5</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkHBox" id="hbox42">
-                                    <property name="visible">True</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="label60">
-                                        <property name="visible">True</property>
-                                        <property name="label" translatable="yes">Command Division Character:</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="padding">2</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkEntry" id="entry_commdev">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="max_length">1</property>
-                                        <property name="width_chars">2</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkLabel" id="label61">
-                                        <property name="visible">True</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">4</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="padding">3</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label52">
-                            <property name="visible">True</property>
-                            <property name="xalign">0.0099999997764825821</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Encoding&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox39">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label57">
-                                <property name="visible">True</property>
-                                <property name="width_chars">5</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
+                    <property name="xalign">1</property>
+                    <property name="label" translatable="yes">Error At:</property>
+                    <property name="justify">right</property>
+                    <property name="width_chars">11</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="regex_label">
+                    <property name="visible">True</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="closebutton1">
+                <property name="label">gtk-close</property>
+                <property name="response_id">-7</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="profiles_window">
+    <property name="title" translatable="yes">Profiles</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="default_width">300</property>
+    <property name="default_height">350</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="skip_pager_hint">True</property>
+    <child>
+      <widget class="GtkVBox" id="vbox2">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkToolbar" id="mainToolbar">
+            <property name="visible">True</property>
+            <child>
+              <widget class="GtkToolButton" id="btnAdd">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-add</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="btnDelete">
+                <property name="visible">True</property>
+                <property name="stock_id">gtk-delete</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkSeparatorToolItem" id="sep">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkToolButton" id="btnEdit">
+                <property name="visible">True</property>
+                <property name="use_underline">True</property>
+                <property name="stock_id">gtk-edit</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkScrolledWindow" id="scrolledwindow2">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
+            <child>
+              <widget class="GtkTreeView" id="profilesView">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="preferences_window">
+    <property name="title" translatable="yes">Preferences</property>
+    <child>
+      <widget class="GtkHBox" id="hbox">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox">
+            <property name="visible">True</property>
+            <property name="orientation">vertical</property>
+            <child>
+              <widget class="GtkNotebook" id="notebook1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox1">
+                    <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <widget class="GtkLabel" id="label8">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Input&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox1">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label10">
+                            <property name="visible">True</property>
+                            <property name="width_chars">5</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox3">
+                            <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="cb_echo">
+                                <property name="label" translatable="yes">_Echo the Text Sent</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="cb_keep">
+                                <property name="label" translatable="yes">_Keep the Text Entered</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHSeparator" id="hseparator1">
+                                <property name="visible">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="padding">5</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox14">
+                              <widget class="GtkHBox" id="hbox4">
                                 <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label62">
+                                  <widget class="GtkLabel" id="label15">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Character Set:</property>
+                                    <property name="label" translatable="yes">Command _Division Character:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">entry_commdev</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">False</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkComboBox" id="encoding_combo">
+                                  <widget class="GtkEntry" id="entry_commdev">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="invisible_char">&#x25CF;</property>
+                                    <property name="width_chars">1</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="padding">3</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label16">
                                     <property name="visible">True</property>
-                                    <property name="items">ISO-8859-1
+                                  </widget>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label9">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Encoding&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox2">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label11">
+                            <property name="visible">True</property>
+                            <property name="width_chars">5</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox2">
+                            <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <widget class="GtkLabel" id="label14">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">_Character Set:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">encoding_combo</property>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="encoding_combo">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">ISO-8859-1
 ISO-8859-2
 ISO-8859-3
 ISO-8859-4
@@ -300,26 +547,6 @@
 WINDOWS-1256
 WINDOWS-1257
 WINDOWS-1258</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkCheckButton" id="encoding_check">
-                                    <property name="label" translatable="yes">Enable Encoding Negotiation</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
                               </widget>
                               <packing>
                                 <property name="position">1</property>
@@ -327,186 +554,90 @@
                             </child>
                           </widget>
                           <packing>
-                            <property name="expand">False</property>
-                            <property name="padding">3</property>
-                            <property name="position">3</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label12">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Output&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3">
+                        <property name="visible">True</property>
                         <child>
-                          <widget class="GtkLabel" id="label53">
+                          <widget class="GtkLabel" id="label13">
                             <property name="visible">True</property>
-                            <property name="xalign">0.0099999997764825821</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Proxy&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
+                            <property name="width_chars">5</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">4</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox43">
+                          <widget class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
                             <child>
-                              <widget class="GtkLabel" id="label63">
+                              <widget class="GtkCheckButton" id="cb_scrollback">
+                                <property name="label" translatable="yes">Scroll on _Output</property>
                                 <property name="visible">True</property>
-                                <property name="width_chars">5</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox15">
+                              <widget class="GtkHBox" id="hbox5">
                                 <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="proxy_check">
-                                    <property name="label" translatable="yes">Enable Proxy</property>
+                                  <widget class="GtkLabel" id="label17">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="label" translatable="yes">_Number of Scrollback Lines:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="mnemonic_widget">sb_lines</property>
                                   </widget>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">False</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox44">
+                                  <widget class="GtkSpinButton" id="sb_lines">
                                     <property name="visible">True</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="label64">
-                                        <property name="visible">True</property>
-                                        <property name="width_chars">3</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox46">
-                                        <property name="visible">True</property>
-                                        <child>
-                                          <widget class="GtkHBox" id="hbox47">
-                                            <property name="visible">True</property>
-                                            <child>
-                                              <widget class="GtkLabel" id="label66">
-                                                <property name="width_request">51</property>
-                                                <property name="visible">True</property>
-                                                <property name="xalign">1</property>
-                                                <property name="label" translatable="yes">Version:</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="padding">2</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkComboBox" id="proxy_combo">
-                                                <property name="width_request">160</property>
-                                                <property name="visible">True</property>
-                                                <property name="sensitive">False</property>
-                                                <property name="items">4
-5</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkLabel" id="label68">
-                                                <property name="visible">True</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">2</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                          <packing>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="invisible_char">&#x25CF;</property>
+                                    <property name="adjustment">1 1 100000 1 10 10</property>
                                   </widget>
                                   <packing>
+                                    <property name="expand">False</property>
+                                    <property name="padding">3</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox45">
+                                  <widget class="GtkLabel" id="label18">
                                     <property name="visible">True</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="label65">
-                                        <property name="visible">True</property>
-                                        <property name="width_chars">3</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox48">
-                                        <property name="visible">True</property>
-                                        <child>
-                                          <widget class="GtkLabel" id="label67">
-                                            <property name="width_request">51</property>
-                                            <property name="visible">True</property>
-                                            <property name="xalign">1</property>
-                                            <property name="label" translatable="yes">Host:</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="padding">2</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkEntry" id="proxy_entry">
-                                            <property name="width_request">160</property>
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkLabel" id="label69">
-                                            <property name="visible">True</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">2</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
                                   </widget>
                                   <packing>
                                     <property name="position">2</property>
@@ -514,204 +645,469 @@
                                 </child>
                               </widget>
                               <packing>
+                                <property name="expand">False</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="padding">3</property>
-                            <property name="position">5</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label54">
-                            <property name="visible">True</property>
-                            <property name="xalign">0.0099999997764825821</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Sound&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">6</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox41">
-                            <property name="visible">True</property>
                             <child>
-                              <widget class="GtkLabel" id="label59">
+                              <widget class="GtkHSeparator" id="hseparator3">
                                 <property name="visible">True</property>
-                                <property name="width_chars">5</property>
                               </widget>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
+                                <property name="padding">5</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkVBox" id="vbox16">
+                              <widget class="GtkTable" id="table1">
                                 <property name="visible">True</property>
+                                <property name="n_rows">4</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">7</property>
+                                <property name="row_spacing">5</property>
                                 <child>
-                                  <widget class="GtkCheckButton" id="sound_check">
-                                    <property name="label" translatable="yes">Enable Sound</property>
+                                  <widget class="GtkLabel" id="label19">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">Fon_t:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="mnemonic_widget">fp_font</property>
                                   </widget>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="msp_check">
-                                    <property name="label" translatable="yes">Enable Remote Download</property>
+                                  <widget class="GtkLabel" id="label20">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">_Foreground Color:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="mnemonic_widget">cb_foreground</property>
                                   </widget>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label70">
+                                  <widget class="GtkLabel" id="label21">
                                     <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">_Background Color:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">cb_background</property>
                                   </widget>
                                   <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label22">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">1</property>
+                                    <property name="label" translatable="yes">Color Palette:</property>
+                                    <property name="use_underline">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="cb_foreground">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <property name="color">#000000000000</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="cb_background">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <property name="color">#000000000000</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkFontButton" id="fp_font">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkTable" id="table2">
+                                    <property name="visible">True</property>
+                                    <property name="n_rows">2</property>
+                                    <property name="n_columns">8</property>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb0">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb8">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb1">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb9">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb2">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb10">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb11">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb3">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb4">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">4</property>
+                                        <property name="right_attach">5</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb5">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">5</property>
+                                        <property name="right_attach">6</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb6">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">6</property>
+                                        <property name="right_attach">7</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb7">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">7</property>
+                                        <property name="right_attach">8</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb15">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">7</property>
+                                        <property name="right_attach">8</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb14">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">6</property>
+                                        <property name="right_attach">7</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb13">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">5</property>
+                                        <property name="right_attach">6</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkColorButton" id="cb12">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="color">#000000000000</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">4</property>
+                                        <property name="right_attach">5</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
                                   </packing>
                                 </child>
                               </widget>
                               <packing>
-                                <property name="position">1</property>
+                                <property name="expand">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label23">
+                                <property name="visible">True</property>
+                                <property name="xalign">1</property>
+                              </widget>
+                              <packing>
+                                <property name="position">4</property>
                               </packing>
                             </child>
                           </widget>
                           <packing>
-                            <property name="padding">3</property>
-                            <property name="position">7</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                       </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label6">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Functionality</property>
-                      </widget>
                       <packing>
-                        <property name="tab_fill">False</property>
-                        <property name="type">tab</property>
+                        <property name="position">5</property>
                       </packing>
                     </child>
-                    <child>
-                      <widget class="GtkTable" id="table1">
-                        <property name="visible">True</property>
-                        <property name="border_width">5</property>
-                        <property name="n_rows">4</property>
-                        <property name="n_columns">2</property>
-                        <property name="column_spacing">7</property>
-                        <property name="row_spacing">5</property>
-                        <child>
-                          <widget class="GtkColorButton" id="cp_background">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkColorButton" id="cp_foreground">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label1">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Terminal</property>
+                  </widget>
+                  <packing>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox5">
+                    <property name="visible">True</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <widget class="GtkLabel" id="label24">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Proxy&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox6">
+                        <property name="visible">True</property>
                         <child>
-                          <widget class="GtkFontButton" id="fp_font">
+                          <widget class="GtkLabel" id="label27">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
+                            <property name="width_chars">5</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
+                            <property name="expand">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkTable" id="table2">
+                          <widget class="GtkTable" id="table3">
                             <property name="visible">True</property>
-                            <property name="n_rows">2</property>
-                            <property name="n_columns">8</property>
-                            <child>
-                              <widget class="GtkColorButton" id="cp15">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">7</property>
-                                <property name="right_attach">8</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
+                            <property name="n_rows">3</property>
+                            <property name="n_columns">3</property>
+                            <property name="column_spacing">7</property>
+                            <property name="row_spacing">5</property>
                             <child>
-                              <widget class="GtkColorButton" id="cp14">
+                              <widget class="GtkCheckButton" id="proxy_check">
+                                <property name="label" translatable="yes">_Enable Proxy</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">6</property>
-                                <property name="right_attach">7</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp13">
+                              <widget class="GtkLabel" id="label29">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
+                                <property name="xalign">1</property>
+                                <property name="label" translatable="yes">_Host:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">proxy_entry</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">5</property>
-                                <property name="right_attach">6</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
@@ -719,1503 +1115,307 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp12">
+                              <widget class="GtkLabel" id="label30">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
+                                <property name="xalign">1</property>
+                                <property name="label" translatable="yes">_Version:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">proxy_combo</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">4</property>
-                                <property name="right_attach">5</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp11">
+                              <widget class="GtkLabel" id="label31">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">3</property>
-                                <property name="right_attach">4</property>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
                                 <property name="top_attach">1</property>
                                 <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp10">
+                              <widget class="GtkLabel" id="label32">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">2</property>
                                 <property name="right_attach">3</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp9">
+                              <widget class="GtkLabel" id="label33">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp8">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">7</property>
-                                <property name="right_attach">8</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp6">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">6</property>
-                                <property name="right_attach">7</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp5">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">5</property>
-                                <property name="right_attach">6</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp4">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">4</property>
-                                <property name="right_attach">5</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkColorButton" id="cp3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                              </widget>
-                              <packing>
-                                <property name="left_attach">3</property>
-                                <property name="right_attach">4</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp2">
+                              <widget class="GtkLabel" id="label34">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">2</property>
                                 <property name="right_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp1">
+                              <widget class="GtkEntry" id="proxy_entry">
                                 <property name="visible">True</property>
+                                <property name="sensitive">False</property>
                                 <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
+                                <property name="invisible_char">&#x25CF;</property>
                               </widget>
                               <packing>
                                 <property name="left_attach">1</property>
                                 <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                                 <property name="y_options"></property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkColorButton" id="cp0">
+                              <widget class="GtkComboBox" id="proxy_combo">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
+                                <property name="sensitive">False</property>
+                                <property name="items" translatable="yes">4
+5</property>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
-                                <property name="y_options"></property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options">GTK_FILL</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label10">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Color palette:</property>
-                          </widget>
-                          <packing>
-                            <property name="top_attach">3</property>
-                            <property name="bottom_attach">4</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label9">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Background color:</property>
-                          </widget>
-                          <packing>
-                            <property name="top_attach">2</property>
-                            <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label8">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Foreground color:</property>
-                          </widget>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label7">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Font:</property>
-                          </widget>
-                          <packing>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label11">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Color and Fonts</property>
-                      </widget>
-                      <packing>
-                        <property name="position">1</property>
-                        <property name="tab_fill">False</property>
-                        <property name="type">tab</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkVBox" id="vbox3">
-                        <property name="visible">True</property>
-                        <property name="border_width">5</property>
-                        <property name="spacing">5</property>
-                        <child>
-                          <widget class="GtkHBox" id="hbox4">
-                            <property name="visible">True</property>
-                            <property name="spacing">5</property>
-                            <child>
-                              <widget class="GtkLabel" id="label12">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Scrollback:</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkSpinButton" id="sb_lines">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Number of lines to save in the scrollback.</property>
-                                <property name="adjustment">0 0 9999 1 10 0</property>
-                                <property name="climb_rate">1</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label13">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">lines</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
                               </packing>
                             </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkCheckButton" id="cb_scrollback">
-                            <property name="label" translatable="yes">S_croll on output</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
-                            <property name="tooltip" translatable="yes">If enabled, whenever there's new output the terminal will be scrolled to the bottom.</property>
-                            <property name="use_underline">True</property>
-                            <property name="draw_indicator">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label14">
-                        <property name="visible">True</property>
-                        <property name="label" translatable="yes">Terminal</property>
-                      </widget>
-                      <packing>
-                        <property name="position">2</property>
-                        <property name="tab_fill">False</property>
-                        <property name="type">tab</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label17">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Preferences</property>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                    <property name="tab_fill">False</property>
-                    <property name="type">tab</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkVPaned" id="vpaned1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <child>
-                      <widget class="GtkHBox" id="hbox9">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkScrolledWindow" id="scrolledwindow4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <widget class="GtkTreeView" id="alias_treeview">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkVButtonBox" id="vbuttonbox2">
-                            <property name="visible">True</property>
-                            <property name="layout_style">start</property>
-                            <child>
-                              <widget class="GtkButton" id="alias_del">
-                                <property name="label">gtk-delete</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="can_default">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_stock">True</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="resize">False</property>
-                        <property name="shrink">True</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkVBox" id="vbox10">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkHBox" id="hbox35">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label43">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.94999998807907104</property>
-                                <property name="label" translatable="yes">_Name:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">alias_entry</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkEntry" id="alias_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox34">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label44">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.99000000953674316</property>
-                                <property name="yalign">0</property>
-                                <property name="label" translatable="yes">_Regex:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">scrolledwindow11</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow11">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
-                                <property name="shadow_type">in</property>
-                                <child>
-                                  <widget class="GtkTextView" id="alias_regex_textview">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                  </widget>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox33">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label45">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.95999997854232788</property>
-                                <property name="yalign">0</property>
-                                <property name="label" translatable="yes">_Action List:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">scrolledwindow12</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow12">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
-                                <property name="shadow_type">in</property>
-                                <child>
-                                  <widget class="GtkTextView" id="alias_textview">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                  </widget>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHSeparator" id="hseparator7">
-                            <property name="visible">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox31">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label41">
-                                <property name="visible">True</property>
-                                <property name="label" translatable="yes">Match Text:</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkEntry" id="alias_match_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkButton" id="alias_match_test">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <child>
-                                  <widget class="GtkAlignment" id="alignment2">
-                                    <property name="visible">True</property>
-                                    <property name="xscale">0</property>
-                                    <property name="yscale">0</property>
-                                    <child>
-                                      <widget class="GtkHBox" id="hbox32">
-                                        <property name="visible">True</property>
-                                        <property name="spacing">2</property>
-                                        <child>
-                                          <widget class="GtkImage" id="image2">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-ok</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">0</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkLabel" id="label42">
-                                            <property name="visible">True</property>
-                                            <property name="label" translatable="yes">Test</property>
-                                            <property name="use_underline">True</property>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">4</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHSeparator" id="hseparator6">
-                            <property name="visible">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">5</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox30">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label39">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.92000001668930054</property>
-                                <property name="yalign">0.15999999642372131</property>
-                                <property name="label" translatable="yes">Match:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">notebook</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkVBox" id="vbox11">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkLabel" id="alias_match_label">
-                                    <property name="visible">True</property>
-                                    <property name="use_markup">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkScrolledWindow" id="scrolledwindow10">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="hscrollbar_policy">automatic</property>
-                                    <property name="vscrollbar_policy">automatic</property>
-                                    <property name="shadow_type">in</property>
-                                    <child>
-                                      <widget class="GtkTreeView" id="alias_match_treeview">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                      </widget>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">6</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHSeparator" id="hseparator5">
-                            <property name="visible">True</property>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">7</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHButtonBox" id="hbuttonbox4">
-                            <property name="visible">True</property>
-                            <property name="layout_style">end</property>
-                            <child>
-                              <widget class="GtkButton" id="alias_ok">
-                                <property name="label">gtk-save</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="can_default">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_stock">True</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">8</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="resize">True</property>
-                        <property name="shrink">True</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="alias-tab">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Aliases</property>
-                  </widget>
-                  <packing>
-                    <property name="position">2</property>
-                    <property name="tab_fill">False</property>
-                    <property name="type">tab</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkVPaned" id="vpaned2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <child>
-                      <widget class="GtkHBox" id="hbox12">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkScrolledWindow" id="scrolledwindow6">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <widget class="GtkTreeView" id="trigger_treeview">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkVButtonBox" id="vbuttonbox3">
-                            <property name="visible">True</property>
-                            <property name="layout_style">start</property>
-                            <child>
-                              <widget class="GtkButton" id="trigger_del">
-                                <property name="label">gtk-delete</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="can_default">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_stock">True</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="resize">False</property>
-                        <property name="shrink">True</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkVBox" id="vbox6">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkHBox" id="hbox16">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label29">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.94999998807907104</property>
-                                <property name="label" translatable="yes">_Name:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">trigger_name_entry</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkEntry" id="trigger_name_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox17">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label30">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.99000000953674316</property>
-                                <property name="yalign">0</property>
-                                <property name="label" translatable="yes">_Trigger:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">scrolledwindow8</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow8">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
-                                <property name="shadow_type">in</property>
-                                <child>
-                                  <widget class="GtkTextView" id="trigger_regex_textview">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                  </widget>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox18">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkLabel" id="label31">
-                                <property name="visible">True</property>
-                                <property name="xalign">0.95999997854232788</property>
-                                <property name="yalign">0</property>
-                                <property name="label" translatable="yes">_Action List:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">scrolledwindow7</property>
-                                <property name="width_chars">10</property>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
-                                <property name="shadow_type">in</property>
-                                <child>
-                                  <widget class="GtkTextView" id="trigger_action_textview">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                  </widget>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox15">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkHSeparator" id="hseparator1">
-                                <property name="visible">True</property>
-                              </widget>
-                              <packing>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkVBox" id="vbox7">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkHBox" id="hbox21">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkLabel" id="label32">
-                                    <property name="visible">True</property>
-                                    <property name="label" translatable="yes">Match Text:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">trigger_match_entry</property>
-                                    <property name="width_chars">10</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkEntry" id="trigger_match_entry">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="trigger_match_button">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <child>
-                                      <widget class="GtkAlignment" id="alignment1">
-                                        <property name="visible">True</property>
-                                        <property name="xscale">0</property>
-                                        <property name="yscale">0</property>
-                                        <child>
-                                          <widget class="GtkHBox" id="hbox22">
-                                            <property name="visible">True</property>
-                                            <property name="spacing">2</property>
-                                            <child>
-                                              <widget class="GtkImage" id="image1">
-                                                <property name="visible">True</property>
-                                                <property name="stock">gtk-ok</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">0</property>
-                                              </packing>
-                                            </child>
-                                            <child>
-                                              <widget class="GtkLabel" id="label33">
-                                                <property name="visible">True</property>
-                                                <property name="label" translatable="yes">Test</property>
-                                                <property name="use_underline">True</property>
-                                              </widget>
-                                              <packing>
-                                                <property name="expand">False</property>
-                                                <property name="fill">False</property>
-                                                <property name="position">1</property>
-                                              </packing>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkHBox" id="hbox20">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkHSeparator" id="hseparator2">
-                                    <property name="visible">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkHBox" id="hbox23">
-                                <property name="visible">True</property>
-                                <child>
-                                  <widget class="GtkLabel" id="label35">
-                                    <property name="visible">True</property>
-                                    <property name="xalign">0.92000001668930054</property>
-                                    <property name="yalign">0.15999999642372131</property>
-                                    <property name="label" translatable="yes">Match:</property>
-                                    <property name="width_chars">10</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkVBox" id="vbox8">
-                                    <property name="visible">True</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="trigger_match_label">
-                                        <property name="visible">True</property>
-                                        <property name="use_markup">True</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkScrolledWindow" id="scrolledwindow9">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="hscrollbar_policy">automatic</property>
-                                        <property name="vscrollbar_policy">automatic</property>
-                                        <property name="shadow_type">in</property>
-                                        <child>
-                                          <widget class="GtkTreeView" id="trigger_match_treeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </widget>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="position">4</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox25">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkHSeparator" id="hseparator3">
-                                <property name="visible">True</property>
-                              </widget>
-                              <packing>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">5</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkHBox" id="hbox26">
-                            <property name="visible">True</property>
-                            <child>
-                              <widget class="GtkHButtonBox" id="hbuttonbox3">
-                                <property name="visible">True</property>
-                                <property name="layout_style">end</property>
-                                <child>
-                                  <widget class="GtkButton" id="trigger_ok">
-                                    <property name="label">gtk-save</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="can_default">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="use_stock">True</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                              </widget>
-                              <packing>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </widget>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">6</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="resize">True</property>
-                        <property name="shrink">True</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="position">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label20">
-                    <property name="visible">True</property>
-                    <property name="label" translatable="yes">Triggers</property>
-                  </widget>
-                  <packing>
-                    <property name="position">3</property>
-                    <property name="tab_fill">False</property>
-                    <property name="type">tab</property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="hbuttonbox1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="button1">
-                <property name="label">gtk-close</property>
-                <property name="response_id">-7</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="newprofile_dialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">New Profile</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="default_width">350</property>
-    <property name="type_hint">dialog</property>
-    <property name="skip_taskbar_hint">True</property>
-    <property name="skip_pager_hint">True</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkHBox" id="hbox8">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkLabel" id="label24">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">&lt;b&gt;New Profile Name:&lt;/b&gt;</property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="entry_profile">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</property>
-                <property name="response_id">-5</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="regex_error_dialog">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Regex Error</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="type_hint">dialog</property>
-    <property name="skip_taskbar_hint">True</property>
-    <property name="skip_pager_hint">True</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox3">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkVBox" id="vbox9">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkHBox" id="hbox27">
-                <property name="visible">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label25">
+                        <property name="visible">True</property>
+                        <property name="xalign">0.0099999997764825821</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Telnet Options&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="padding">5</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox7">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label28">
+                            <property name="visible">True</property>
+                            <property name="width_chars">5</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="vbox6">
+                            <property name="visible">True</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="msp_check">
+                                <property name="label" translatable="yes">Enable Mud _Sound Protocol (MSP)</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="charset_check">
+                                <property name="label" translatable="yes">Enable _Character Encoding Negotiation (CHARSET)</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label26">
+                        <property name="visible">True</property>
+                      </widget>
+                      <packing>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Network</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label35">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">label</property>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label3">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Triggers</property>
+                  </widget>
+                  <packing>
+                    <property name="position">2</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
+                  </packing>
+                </child>
                 <child>
                   <widget class="GtkLabel" id="label36">
-                    <property name="width_request">88</property>
                     <property name="visible">True</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">Error Code:</property>
-                    <property name="width_chars">11</property>
+                    <property name="label" translatable="yes">label</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
+                    <property name="position">3</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="errcode_label">
+                  <widget class="GtkLabel" id="label4">
                     <property name="visible">True</property>
-                    <property name="use_markup">True</property>
+                    <property name="label" translatable="yes">Aliases</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="position">1</property>
+                    <property name="position">3</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkHBox" id="hbox28">
-                <property name="visible">True</property>
                 <child>
                   <widget class="GtkLabel" id="label37">
-                    <property name="width_request">88</property>
                     <property name="visible">True</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">Error String:</property>
-                    <property name="width_chars">11</property>
+                    <property name="label" translatable="yes">label</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
+                    <property name="position">4</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="errorstring_label">
+                  <widget class="GtkLabel" id="label5">
                     <property name="visible">True</property>
-                    <property name="use_markup">True</property>
+                    <property name="label" translatable="yes">Variables</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="position">1</property>
+                    <property name="position">4</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkHBox" id="hbox29">
-                <property name="visible">True</property>
                 <child>
                   <widget class="GtkLabel" id="label38">
-                    <property name="width_request">88</property>
                     <property name="visible">True</property>
-                    <property name="xalign">1</property>
-                    <property name="label" translatable="yes">Error At:</property>
-                    <property name="justify">right</property>
-                    <property name="width_chars">11</property>
+                    <property name="label" translatable="yes">label</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
+                    <property name="position">5</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="regex_label">
+                  <widget class="GtkLabel" id="label6">
                     <property name="visible">True</property>
-                    <property name="use_markup">True</property>
+                    <property name="label" translatable="yes">Timers</property>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="position">1</property>
+                    <property name="position">5</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label39">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">label</property>
+                  </widget>
+                  <packing>
+                    <property name="position">6</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label7">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Keybindings</property>
+                  </widget>
+                  <packing>
+                    <property name="position">6</property>
+                    <property name="tab_fill">False</property>
+                    <property name="type">tab</property>
                   </packing>
                 </child>
               </widget>
               <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="closebutton1">
-                <property name="label">gtk-close</property>
-                <property name="response_id">-7</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
+                <property name="padding">10</property>
                 <property name="position">0</property>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkWindow" id="profiles_window">
-    <property name="title" translatable="yes">Profiles</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="default_width">300</property>
-    <property name="default_height">350</property>
-    <property name="destroy_with_parent">True</property>
-    <property name="skip_taskbar_hint">True</property>
-    <property name="skip_pager_hint">True</property>
-    <child>
-      <widget class="GtkVBox" id="vbox2">
-        <property name="visible">True</property>
-        <child>
-          <widget class="GtkToolbar" id="mainToolbar">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkToolButton" id="btnAdd">
-                <property name="visible">True</property>
-                <property name="stock_id">gtk-add</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkToolButton" id="btnDelete">
-                <property name="visible">True</property>
-                <property name="stock_id">gtk-delete</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="homogeneous">True</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
+            <property name="padding">10</property>
             <property name="position">0</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkScrolledWindow" id="scrolledwindow2">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">automatic</property>
-            <property name="vscrollbar_policy">automatic</property>
-            <child>
-              <widget class="GtkTreeView" id="profilesView">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-              </widget>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
       </widget>
     </child>
   </widget>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]