diff -urN -x tags rox-2.0.1.orig/ROX-Filer/src/menu.c rox-2.0.1/ROX-Filer/src/menu.c
--- rox-2.0.1.orig/ROX-Filer/src/menu.c	2004-07-29 11:11:06.000000000 +0200
+++ rox-2.0.1/ROX-Filer/src/menu.c	2005-01-26 14:15:56.546954288 +0100
@@ -154,6 +154,7 @@
 static void new_window(gpointer data, guint action, GtkWidget *widget);
 /* static void new_user(gpointer data, guint action, GtkWidget *widget); */
 static void close_window(gpointer data, guint action, GtkWidget *widget);
+static void close_all_windows(gpointer data, guint action, GtkWidget *widget);
 static void follow_symlinks(gpointer data, guint action, GtkWidget *widget);
 
 /* (action used in this - MiniType) */
@@ -240,6 +241,7 @@
 /* {">" N_("New, As User..."),	NULL, new_user, 0, NULL}, */
 
 {">" N_("Close Window"),	NULL, close_window, 0, "<StockItem>", GTK_STOCK_CLOSE},
+{">" N_("Close All Windows"),	"<Ctrl>Q", close_all_windows, 0, "<StockItem>", GTK_STOCK_CLOSE},
 {">",				NULL, NULL, 0, "<Separator>"},
 {">" N_("Enter Path..."),	"slash", mini_buffer, MINI_PATH, NULL},
 {">" N_("Shell Command..."),	NULL, mini_buffer, MINI_SHELL, NULL},
@@ -1661,6 +1663,13 @@
 		gtk_widget_destroy(window_with_focus->window);
 }
 
+static void close_all_windows(gpointer data, guint action, GtkWidget *widget)
+{
+	g_return_if_fail(window_with_focus != NULL);
+
+	filer_close_recursive("/");
+}
+
 static void mini_buffer(gpointer data, guint action, GtkWidget *widget)
 {
 	MiniType type = (MiniType) action;
