aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-01-11 18:23:46 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-01-11 18:23:46 +0530
commit490359f853a2c04daa11d081afa1e7090579a52e (patch)
tree0055de4cca7c285a3a7ce9e46f89ceec4a79deb9
parent70dcbf43d786da63598ad1080c518e4c44baa7bd (diff)
downloadnnn-490359f853a2c04daa11d081afa1e7090579a52e.tar.gz
nuke: open manpages, reload dir after dot
-rwxr-xr-xplugins/nuke5
-rw-r--r--src/nnn.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/nuke b/plugins/nuke
index 8883034..6f08527 100755
--- a/plugins/nuke
+++ b/plugins/nuke
@@ -371,6 +371,11 @@ handle_multimedia() {
handle_mime() {
mimetype="${1}"
case "${mimetype}" in
+ ## Manpages
+ text/troff)
+ man -l "${FPATH}"
+ exit 0;;
+
## Text
text/* | */xml)
vi "${FPATH}"
diff --git a/src/nnn.c b/src/nnn.c
index 9ef016c..699951b 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -4653,6 +4653,7 @@ nochange:
cfg.runplugin = 0;
/* Must be in plugin dir and same context to select plugin */
if ((cfg.runctx == cfg.curctx) && !strcmp(path, plugindir)) {
+ endselection();
/* Copy path so we can return back to earlier dir */
xstrlcpy(path, rundir, PATH_MAX);
rundir[0] = '\0';
@@ -4908,9 +4909,12 @@ nochange:
break;
case SEL_TOGGLEDOT:
cfg.showhidden ^= 1;
+ if (ndents)
+ copycurname();
if (cfg.filtermode)
presel = FILTER;
- break;
+ clearfilter();
+ goto begin;
case SEL_DETAIL:
cfg.showdetail ^= 1;
cfg.showdetail ? (printptr = &printent_long) : (printptr = &printent);
@@ -4973,7 +4977,6 @@ nochange:
break;
}
-
/* Save current */
if (ndents)
copycurname();
@@ -5410,6 +5413,7 @@ nochange:
}
if (sel == SEL_PLUGKEY) {
+ endselection();
r = xstrlcpy(g_buf, messages[MSG_PLUGIN_KEYS], CMD_LEN_MAX);
printkeys(plug, g_buf + r - 1, PLUGIN_MAX);
printprompt(g_buf);