From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Tue, 2 Jun 2020 11:18:28 +0000 (+0530)
Subject: Key | to send file path to FIFO
X-Git-Tag: v3.3~71
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=1dbbc45c7843ce28056786c604430a68f67f56ae;p=nnn.git

Key | to send file path to FIFO
---

diff --git a/plugins/README.md b/plugins/README.md
index 4f2a1d44..72b6d96b 100644
--- a/plugins/README.md
+++ b/plugins/README.md
@@ -204,7 +204,7 @@ If a `NNN_FIFO` environment variable is set globally (and `-a` is not passed to
 
 Don't forget to fork in the background to avoid blocking `nnn`.
 
-Note that `nnn` does not watch the hovered file and update the path if it's modified while under preview. Press <kbd>^L</kbd> to update the preview without changing the hovered entry.
+Note that `nnn` does not watch the hovered file and update the path if it's modified while under preview. Press <kbd>|</kbd> to update the preview without changing the hovered entry.
 
 #### Examples
 There are many plugins provided by `nnn` which can be used as examples. Here are a few simple selected examples.
diff --git a/src/nnn.c b/src/nnn.c
index 2a432b5a..3e6e63ad 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -4151,13 +4151,16 @@ static void show_help(const char *path)
 	       "9p ^P  Copy sel here%-11ca  Select all\n"
 	       "9v ^V  Move sel here%-8cw ^W  Cp/mv sel as\n"
 	       "9x ^X  Delete%-18cE  Edit sel\n"
-	          "c*  Toggle exe%-14c>  Export list\n"
+		  "c*  Toggle exe%-14c>  Export list\n"
 		"1MISC\n"
 	      "8Alt ;  Select plugin%-11c=  Launch app\n"
 	       "9! ^]  Shell%-19c]  Cmd prompt\n"
 		  "cc  Connect remote%-10cu  Unmount\n"
 	       "9t ^T  Sort toggles%-12cs  Manage session\n"
-	          "cT  Set time type%-11c0  Lock\n"
+		  "cT  Set time type%-11c0  Lock\n"
+#ifndef NOFIFO
+		  "c|  Send to FIFO%-0c\n"
+#endif
 	};
 
 	fd = create_tmp_file();
@@ -6492,6 +6495,11 @@ nochange:
 			if (sel == SEL_QUITCD || getenv("NNN_TMPFILE"))
 				cfg.picker ? selbufpos = 0 : write_lastdir(path);
 			return sel == SEL_QUITFAIL ? EXIT_FAILURE : EXIT_SUCCESS;
+#ifndef NOFIFO
+		case SEL_FIFO:
+			notify_fifo(TRUE);
+			goto nochange;
+#endif
 		default:
 			if (xlines != LINES || xcols != COLS)
 				continue;
diff --git a/src/nnn.h b/src/nnn.h
index a403f297..47e03e41 100644
--- a/src/nnn.h
+++ b/src/nnn.h
@@ -104,6 +104,9 @@ enum action {
 	SEL_QUITCD,
 	SEL_QUIT,
 	SEL_QUITFAIL,
+#ifndef NOFIFO
+	SEL_FIFO,
+#endif
 #ifndef NOMOUSE
 	SEL_CLICK,
 #endif
@@ -263,6 +266,9 @@ static struct key bindings[] = {
 	{ CONTROL('Q'),   SEL_QUIT },
 	/* Quit with an error code */
 	{ 'Q',            SEL_QUITFAIL },
+#ifndef NOFIFO
+	{ '|',            SEL_FIFO },
+#endif
 #ifndef NOMOUSE
 	{ KEY_MOUSE,      SEL_CLICK },
 #endif