From 91df92f49a82d082c864274e0d75858876833340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sun, 27 Sep 2020 22:58:40 +0200 Subject: [PATCH] Make F3 change directories Best complemented with a less(1) configuration that also quits on F3, just like mcview. Or invoke sdn with PAGER=mcview, even though you lose the ability to view the help that way (but gain filters). --- sdn.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sdn.cpp b/sdn.cpp index f97f0ca..f7b19b5 100644 --- a/sdn.cpp +++ b/sdn.cpp @@ -1141,6 +1141,10 @@ fun handle (wint_t c) -> bool { } const auto ¤t = g.entries[g.cursor]; + bool is_directory = + S_ISDIR (current.info.st_mode) || + S_ISDIR (current.target_info.st_mode); + auto i = g_normal_actions.find (c); switch (i == g_normal_actions.end () ? ACTION_NONE : i->second) { case ACTION_CHOOSE_FULL: @@ -1152,7 +1156,8 @@ fun handle (wint_t c) -> bool { choose (current); break; case ACTION_VIEW: - view (current.filename); + // Mimic mc, it does not seem sensible to page directories + (is_directory ? change_dir : view) (current.filename); break; case ACTION_EDIT: edit (current.filename);