mirror of
https://github.com/jarun/nnn.git
synced 2024-12-01 02:49:44 +00:00
Auto-proceed on open (key + to toggle)
This commit is contained in:
parent
6aed714347
commit
6f48a711d4
15
src/nnn.c
15
src/nnn.c
|
@ -385,6 +385,7 @@ static char g_pipepath[TMP_LEN_MAX] __attribute__ ((aligned));
|
|||
#define STATE_INTERRUPTED 0x2
|
||||
#define STATE_RANGESEL 0x4
|
||||
#define STATE_MOVE_OP 0x8
|
||||
#define STATE_AUTONEXT 0x10
|
||||
|
||||
static uchar g_states;
|
||||
|
||||
|
@ -3759,9 +3760,9 @@ static void show_help(const char *path)
|
|||
"a1-4 Context 1-4%-8c(B)Tab Cycle context\n"
|
||||
"c/ Filter%-17c^N Nav-as-you-type toggle\n"
|
||||
"aEsc Exit prompt%-12c^L Redraw/clear prompt\n"
|
||||
"c? Help, conf%-13c^G QuitCD\n"
|
||||
"cq Quit context%-12cQ Quit with err\n"
|
||||
"b^Q Quit\n"
|
||||
"c? Help, conf%-14c+ Toggle proceed on open\n"
|
||||
"cq Quit context%-11c^G QuitCD\n"
|
||||
"b^Q Quit%-20cQ Quit with err\n"
|
||||
"1FILES\n"
|
||||
"9o ^O Open with...%-12cn Create new/link\n"
|
||||
"9f ^F File details%-12cd Detail view toggle\n"
|
||||
|
@ -5017,6 +5018,11 @@ nochange:
|
|||
|
||||
/* Invoke desktop opener as last resort */
|
||||
spawn(opener, newpath, NULL, NULL, opener_flags);
|
||||
|
||||
/* Move cursor to the next entry if not the last entry */
|
||||
if ((g_states & STATE_AUTONEXT) && cur != ndents - 1)
|
||||
move_cursor((cur + 1) % ndents, 0);
|
||||
|
||||
continue;
|
||||
}
|
||||
default:
|
||||
|
@ -5770,6 +5776,9 @@ nochange:
|
|||
|
||||
statusbar(path);
|
||||
goto nochange;
|
||||
case SEL_AUTONEXT:
|
||||
g_states ^= STATE_AUTONEXT;
|
||||
goto nochange;
|
||||
case SEL_QUITCTX: // fallthrough
|
||||
case SEL_QUITCD: // fallthrough
|
||||
case SEL_QUIT:
|
||||
|
|
|
@ -90,6 +90,7 @@ enum action {
|
|||
SEL_RUNCMD,
|
||||
SEL_LOCK,
|
||||
SEL_SESSIONS,
|
||||
SEL_AUTONEXT,
|
||||
SEL_QUITCTX,
|
||||
SEL_QUITCD,
|
||||
SEL_QUIT,
|
||||
|
@ -229,6 +230,10 @@ static struct key bindings[] = {
|
|||
{ ']', SEL_RUNCMD },
|
||||
/* Lock screen */
|
||||
{ '0', SEL_LOCK },
|
||||
/* Manage sessions */
|
||||
{ 's', SEL_SESSIONS },
|
||||
/* Quit a context */
|
||||
{ '+', SEL_AUTONEXT },
|
||||
/* Quit a context */
|
||||
{ 'q', SEL_QUITCTX },
|
||||
/* Change dir on quit */
|
||||
|
@ -238,5 +243,4 @@ static struct key bindings[] = {
|
|||
/* Quit with an error code */
|
||||
{ 'Q', SEL_QUITFAIL },
|
||||
{ KEY_MOUSE, SEL_CLICK },
|
||||
{ 's', SEL_SESSIONS },
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue