--- gnome-terminal/src/terminal-window.c	2006-07-08 17:24:43.000000000 -0500
+++ -	2006-07-08 17:27:25.125876000 -0500
@@ -157,6 +157,9 @@
 static void size_request_callback         (GtkWidget *widget,
                                            GtkRequisition *requisition,
                                            TerminalWindow *window);
+static void size_allocate_callback        (GtkWidget *widget,
+                                           GtkAllocation *allocation,
+                                           TerminalWindow *window);
 static void new_tab_callback              (GtkWidget      *menuitem,
                                            TerminalWindow *window);
 static gboolean key_press_callback	  (GtkWidget      *widget,
@@ -850,6 +853,11 @@
                           G_CALLBACK (size_request_callback),
                           window);
 
+  g_signal_connect (G_OBJECT (window->priv->main_vbox),
+                          "size_allocate",
+                          G_CALLBACK (size_allocate_callback),
+                          window);
+
   mi = append_menuitem (window->priv->menubar,
                         "", NULL,
                         NULL, NULL);
@@ -2159,6 +2167,23 @@
 }
 
 static void
+size_allocate_callback (GtkWidget *widget,
+                       GtkAllocation *allocation,
+                       TerminalWindow *window) {
+  if (widget->requisition.height == allocation->height &&
+      widget->requisition.width == allocation->width)
+    return;
+
+#ifdef DEBUG_GEOMETRY
+  g_fprintf (stderr, "vbox size-allocate callback with size %dx%d\n",
+             allocation->width, allocation->height);
+#endif
+
+  gtk_window_resize (GTK_WINDOW (window), widget->requisition.width, widget->requisition.height);
+  update_geometry (window);
+}
+
+static void
 new_tab_callback (GtkWidget      *menuitem,
                   TerminalWindow *window)
 {
