--- src/main.c.orig	2006-09-22 18:14:58.000000000 +0300
+++ src/main.c	2008-09-28 22:48:43.000000000 +0300
@@ -1018,6 +1018,13 @@
 {
     show_dot_files = !show_dot_files;
     update_panels (UP_RELOAD, UP_KEEPSEL);
+	do_refresh();
+}
+
+void toggle_horiz_vert_layout(void) {
+	horizontal_split	= !horizontal_split;
+	layout_change();
+	do_refresh();
 }
 
 /*
@@ -1292,6 +1299,12 @@
     /* Swap panels */
     {XCTRL ('u'), swap_cmd},
 
+	/* Toggle Hidden Files */
+	{ALT ('.'), toggle_show_hidden},
+
+	/* Toggle Horizontal/Vertical layout */
+	{ALT (','), toggle_horiz_vert_layout},
+
     /* View output */
     {XCTRL ('o'), view_other_cmd},
 
--- src/layout.c.orig	2006-11-08 15:37:25.000000000 +0200
+++ src/layout.c	2008-09-28 11:47:19.000000000 +0300
@@ -488,9 +488,7 @@
     radio_widget->sel = horizontal_split;
 }
 
-static void
-layout_change (void)
-{
+void layout_change(void) {
     setup_panels ();
     /* re-init the menu, because perhaps there was a change in the way 
        how the panel are split (horizontal/vertical). */
--- src/layout.h.orig	2004-12-03 21:17:47.000000000 +0200
+++ src/layout.h	2008-09-28 11:47:13.000000000 +0300
@@ -8,6 +8,7 @@
 void init_curses (void);
 void done_screen (void);
 void setup_panels (void);
+void layout_change(void);
 void destroy_panels (void);
 void move_resize_panel (void);
 void flag_winch (int dummy);

