mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Use \ as alternative prompt/run command keybind
This commit is contained in:
parent
1991bb516f
commit
741f82b091
|
@ -234,7 +234,7 @@ The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see th
|
|||
C Execute entry R ^V Pick plugin
|
||||
U Manage session = Launch app
|
||||
c Remote mount u Unmount
|
||||
] ^P Prompt/run cmd L Lock
|
||||
\ ^P Prompt/run cmd L Lock
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
|
35
src/nnn.c
35
src/nnn.c
|
@ -1397,7 +1397,8 @@ static bool xdiraccess(const char *path)
|
|||
|
||||
static void opstr(char *buf, char *op)
|
||||
{
|
||||
snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c '%s \"$0\" \"$@\" . < /dev/tty' < %s", op, g_selpath);
|
||||
snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c '%s \"$0\" \"$@\" . < /dev/tty' < %s",
|
||||
op, g_selpath);
|
||||
}
|
||||
|
||||
static void rmmulstr(char *buf)
|
||||
|
@ -2073,12 +2074,13 @@ static int filterentries(char *path)
|
|||
if (r == OK) {
|
||||
/* Handle all control chars in main loop */
|
||||
if ((*ch < ASCII_MAX && keyname(*ch)[0] == '^' && *ch != '^')
|
||||
|| (*ch == ']' && len == 1)) {
|
||||
|| (*ch == '\\')) {
|
||||
DPRINTF_D(*ch);
|
||||
DPRINTF_S(keyname(*ch));
|
||||
|
||||
/* If there's a filter, try a command on ^P */
|
||||
if (cfg.filtercmd && *ch == CONTROL('P') && len > 1) {
|
||||
if (cfg.filtercmd && (*ch == CONTROL('P') || *ch == '\\')
|
||||
&& len > 1) {
|
||||
prompt_run(pln, (ndents ? dents[cur].name : ""), path);
|
||||
|
||||
/* Clear the prompt */
|
||||
|
@ -2086,6 +2088,7 @@ static int filterentries(char *path)
|
|||
wln[--len] = '\0';
|
||||
wcstombs(ln, wln, REGEX_MAX);
|
||||
ndents = total;
|
||||
cur = oldcur = 0; /* Ran a command, refresh */
|
||||
if (matches(pln) != -1)
|
||||
redraw(path);
|
||||
|
||||
|
@ -2898,10 +2901,14 @@ static void save_session(bool last_session, int *presel)
|
|||
for (i = 0; i < CTX_MAX; ++i)
|
||||
if ((fwrite(&g_ctx[i].c_cfg, sizeof(settings), 1, fsession) != 1)
|
||||
|| (fwrite(&g_ctx[i].color, sizeof(uint), 1, fsession) != 1)
|
||||
|| (header.nameln[i] > 0 && fwrite(g_ctx[i].c_name, header.nameln[i], 1, fsession) != 1)
|
||||
|| (header.lastln[i] > 0 && fwrite(g_ctx[i].c_last, header.lastln[i], 1, fsession) != 1)
|
||||
|| (header.fltrln[i] > 0 && fwrite(g_ctx[i].c_fltr, header.fltrln[i], 1, fsession) != 1)
|
||||
|| (header.pathln[i] > 0 && fwrite(g_ctx[i].c_path, header.pathln[i], 1, fsession) != 1))
|
||||
|| (header.nameln[i] > 0
|
||||
&& fwrite(g_ctx[i].c_name, header.nameln[i], 1, fsession) != 1)
|
||||
|| (header.lastln[i] > 0
|
||||
&& fwrite(g_ctx[i].c_last, header.lastln[i], 1, fsession) != 1)
|
||||
|| (header.fltrln[i] > 0
|
||||
&& fwrite(g_ctx[i].c_fltr, header.fltrln[i], 1, fsession) != 1)
|
||||
|| (header.pathln[i] > 0
|
||||
&& fwrite(g_ctx[i].c_path, header.pathln[i], 1, fsession) != 1))
|
||||
goto END;
|
||||
|
||||
status = TRUE;
|
||||
|
@ -2952,10 +2959,14 @@ static bool load_session(const char *sname, char **path, char **lastdir, char **
|
|||
for (; i < CTX_MAX; ++i)
|
||||
if ((fread(&g_ctx[i].c_cfg, sizeof(settings), 1, fsession) != 1)
|
||||
|| (fread(&g_ctx[i].color, sizeof(uint), 1, fsession) != 1)
|
||||
|| (header.nameln[i] > 0 && fread(g_ctx[i].c_name, header.nameln[i], 1, fsession) != 1)
|
||||
|| (header.lastln[i] > 0 && fread(g_ctx[i].c_last, header.lastln[i], 1, fsession) != 1)
|
||||
|| (header.fltrln[i] > 0 && fread(g_ctx[i].c_fltr, header.fltrln[i], 1, fsession) != 1)
|
||||
|| (header.pathln[i] > 0 && fread(g_ctx[i].c_path, header.pathln[i], 1, fsession) != 1))
|
||||
|| (header.nameln[i] > 0
|
||||
&& fread(g_ctx[i].c_name, header.nameln[i], 1, fsession) != 1)
|
||||
|| (header.lastln[i] > 0
|
||||
&& fread(g_ctx[i].c_last, header.lastln[i], 1, fsession) != 1)
|
||||
|| (header.fltrln[i] > 0
|
||||
&& fread(g_ctx[i].c_fltr, header.fltrln[i], 1, fsession) != 1)
|
||||
|| (header.pathln[i] > 0
|
||||
&& fread(g_ctx[i].c_path, header.pathln[i], 1, fsession) != 1))
|
||||
goto END;
|
||||
|
||||
*path = g_ctx[cfg.curctx].c_path;
|
||||
|
@ -3507,7 +3518,7 @@ static void show_help(const char *path)
|
|||
"cC Execute entry R ^V Pick plugin\n"
|
||||
"cU Manage session = Launch app\n"
|
||||
"cc SSHFS mount u Unmount\n"
|
||||
"9] ^P Prompt/run cmd L Lock\n"};
|
||||
"9\\ ^P Prompt/run cmd L Lock\n"};
|
||||
|
||||
fd = create_tmp_file();
|
||||
if (fd == -1)
|
||||
|
|
Loading…
Reference in a new issue