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).
This commit is contained in:
Přemysl Eric Janouch 2020-09-27 22:58:40 +02:00
parent bff886841b
commit 91df92f49a
Signed by: p
GPG Key ID: A0420B94F92B9493
1 changed files with 6 additions and 1 deletions

View File

@ -1141,6 +1141,10 @@ fun handle (wint_t c) -> bool {
} }
const auto &current = g.entries[g.cursor]; const auto &current = 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); auto i = g_normal_actions.find (c);
switch (i == g_normal_actions.end () ? ACTION_NONE : i->second) { switch (i == g_normal_actions.end () ? ACTION_NONE : i->second) {
case ACTION_CHOOSE_FULL: case ACTION_CHOOSE_FULL:
@ -1152,7 +1156,8 @@ fun handle (wint_t c) -> bool {
choose (current); choose (current);
break; break;
case ACTION_VIEW: case ACTION_VIEW:
view (current.filename); // Mimic mc, it does not seem sensible to page directories
(is_directory ? change_dir : view) (current.filename);
break; break;
case ACTION_EDIT: case ACTION_EDIT:
edit (current.filename); edit (current.filename);