 -  gtk_widget_show (filesel->history_pulldown);
 -  gtk_box_pack_start (GTK_BOX (pulldown_hbox), filesel->history_pulldown, 
 -		      FALSE, FALSE, 0);
++  gtk_file_selection_hide_fileop_buttons(filesel);
      
    /*  The horizontal box containing the directory and file listboxes  */
-   list_hbox = gtk_hbox_new (FALSE, 5);
-@@ -491,15 +474,10 @@
+-  list_hbox = gtk_hbox_new (FALSE, 5);
++  list_hbox = gtk_hbox_new (FALSE, 0);
+   gtk_box_pack_start (GTK_BOX (filesel->main_vbox), list_hbox, TRUE, TRUE, 0);
+   gtk_widget_show (list_hbox);
+ 
+@@ -440,7 +424,7 @@
+   gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->dir_list);
+   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+ 				  GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+-  gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);
++  gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 3);
+   gtk_box_pack_start (GTK_BOX (list_hbox), scrolled_win, TRUE, TRUE, 0);
+   gtk_widget_show (filesel->dir_list);
+   gtk_widget_show (scrolled_win);
+@@ -459,7 +443,7 @@
+   gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
+   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+ 				  GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+-  gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);
++  gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 3);
+   gtk_box_pack_start (GTK_BOX (list_hbox), scrolled_win, TRUE, TRUE, 0);
+   gtk_widget_show (filesel->file_list);
+   gtk_widget_show (scrolled_win);
+@@ -491,15 +475,11 @@
    gtk_widget_show (filesel->cancel_button);
  
    /*  The selection entry widget  */
 -  entry_vbox = gtk_vbox_new (FALSE, 2);
-+  entry_vbox = gtk_vbox_new (FALSE, 1);
++  entry_vbox = gtk_vbox_new (FALSE, 0);
++  gtk_container_set_border_width (GTK_CONTAINER (entry_vbox), 3);
    gtk_box_pack_end (GTK_BOX (filesel->main_vbox), entry_vbox, FALSE, FALSE, 0);
    gtk_widget_show (entry_vbox);
  

 static void
 gtk_file_selection_file_button (GtkWidget *widget,
 			       gint row, 
@@ -1296,8 +1172,10 @@
 	    gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
 	    break;
 	  }
-      else
+      else {
 	gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
+	gtk_file_selection_populate (fs, filename, FALSE);
+      }
 
       g_free (filename);
     }
@@ -1458,14 +1336,8 @@
 				  cmpl_reference_position (cmpl_state),
 				  NULL);
 
-	  gtk_label_set_text (GTK_LABEL (fs->selection_text), sel_text);
 	  g_free (sel_text);
 	}
-
-      if (fs->history_pulldown) 
-	{
-	  gtk_file_selection_update_history_menu (fs, cmpl_reference_position (cmpl_state));
-	}
       
     }
 }

   filesel->selection_entry = gtk_entry_new ();
   gtk_signal_connect (GTK_OBJECT (filesel->selection_entry), "key_press_event",
 		      (GtkSignalFunc) gtk_file_selection_key_press, filesel);
@@ -512,20 +492,12 @@
   gtk_box_pack_start (GTK_BOX (entry_vbox), filesel->selection_entry, TRUE, TRUE, 0);
   gtk_widget_show (filesel->selection_entry);
 
-  if (!cmpl_state_okay (filesel->cmpl_state))
-    {
-      gchar err_buf[256];
-
-      sprintf (err_buf, _("Directory unreadable: %s"), cmpl_strerror (cmpl_errno));
-
-      gtk_label_set_text (GTK_LABEL (filesel->selection_text), err_buf);
-    }
-  else
+  if (cmpl_state_okay (filesel->cmpl_state))
     {
       gtk_file_selection_populate (filesel, "", FALSE);
     }
 
-  gtk_widget_grab_focus (filesel->selection_entry);
+  gtk_widget_grab_focus (filesel->dir_list);
 }
 
 GtkWidget*
@@ -1124,107 +1096,6 @@
   return FALSE;
 }
 
