mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Fix #402
This commit is contained in:
parent
d58ab38c52
commit
208a6605f5
|
@ -25,6 +25,7 @@ _nnn ()
|
|||
-n
|
||||
-o
|
||||
-p
|
||||
-Q
|
||||
-r
|
||||
-R
|
||||
-S
|
||||
|
|
|
@ -24,6 +24,7 @@ complete -c nnn -s K -d 'detect key collision'
|
|||
complete -c nnn -s n -d 'use version compare to sort files'
|
||||
complete -c nnn -s o -d 'open files only on Enter'
|
||||
complete -c nnn -s p -r -d 'copy selection to file' -a '-\tstdout'
|
||||
complete -c nnn -s Q -d 'disable quit confirmation'
|
||||
complete -c nnn -s r -d 'show cp, mv progress (Linux-only)'
|
||||
complete -c nnn -s R -d 'disable rollover at edges'
|
||||
complete -c nnn -s S -d 'start in disk usage analyzer mode'
|
||||
|
|
|
@ -22,6 +22,7 @@ args=(
|
|||
'(-n)-n[use version compare to sort files]'
|
||||
'(-o)-o[open files only on Enter]'
|
||||
'(-p)-p[copy selection to file]:file name'
|
||||
'(-Q)-Q[disable quit confirmation]'
|
||||
'(-r)-r[show cp, mv progress (Linux-only)]'
|
||||
'(-R)-R[disable rollover at edges]'
|
||||
'(-S)-S[start in disk usage analyzer mode]'
|
||||
|
|
4
nnn.1
4
nnn.1
|
@ -18,6 +18,7 @@
|
|||
.Op Ar -K
|
||||
.Op Ar -n
|
||||
.Op Ar -p file
|
||||
.Op Ar -Q
|
||||
.Op Ar -r
|
||||
.Op Ar -R
|
||||
.Op Ar -S
|
||||
|
@ -82,6 +83,9 @@ supports the following options:
|
|||
.Fl "p file"
|
||||
copy (or \fIpick\fR) selection to file, or stdout if file='-'
|
||||
.Pp
|
||||
.Fl Q
|
||||
disable confirmation when quitting program with multiple active contexts
|
||||
.Pp
|
||||
.Fl r
|
||||
show cp, mv progress (Linux-only, needs advcpmv; '^T' shows the progress on BSD/macOS)
|
||||
.Pp
|
||||
|
|
16
src/nnn.c
16
src/nnn.c
|
@ -227,8 +227,9 @@ typedef struct {
|
|||
uint selmode : 1; /* Set when selecting files */
|
||||
uint showdetail : 1; /* Clear to show fewer file info */
|
||||
uint ctxactive : 1; /* Context active or not */
|
||||
uint reserved : 3;
|
||||
uint reserved : 2;
|
||||
/* The following settings are global */
|
||||
uint forcequit : 1; /* Do not confirm when quitting program */
|
||||
uint curctx : 2; /* Current context number */
|
||||
uint dircolor : 1; /* Current status of dir color */
|
||||
uint picker : 1; /* Write selection to user-specified file */
|
||||
|
@ -281,6 +282,7 @@ static settings cfg = {
|
|||
0, /* showdetail */
|
||||
1, /* ctxactive */
|
||||
0, /* reserved */
|
||||
0, /* forcequit */
|
||||
0, /* curctx */
|
||||
0, /* dircolor */
|
||||
0, /* picker */
|
||||
|
@ -5348,7 +5350,7 @@ nochange:
|
|||
setdirwatch();
|
||||
goto begin;
|
||||
}
|
||||
} else {
|
||||
} else if (!cfg.forcequit) {
|
||||
for (r = 0; r < CTX_MAX; ++r)
|
||||
if (r != cfg.curctx && g_ctx[r].c_cfg.ctxactive) {
|
||||
r = get_input(messages[MSG_QUIT_ALL]);
|
||||
|
@ -5430,10 +5432,11 @@ static void usage(void)
|
|||
" -n version sort\n"
|
||||
" -o open files on Enter\n"
|
||||
" -p file selection file [stdout if '-']\n"
|
||||
" -Q no quit confirmation\n"
|
||||
" -r use advcpmv patched cp, mv\n"
|
||||
" -R disable rollover at edges\n"
|
||||
" -R no rollover at edges\n"
|
||||
" -S du mode\n"
|
||||
" -t disable dir auto-select\n"
|
||||
" -t no dir auto-select\n"
|
||||
" -v show version\n"
|
||||
" -x notis, sel to system clipboard\n"
|
||||
" -h show help\n\n"
|
||||
|
@ -5578,7 +5581,7 @@ int main(int argc, char *argv[])
|
|||
bool progress = FALSE;
|
||||
#endif
|
||||
|
||||
while ((opt = getopt(argc, argv, "HSKiab:cde:Egnop:rRtvxh")) != -1) {
|
||||
while ((opt = getopt(argc, argv, "HSKiab:cde:Egnop:QrRtvxh")) != -1) {
|
||||
switch (opt) {
|
||||
case 'S':
|
||||
cfg.blkorder = 1;
|
||||
|
@ -5636,6 +5639,9 @@ int main(int argc, char *argv[])
|
|||
unlink(g_selpath);
|
||||
}
|
||||
break;
|
||||
case 'Q':
|
||||
cfg.forcequit = 1;
|
||||
break;
|
||||
case 'r':
|
||||
#ifdef __linux__
|
||||
progress = TRUE;
|
||||
|
|
Loading…
Reference in a new issue