complete -c nnn -s S -d 'persistent session'
complete -c nnn -s t -r -d 'timeout in seconds to lock'
complete -c nnn -s T -r -d 'a d e r s t v'
+complete -c nnn -s u -d 'use selection (no prompt)'
complete -c nnn -s V -d 'show program version and exit'
complete -c nnn -s x -d 'notis, sel to system clipboard'
complete -c nnn -s h -d 'show program help'
'(-S)-S[persistent session]'
'(-t)-t[timeout to lock]:seconds'
'(-T)-T[a d e r s t v]:key'
+ '(-u)-u[use selection (no prompt)]'
'(-V)-V[show program version and exit]'
'(-x)-x[notis, sel to system clipboard]'
'(-h)-h[show program help]'
.Op Ar -S
.Op Ar -t secs
.Op Ar -T key
+.Op Ar -u
.Op Ar -V
.Op Ar -x
.Op Ar -h
sort order
keys: 'a'u / 'd'u / 'e'xtension / 'r'everse / 's'ize / 't'ime / 'v'ersion
.Pp
+.Fl u
+ use selection if available, don't prompt to choose between selection and current entry
+.Pp
.Fl V
show version and exit
.Pp
use the selection (e.g. to copy or move) in the other pane (if the instance
doesn't have any local selection already).
.Pp
+.Nm
+clears the selection after successful file removal, batch-rename and link
+creation with selection. However, it is retained after archive creation
+with selection as the user may want to delete the archived files next.
+.Pp
To edit the selection use the _edit selection_ key. Use this key to remove a
file from selection after you navigate away from its directory. Editing doesn't
end the selection mode. You can add more files to the selection and edit the
uint reserved1 : 1;
/* The following settings are global */
uint curctx : 3; /* Current context number */
- uint reserved2 : 2;
+ uint prefersel : 1; /* Prefer selection over current, if exists */
+ uint reserved2 : 1;
uint nonavopen : 1; /* Open file on right arrow or `l` */
uint autoselect : 1; /* Auto-select dir in type-to-nav mode */
uint cursormode : 1; /* Move hardware cursor with selection */
0, /* version */
0, /* reserved1 */
0, /* curctx */
+ 0, /* prefersel */
0, /* reserved2 */
0, /* nonavopen */
1, /* autoselect */
static int get_cur_or_sel(void)
{
if (selbufpos && ndents) {
+ if (cfg.prefersel)
+ return 's';
+
int choice = get_input(messages[MSG_CUR_SEL_OPTS]);
return ((choice == 'c' || choice == 's') ? choice : 0);
" -S persistent session\n"
" -t secs timeout to lock\n"
" -T key sort order [a/d/e/r/s/t/v]\n"
+ " -u use selection (no prompt)\n"
" -V show version\n"
" -x notis, sel to system clipboard\n"
" -h show help\n\n"
while ((opt = (env_opts_id > 0
? env_opts[--env_opts_id]
- : getopt(argc, argv, "aAb:cCdeEfFgHKl:nop:P:QrRs:St:T:Vxh"))) != -1) {
+ : getopt(argc, argv, "aAb:cCdeEfFgHKl:nop:P:QrRs:St:T:uVxh"))) != -1) {
switch (opt) {
#ifndef NOFIFO
case 'a':
if (env_opts_id < 0)
sort = (uchar)optarg[0];
break;
+ case 'u':
+ cfg.prefersel = 1;
+ break;
case 'V':
fprintf(stdout, "%s\n", VERSION);
return EXIT_SUCCESS;