Even if selection mode is not on, it helps to show
number of files currently selected in local buffer.
Say, after running a plugin selection mode goes off.
However, if the plugin doesn't clear the selection
buffer, the files still remain selected in buffer.
Implements pthreads based du using FTS. Currently 4 threads are used.
NFTW is dropped as there is no way to pass any custom values to fn().
FTS does not require any per entry function callback.
The performance numbers are best with FTS:
./nnn-fts -T d / 5.29s user 0.94s system 116% cpu 5.335 total
1/21 du:102.402G free:8.476G files:397644 101132550144B
./nnn-ftw -T d / 5.52s user 0.94s system 116% cpu 5.534 total
1/21 du:102.400G free:8.474G files:397653 101133148160B
./nnn-4.0 -T d / 0.20s user 2.27s system 24% cpu 10.241 total
1/21 du:102.400G free:8.475G files:397654 101133299712B
Plugins like fzopen have the capability to pick files.
This comes handy if nnn is executing as a file picker.
This is a 2-way communication:
- nnn sends the picker output file to plugin ("-" for stdout)
- the plugin tells nnn if it has overwritten the output file
If NNN_TMPFILE is exported, the selection buffer gets cleared as it is
combined with `^G` (clear picked files and exit). So even when 'q' is
pressed to quit the program the selection is lost. This was introduced
in commit d1d491c102 after release v2.7.
netbsd-curses sends a NULL (key value 0) following the KEY_RESIZE.
The keybind ^Space also issues a 0. It seems even the key ^@ sends
the same. Dropping this ambiguous keybind in favour of alternative
key m (more appropriate for 'm'ark anyway). Keys with value 0 will
now be ignored in the filter function.