Index: terminal-screen.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal-screen.c,v
retrieving revision 1.123
diff -u -r1.123 terminal-screen.c
--- terminal-screen.c	2 Apr 2006 12:29:45 -0000	1.123
+++ terminal-screen.c	2 Apr 2006 14:03:23 -0000
@@ -1257,21 +1257,28 @@
 new_window_callback (GtkWidget      *menu_item,
                      TerminalScreen *screen)
 {
-  char *name;
+  char *name, *geometry;
   const char *dir;
+  gint w, h;
 
   name = gdk_screen_make_display_name (gtk_widget_get_screen (menu_item));
   dir = terminal_screen_get_working_dir (screen);
-  
+  /* http://bugzilla.gnome.org/show_bug.cgi?id=155147 
+   * get the new terminal to respect the parent size 
+   */
+  terminal_widget_get_size (terminal_screen_get_widget (screen), &w, &h);
+  geometry = g_strdup_printf ("%dx%d", w, h);
+
   terminal_app_new_terminal (terminal_app_get (),
                              terminal_profile_get_for_new_term (screen->priv->profile),
                              NULL,
                              NULL,
                              FALSE, FALSE, FALSE,
-                             NULL, NULL, NULL, dir, NULL, 1.0,
+                             NULL, geometry, NULL, dir, NULL, 1.0,
                              NULL, name, -1);
 
   g_free (name);
+  g_free (geometry);
 }
 
 static void
Index: terminal-window.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal-window.c,v
retrieving revision 1.126
diff -u -r1.126 terminal-window.c
--- terminal-window.c	1 Apr 2006 20:03:58 -0000	1.126
+++ terminal-window.c	2 Apr 2006 14:03:23 -0000
@@ -2180,7 +2180,7 @@
   
   profile = g_object_get_data (G_OBJECT (menuitem),
                                "profile");
-
+  
   g_assert (profile);
 
   if (!terminal_profile_get_forgotten (profile))
@@ -2204,13 +2204,22 @@
             char *name,
             const char *dir)
 {
+  gint w, h;
+  gchar *geometry;
+  /* http://bugzilla.gnome.org/show_bug.cgi?id=155147 
+   * get the new terminal to respect the parent size 
+   */
+  terminal_widget_get_size (terminal_screen_get_widget(window->priv->active_term), &w, &h);
+  geometry = g_strdup_printf("%dx%d", w, h);
+
   terminal_app_new_terminal (terminal_app_get (),
                              profile,
                              NULL,
                              screen,
                              FALSE, FALSE, FALSE,
-                             NULL, NULL, NULL, dir, NULL, 1.0,
+                             NULL, geometry, NULL, dir, NULL, 1.0,
                              NULL, name, -1);
+  g_free(geometry);
 }
 
 static void
