diff -urp gnome-terminal-2.12.0/src/terminal-screen.c gnome-terminal-2.12.0-http_proxy/src/terminal-screen.c
--- gnome-terminal-2.12.0/src/terminal-screen.c	2005-07-02 01:37:58.000000000 +0100
+++ gnome-terminal-2.12.0-http_proxy/src/terminal-screen.c	2005-11-20 14:19:25.000000000 +0000
@@ -1039,7 +1039,7 @@ get_child_environment (GtkWidget      *t
   char **p;
   int i;
   char **retval;
-#define EXTRA_ENV_VARS 7
+#define EXTRA_ENV_VARS 8
   
   profile = screen->priv->profile;
 
@@ -1081,6 +1081,27 @@ get_child_environment (GtkWidget      *t
 			       gdk_display_get_name(gtk_widget_get_display(term)));
   ++i;
   
+  /* Setup HTTP proxy according to gconf */
+  GConfClient *conf = gconf_client_get_default ();
+  gchar *host = gconf_client_get_string (conf,
+    "/system/http_proxy/host", NULL);
+  gint port = gconf_client_get_int (conf,
+    "/system/http_proxy/port", NULL);
+  gboolean use_proxy = gconf_client_get_bool (conf,
+    "/system/http_proxy/use_proxy", NULL);
+
+	g_message ("host=%s, port=%d, use_proxy=%d\n", host, port, use_proxy);
+  if (host && port && !getenv ("http_proxy") && use_proxy)
+    retval[i] = g_strdup_printf ("http_proxy=%s:%d", host, port);
+  else
+    retval[i] = g_strdup_printf ("");
+  
+  g_message ("Setting http_proxy: %s", retval[i]);
+
+  if (host)
+    g_free (host);
+  ++i;
+  
   retval[i] = NULL;
   
   return retval;
