@@ -45,6 +45,8 @@ Noice is Not Noice, a noicer fork... | |||||
- [file copy, move, delete](#file-copy-move-delete) | - [file copy, move, delete](#file-copy-move-delete) | ||||
- [boost chdir prompt](#boost-chdir-prompt) | - [boost chdir prompt](#boost-chdir-prompt) | ||||
- [set idle timeout](#set-idle-timeout) | - [set idle timeout](#set-idle-timeout) | ||||
- [Troubleshooting](#troubleshooting) | |||||
- [nnn blocks on opening files](#nnn-blocks-on-opening-files) | |||||
- [Why fork?](#why-fork) | - [Why fork?](#why-fork) | ||||
- [Mentions](#mentions) | - [Mentions](#mentions) | ||||
- [Developers](#developers) | - [Developers](#developers) | ||||
@@ -333,7 +335,7 @@ Start `nnn` and use <kbd>^K</kbd> to copy the absolute path (from `/`) of the fi | |||||
The default color for directories is blue. Option `-c` accepts color codes from 0 to 7 to use a different color: | The default color for directories is blue. Option `-c` accepts color codes from 0 to 7 to use a different color: | ||||
0-black, 1-red, 2-green, 3-yellow, 4-blue, 5-magenta, 6-cyan, 7-white | |||||
0-black, 1-red, 2-green, 3-yellow, 4-blue, 5-magenta, 6-cyan, 7-white | |||||
Any other value disables colored directories. | Any other value disables colored directories. | ||||
@@ -353,11 +355,13 @@ Any other value disables colored directories. | |||||
The terminal screensaver is disabled by default. To set the wait time in seconds, use environment variable `NNN_IDLE_TIMEOUT`. | The terminal screensaver is disabled by default. To set the wait time in seconds, use environment variable `NNN_IDLE_TIMEOUT`. | ||||
#### open file in new process and make the nnn not block | |||||
### Troubleshooting | |||||
The desktop file opener should take care of opening files in new processes without causing `nnn` to block. | |||||
If `nnn` does block/freeze when a file is open, then set the environment variable `NNN_NOWAIT` to any | |||||
non-zero value. | |||||
#### nnn blocks on opening files | |||||
Ideally nnn should not block. Unfortunately, sometimes even the same desktop opener behaves differently on different Linux desktop environments. If `nnn` does block when a file is open, set the environment variable `NNN_NOWAIT` to any non-zero value. For example, | |||||
export NNN_NOWAIT=1 | |||||
### Why fork? | ### Why fork? | ||||
@@ -181,19 +181,19 @@ when dealing with the !, e and p commands respectively. | |||||
\fBNNN_BMS:\fR bookmark string as \fIkey:location\fR pairs (max 10) separated by | \fBNNN_BMS:\fR bookmark string as \fIkey:location\fR pairs (max 10) separated by | ||||
\fI;\fR: | \fI;\fR: | ||||
.Bd -literal | .Bd -literal | ||||
export NNN_BMS='doc:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/' | |||||
export NNN_BMS='doc:~/Documents;u:/home/user/Cam Uploads;D:~/Downloads/' | |||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_USE_EDITOR:\fR use EDITOR (preferably CLI, fallback vi) to handle text | \fBNNN_USE_EDITOR:\fR use EDITOR (preferably CLI, fallback vi) to handle text | ||||
files. | files. | ||||
.Bd -literal | .Bd -literal | ||||
export NNN_USE_EDITOR=1 | |||||
export NNN_USE_EDITOR=1 | |||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_DE_FILE_MANAGER:\fR set to a desktop file manager to open the current | \fBNNN_DE_FILE_MANAGER:\fR set to a desktop file manager to open the current | ||||
directory with. E.g.: | directory with. E.g.: | ||||
.Bd -literal | .Bd -literal | ||||
export NNN_DE_FILE_MANAGER=thunar | |||||
export NNN_DE_FILE_MANAGER=thunar | |||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_IDLE_TIMEOUT:\fR set idle timeout (in seconds) to invoke terminal | \fBNNN_IDLE_TIMEOUT:\fR set idle timeout (in seconds) to invoke terminal | ||||
@@ -201,17 +201,16 @@ screensaver. | |||||
.Pp | .Pp | ||||
\fBNNN_COPIER:\fR set to a clipboard copier script. For example, on Linux: | \fBNNN_COPIER:\fR set to a clipboard copier script. For example, on Linux: | ||||
.Bd -literal | .Bd -literal | ||||
------------------------------------- | |||||
#!/bin/sh | |||||
------------------------------------- | |||||
#!/bin/sh | |||||
echo -n $1 | xsel --clipboard --input | |||||
------------------------------------- | |||||
echo -n $1 | xsel --clipboard --input | |||||
------------------------------------- | |||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_NOWAIT:\fR make nnn not block while a file is open. Only necessary if | |||||
nnn is blocking while a file is open. | |||||
\fBNNN_NOWAIT:\fR necessary only if nnn blocks while a file is open. | |||||
.Bd -literal | .Bd -literal | ||||
export NNN_NOWAIT=1 | |||||
export NNN_NOWAIT=1 | |||||
.Ed | .Ed | ||||
.Sh KNOWN ISSUES | .Sh KNOWN ISSUES | ||||
If you are using urxvt you might have to set backspacekey to DEC. | If you are using urxvt you might have to set backspacekey to DEC. | ||||
@@ -222,7 +222,7 @@ static char *player; | |||||
static char *copier; | static char *copier; | ||||
static char *editor; | static char *editor; | ||||
static char *desktop_manager; | static char *desktop_manager; | ||||
static char nowait; | |||||
static char nowait = F_NOTRACE; | |||||
static blkcnt_t ent_blocks; | static blkcnt_t ent_blocks; | ||||
static blkcnt_t dir_blocks; | static blkcnt_t dir_blocks; | ||||
static ulong num_files; | static ulong num_files; | ||||
@@ -2865,7 +2865,7 @@ main(int argc, char *argv[]) | |||||
copier = getenv("NNN_COPIER"); | copier = getenv("NNN_COPIER"); | ||||
/* Get nowait flag */ | /* Get nowait flag */ | ||||
nowait = F_NOTRACE | (getenv("NNN_NOWAIT") ? F_NOWAIT : 0); | |||||
nowait |= getenv("NNN_NOWAIT") ? F_NOWAIT : 0; | |||||
signal(SIGINT, SIG_IGN); | signal(SIGINT, SIG_IGN); | ||||