--- rbgtkwindow.c.orig	Thu Jun 15 23:39:00 2000
+++ rbgtkwindow.c	Mon Jul 24 00:23:56 2000
@@ -329,6 +329,36 @@
 }
 
 static VALUE
+fsel_dir_list(self)
+    VALUE self;
+{
+    VALUE dir_list = rb_iv_get(self, "dir_list");
+
+    if (NIL_P(dir_list)) {
+	GtkWidget *w = GTK_FILE_SELECTION(get_widget(self))->dir_list;
+	dir_list = make_widget(gCList, w);
+	rb_iv_set(self, "dir_list", dir_list);
+    }
+
+    return dir_list;
+}
+
+static VALUE
+fsel_file_list(self)
+    VALUE self;
+{
+    VALUE file_list = rb_iv_get(self, "file_list");
+
+    if (NIL_P(file_list)) {
+	GtkWidget *w = GTK_FILE_SELECTION(get_widget(self))->file_list;
+	file_list = make_widget(gCList, w);
+	rb_iv_set(self, "file_list", file_list);
+    }
+
+    return file_list;
+}
+
+static VALUE
 fsel_show_fileop_buttons(self)
     VALUE self;
 {
@@ -355,6 +385,8 @@
     rb_define_method(gFileSel, "cancel_button", fsel_cancel_button, 0);
     rb_define_method(gFileSel, "help_button", fsel_help_button, 0);
     rb_define_method(gFileSel, "action_area", fsel_action_area, 0);
+    rb_define_method(gFileSel, "dir_list", fsel_dir_list, 0);
+    rb_define_method(gFileSel, "file_list", fsel_file_list, 0);
     rb_define_method(gFileSel, "show_fileop_buttons", fsel_show_fileop_buttons, 0);
     rb_define_method(gFileSel, "hide_fileop_buttons", fsel_hide_fileop_buttons, 0);
 }
