--- script-fu-interface-original.c	2014-02-28 21:21:19.210553000 -0500
+++ script-fu-interface.c	2014-02-28 21:52:52.511185972 -0500
@@ -44,6 +44,8 @@
 #define COLOR_SAMPLE_WIDTH    60
 #define COLOR_SAMPLE_HEIGHT   15
 #define SLIDER_WIDTH          80
+#define BORDER_WIDTH          70
+#define BORDER_HEIGHT        170
 
 
 typedef struct
@@ -180,6 +182,9 @@
   GtkWidget    *dialog;
   GtkWidget    *vbox;
   GtkWidget    *vbox2;
+  GtkWidget    *window;
+  GtkWidget    *viewport;
+  GtkRequisition req;
   GtkSizeGroup *group;
   GSList       *list;
   gchar        *title;
@@ -261,13 +266,31 @@
                       vbox, TRUE, TRUE, 0);
   gtk_widget_show (vbox);
 
+  /* Allow for scolling */
+  window=gtk_scrolled_window_new(NULL,NULL);
+  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window),
+                                 GTK_POLICY_AUTOMATIC,
+                                 GTK_POLICY_AUTOMATIC);
+  gtk_container_set_border_width(GTK_CONTAINER(window),2);
+  gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(window),
+                                      GTK_SHADOW_NONE);
+
+  gtk_container_add(GTK_CONTAINER(vbox),window);                                 
+
+  viewport = gtk_viewport_new (NULL,NULL);
+  gtk_viewport_set_shadow_type (GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
+  gtk_widget_show (viewport);
+  gtk_container_add(GTK_CONTAINER(window),viewport);
+
   /*  The argument table  */
   sf_interface->table = gtk_table_new (script->n_args - start_arg, 3, FALSE);
 
   gtk_table_set_col_spacings (GTK_TABLE (sf_interface->table), 6);
   gtk_table_set_row_spacings (GTK_TABLE (sf_interface->table), 6);
-  gtk_box_pack_start (GTK_BOX (vbox), sf_interface->table, FALSE, FALSE, 0);
+
+  gtk_container_add (GTK_CONTAINER(viewport), sf_interface->table);
   gtk_widget_show (sf_interface->table);
+  gtk_widget_show(window);
 
   group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
 
@@ -585,6 +608,8 @@
                       FALSE, FALSE, 0);
   gtk_widget_show (sf_interface->progress_label);
 
+  gtk_widget_size_request(sf_interface->table,&req); 
+  gtk_window_set_default_size (GTK_WINDOW (dialog), req.width + BORDER_WIDTH , req.height + BORDER_HEIGHT); 
   gtk_widget_show (dialog);
 
   gtk_main ();
