]> Sergey Matveev's repositories - nnn.git/blob - CHANGELOG
Merge pull request #1051 from luukvbaal/preview-tui
[nnn.git] / CHANGELOG
1 nnn v4.1.1 Sake
2 2021-06-03
3
4 - fix segfault on session save (#1041)
5 - remove redundant `_Atomic` usage
6 - move [`patches`](../tree/master/patches) directory to top-level
7 - fix and cleanup gitstatus patch
8 - plugin `imgview` improvements (#1049)
9 - restore source-code packing on CircleCI
10 - add Makefile target to compile with musl
11
12 -------------------------------------------------------------------------------
13
14 nnn v4.1
15 2021-06-02
16
17 - a patch management model for approved patches
18 - multi-threaded disk usage calculation using pthreads and FTS
19 - dynamic view update when calculating disk usage
20 - <kbd>Bksp</kbd>/<kbd>Del</kbd> at empty filter prompt to refresh dir
21 - Try to create new context with <kbd>Shift-TAB</kbd>, else reverse cycle
22 - <kbd>Alt+Esc</kbd> to quit context from filter prompt
23 - fix zombies left behind after running plugins (#999)
24 - named persistent sessions (mcchrish/nnn.vim#43)
25 - consider nanosecond resolution when sorting by time (#978)
26 - check external selection in `'c'urrent / 's'el` prompt (#976)
27 - show number of files selected in local selection buffer, if any
28 - `nnn` & picker plugin (e.g. `fzopen`) sync (mcchrish/nnn.vim#82)
29 - make batch rename interactive (#971)
30 - cached uid/gid for performance improvement
31 - fixes for `nnn` with `netbsd-curses`, `musl-fts`, `musl` (#998)
32 - script to statically compile `nnn` with `musl gcc` on Ubuntu
33 - restore hovered file when plugin is chosen from plugin dir
34 - support QuickLook on WSL in `preview-tui` (#959)
35 - toggle `preview-tui` with the same _custom_ plugin key
36 - smoother preview toggling in `preview-tui` (#966)
37 - `listen_on` should be set in kitty.conf for `preview-tui` (#970)
38 - minimal `bat` style in `preview-tui`, honors `$BAT_STYLE`
39 - plugin `preview-tui-ext` supersedes `preview-tui` (#1033)
40 - plugin `fzcd` can now fuzzy search multiple directories
41 - plugin `imgview` supersedes `imgthumb` and `vidthumb`
42 - plugin `umounttree`: unmount remote mntpoint from within
43 - plugin `xdgdefault`: set the default app for hovered file type
44 - plugin `fzplug`: fuzzy find, preview and run other plugins
45 - plugin `cmusq`: queue/play music in `cmus`
46 - plugin `mocplay` renamed to `mocq`
47 - plugin `cleanfilename` renamed to `fixname`
48 - go to last dir on <kbd>~</kbd> (HOME) or <kbd>`</kbd> (ROOT) key repeat
49 - ambiguous key <kbd>^Space</kbd> to select/clear range dropped (#998)
50 - user wiki page for [Themes](https://github.com/jarun/nnn/wiki/Themes)
51 - show selection mark (`+`) in reverse bold for improved visibility
52 - reverse block replaces `>` to mark hovered entry in detail mode
53 - make option `O_CKBOARD` removed
54 - make option `O_NOLOC` renamed to `O_NOLC`
55 - ignore `O_NOLC` if `O_ICONS` or `O_NERD` is specified (#1026)
56 - unicode arrow indicators if `O_ICONS` or `O_NERD` is specified
57 - make option `NOX11`: disable notis, sel-clipboard sync, xterm title
58 - retain filter in _nav-to-type_ mode after file open
59 - fix no files picked with `NNN_TMPFILE` exported and <kbd>q</kbd> to quit
60 - disable xterm title setting in picker mode (#974)
61
62 -------------------------------------------------------------------------------
63
64 nnn v4.0 Sushi
65 2021-04-13
66
67 - show xterm title on option `-x`
68
69 -------------------------------------------------------------------------------
70
71 nnn v3.7
72 2021-04-13
73
74 - allow plugins to clear selection (#884, #889, #917)
75 - do not clear selection on hovered file deletion
76 - resurrect `'c'urrent/'s'el` prompt and option `-u` (#889)
77 - show only file name in reverse in detail mode
78 - more file/mime types supported in `preview-tui-ext`
79 - plugin `mtpmount` - (un)mount MTP devices
80 - plugin `cleanfilename` - more shell-friendly file names
81 - plugin `rsynccp` - copy-paste with visual progress
82 - replace `$HOME` by `~` in address bar
83 - show current path in terminal title (#911)
84 - total links and inode number of hardlink in statusbar
85 - fix symlink to text file not opening in CLI editor (#890)
86 - fix symlink size shown as 0B in statusbar (#888)
87 - show symlink target in statusbar (#893)
88 - show correct disk free/total on macOS (#888)
89 - fix directory disk usage showing as 0 on macOS (#941)
90 - fix name col len with `-C` and icons compiled-in (#936)
91 - refactor printing entries in light/detail modes (#934)
92 - make option `O_CKBOARD` for checker board as indicator
93
94 -------------------------------------------------------------------------------
95
96 nnn v3.6 Nina
97 2021-03-16
98
99 - REPL command prompt (<kbd>Esc</kbd> or <kbd>Enter</kbd> to exit)
100 - invert selection with <kbd>A</kbd>
101 - option `-u` removed (always prefer selection to hovered)
102 - visit start dir on <kbd>@</kbd> when start path is a file
103 - exit filter mode and redraw on <kbd>^L</kbd> if no last filter
104 - plugin `fzcd` now selects the chosen file (#876)
105 - `ueberzug` support in plugin `preview-tui`
106 - new plugin `preview-tui-ext` with extra preview support
107 - clear selection after successful plugin invocation
108 - add method to sync subshell `$PWD` in WIki
109 - clear selection on single file deletion (#812)
110 - copy between instances not working (#864)
111 - plugin `togglex` to toggle exe mode of a selection (#813)
112 - fix `memccpy()` buffer overlap fault on macOS (#786)
113 - show `0 selected` msg on cp/mv with empty selection (#855)
114 - fix frozen terminal caused by opener (#858)
115 - migrate macOS CI to GitHub workflows, retire Travis
116
117 -------------------------------------------------------------------------------
118
119 nnn v3.5 Freddie
120 2020-11-17
121
122 - compile-in Alexey Tourbin's QSORT macro
123 - support Nerd Font patched icons [`make O_NERD=1`]
124 - auto-generate static binaries with icons support
125 - audit and adapt all plugins for macOS
126 - enhance plugin `dups` to delete duplicates interactively
127 - plugin `autojump` now supports `jump` and `zoxide`
128 - support `gio trash` to Trash [`export NNN_TRASH=2`] (#740)
129 - quit program on double <kbd>Esc</kbd> in normal mode (#775)
130 - <kbd>^Space</kbd> replaces <kbd>^K</kbd> for range selection/clear selection
131 - show selection symbol (`+`) next to filename in detail mode (#741)
132 - error & quit on <kbd>Q</kbd> if no selection, else pick to stdout
133 - repeat <kbd>^T</kbd> to cycle sort by time, size and clear
134 - option `-U` to show user & group info in status bar
135 - option `-J` to disable auto-proceed on select (#713)
136 - option `-D` to show dirs in context color with `NNN_FCOLORS`
137 - honor option `-C` for context colors
138 - show indicators if more entries above/below listing (#744)
139 - show missing utility name in flash msg (#753)
140 - exit `preview-tabbed` on <kbd>^C</kbd> (#727)
141 - invoke GNU sed (_gsed_) on macOS (#728)
142 - fix HW cursor moves to wrong line (#735)
143 - fix rollover bug with multiline scroll (#743)
144 - fix input stream not listed with `-s`/`-S` (#777)
145 - fix locker not being invoked
146 - make target `upx` for additional binary compression
147 - compress auto-generated static binaries with upx
148 - make variable `O_NOSSN` to compile out sessions
149 - make variable `O_NOUG` to compile out user & group info
150
151 -------------------------------------------------------------------------------
152
153 nnn v3.4 Emilia
154 2020-08-18
155
156 - icons with icon-specific colors (thanks @KlzXS)
157 - enhanced `NNN_COLORS` with xterm 256 colors support
158 - new colorscheme with `NNN_FCOLORS` (file type specific colors)
159 - switch `-C` to force earlier colorscheme (dirs follow context color)
160 - updates for Haiku (thanks @CodeforEvolution)
161 - fix XFS navigation issue (thanks @ucs1)
162 - optimize archive extension matching on file open
163 - show location in context color
164 - support `host[:dir]` format for remote mounts
165 - clear selection after copy
166 - support traversal on file/dir creation
167 - show selection in reverse in status bar
168 - show status bar indicator `H` when hidden files are listed
169 - show and confirm archive command output
170 - support _cd on quit_ in picker mode
171
172 -------------------------------------------------------------------------------
173
174 nnn v3.3
175 2020-07-14
176
177 - subdir `mounts` for remote and archive mounts
178 - remove mount point on successful unmount of remote/archive
179 - show error and prompt user if `cp`/`mv`/`rm` operation fails
180 - support absolute/relative paths in cp/mv as
181 - mark current path automatically on archive/remote mount
182 - mark current path automatically on target file visit in _find and list_ mode
183 - option `-C` to place HW cursor on hovered for screen readers and braille displays
184 - option `-u` to use selection (if available) and skip `current/sel` prompt
185 - key <kbd>Alt+Esc</kbd> to clear filter prompt and redraw
186 - support <kbd>Esc</kbd> to cancel remove operation
187 - `gpge` & `gpgd`: encrypt and decrypt with GPG
188 - `blknew`: create new files and directories in bulk
189 - `preview-tui`
190   - unified to support `tmux`/`kitty`/`xterm`/`$TERMINAL`
191   - auto-determine split orientation based on terminal height and width
192   - provision to use [`scope.sh`](https://github.com/ranger/ranger/blob/master/ranger/data/scope.sh) and [`pistol`](https://github.com/doronbehar/pistol)
193 - various other improvements
194 - `upload`: send to Firefox Send if [`ffsend`](https://github.com/timvisee/ffsend) is found
195 - `hexview`: add [`hx`](https://github.com/krpors/hx) as alternative hex viewer
196 - `nuke` and `imgview`: add [`imv`](https://github.com/eXeC64/imv) as alternative image viewer
197 - add find (with `fd`) and grep (with `rg`) examples in plugins doc
198 - key <kbd>Esc</kbd> or left click to resend hovered file path to `NNN_FIFO`
199 - show `+` instead of `s` in status bar on selection
200 - <kbd>F5</kbd> removed (misfit for toggle hidden), <kbd>^S</kbd> removed (often masked, redundant)
201 - handle abnormal program termination and remove NNN_PIPE and/or NNN_FIFO
202 - clear selection after successful batch rename, link creation
203 - make option `O_CTX8` for 8 contexts (NOT backward compatible with 4 contexts)
204 - fix issue with child window resize (see #656)
205 - fix issue with `NNNLVL` on macOS (see #639)
206 - fix issue with restoring session with du/au enabled
207
208 -------------------------------------------------------------------------------
209
210 nnn v3.2
211 2020-05-26
212
213 - an official logo
214 - previews
215   - config `NNN_FIFO` to write hovered file paths a previewer can read
216   - plugin `preview-tabbed`: [tabbed](https://tools.suckless.org/tabbed)/xembed based file previewer
217   - plugin `preview-tui`: simple TUI file previewer in tmux/xterm
218   - plugin `preview-kitty`: preview using kitty terminal's capabilities
219   - [live preview](https://github.com/jarun/nnn/wiki/Live-previews) configuration example
220 - find & list
221   - send list of files from (cmd run as) plugin to  `nnn`
222   - plugin `finder`: find/fd/fzf/grep/ripgrep/fzf (in subtree) and list in `nnn`
223   - <kbd>Right</kbd> or <kbd>l</kbd> on symlink in list dir takes to target file
224 - persistent session option `-S` [for disk usage, run `nnn -T d` (see help)]
225 - hover on the file when a file path is passed as positional argument
226 - go to first file or match with <kbd>'</kbd> (followed by <kbd>'</kbd> or <kbd>char</kbd>)
227 - config `NNN_SEL` to specify custom selection file
228 - config `NNN_LOCKER` to specify locker program
229 - dim file details in detail mode
230 - call `chdir()` on directory change
231 - option `-l`: number of lines to move on mouse scroll
232 - graphical [keybind map](https://github.com/jarun/nnn/wiki/Usage#graphical-map)
233 - let `NNN_COLORS` override `NO_COLOR`
234 - plugins
235   - option `-P`: run plugin by key at start
236   - run plugins with <kbd>Alt+key</kbd>
237   - allow `NNN_PIPE` usage by commands run as plugin
238   - input format to `NNN_PIPE`: `<ctxcode><opcode><data>` (see plugins doc)
239   - set `ctxcode` to `+` for smart context usage (next inactive, else current)
240   - `getplugs` to fetch plugins by installed version of `nnn`
241   - plugin `mimelist`: list files by mime type in subtree
242   - plugin `bookmarks`: named bookmarks using symlinks
243   - plugin `nbak`: backup `nnn` config
244   - `nuke` adds lowdown as alternative markdown viewer
245   - several plugin improvements
246 - fix broken screen on resize (see #520)
247 - fix broken version sort (see #550)
248 - fix list and pipe modes not working together
249 - fix multiple issues with listing files
250 - fix `@` shown in detail mode for symlink to dir
251 - fix listing files directly under `/`
252 - move to `-std=c11`
253
254 -------------------------------------------------------------------------------
255
256 nnn v3.1
257 2020-04-13
258
259 - unlimited bookmarks and plugin keys
260 - status bar text in context color
261 - support config `NO_COLOR` to disable colors
262 - config `NNN_OPTS` to specify binary options to `nnn`
263 - config `NNN_MCLICK` to emulate configurable key
264 - toggle selection on right click
265 - ignore hard links when calculating disk usage
266 - dim (hard/sym) link names (symlink to file has `@`)
267 - more special keys at empty filter prompt in _type-to-nav_
268 - key <kbd>></kbd> to export file list
269 - option `-F` to show fortune in help and settings screen
270 - option `-T` to specify sort order (obsoletes `-v`)
271 - option to clear sort order
272 - key <kbd>T</kbd> to change time type (access/change/mod)
273 - `.nmv` - internal fully-functional batch renamer plugin
274 - make var `O_NOBATCH` to disable native batch renamer
275 - `nuke` & `imgview` - open all images in directory sxiv
276 - `nuke` - open log files in vi
277 - plugin `x2sel` - system clipboard to selection copier
278 - plugin `fzy` - cd using z database
279 - plugin `fzopen` - support `FZF_DEFAULT_COMMAND`
280 - create new context on TAB without prompt
281 - hover and connect by dir name (within config dir)
282 - move to next entry on current file delete
283 - on single file copy/move, select the copied/moved file
284 - option `-f` to to use readline history file (off by default)
285 - use `s` in status bar to indicate selection in progress
286 - make var `O_NOMOUSE` to disable mouse support
287 - do not store `NNN_TRASH` and `-Q` in config/session
288 - add sample .desktop file for XDG compatible DEs
289 - rename _nav-as-you-type_ to _type-to-nav_ mode
290 - fix PCRE case-insensitive regex search
291 - fix no error msg when filter length limit exceeded
292 - fix static package generation
293 - fix broken abort message when started in du-mode
294 - fix filter lost on context switch in non _type-to-nav_ mode
295 - fix broken readline prompt
296 - fix long strings treated as action keys in filter prompt
297 - fix `NNNLVL` not reset when spawned shell is exited
298
299 -------------------------------------------------------------------------------
300
301 nnn v3.0
302 2020-02-12
303
304 - take list of files as input and show
305 - option `-e` replaces `NNN_USE_EDITOR`
306 - option `-t` replaces `NNN_IDLE_TIMEOUT`
307 - PCRE support
308 - more readline bindings for native prompts
309 - run GUI app as plugin
310 - attempt lazy unmount when regular unmount fails
311 - fix unmount on macOS: use `umount`
312 - detect `sshfs` and `rclone` to prompt intelligently
313 - auto-proceed on file open (toggle key <kbd>+</kbd>)
314 - quit with error code on <kbd>Q</kbd>
315 - additional key <kbd>F5</kbd> to toggle hidden
316 - key <kbd>e</kbd> to edit in EDITOR (back on multiple user requests)
317 - option to edit list of files in selection is changed to <kbd>E</kbd>
318 - do not end selection on redraw
319 - `nuke`: [`glow`](https://github.com/charmbracelet/glow) as Markdown viewer
320 - `nuke`: refactor, handle some common video types by extension
321 - file name removed from status bar
322 - static Makefile target
323 - generate, upload static package on release
324 - fix crash on entering empty dir, then Down
325 - fix keypresses lost when showing message
326 - fix #227: `nnn` creates xdg-open zombies
327
328 -------------------------------------------------------------------------------
329
330 nnn v2.9
331 2020-01-15
332
333 - all keybinds and options reviewed by the team and frozen (see #422)
334   - reduced number of keybinds
335 - greatly improved help screen readability
336 - `nuke`: sample opener (CLI-only by default) and plugin
337 - fast line redraws instead of full screen refresh (thanks @annagrram)
338 - auto archive handling by extension (see config `NNN_ARCHIVE`)
339 - Lead key simplified to bookmark key (<kbd>b</kbd> or <kbd>^/</kbd>)
340 - single key to toggle order (<kbd>t</kbd> or <kbd>^T</kbd>)
341 - plugins
342   - `.cbcp`: copy selection to system clipboard (internal, program option `-x`)
343   - `.ntfy`: show noti on cp, mv, rm completion (internal, program option `-x`)
344   - `autojump`: navigate using autojump
345   - `upload`: paste text files to http://ix.io, upload rest to https://file.io
346   - all fuzzy plugins modified to support both `fzf` and `fzy`
347 - more control on plugins
348   - prefix `-` to skip directory refresh after running (cmd as) plugin
349   - suffix `*` to skip confirmation after running cmd as plugin
350 - indicate range selection mode with `*`
351 - list keys at bookmark and plugin key prompts
352 - visit to pinned dir like bookmarks (Bookmark key followed by <kbd>,</kbd>)
353 - toggle executable (key <kbd>*</kbd>)
354 - show mime along with file details
355 - more special keys at empty filter prompt:
356   - apply the last filter (<kbd>^L</kbd>)
357   - toggle between string and regex (<kbd>/</kbd>)
358   - toggle case-sensitivity (<kbd>:</kbd>)
359 - retain filter on <kbd>Esc</kbd>, <kbd>Up</kbd>, <kbd>Down</kbd>
360 - show filter details when filter is on
361 - remove option to run filter as cmd on prompt key (can be disruptive)
362 - program options
363   - option `-x`: enable notis and copy selection to system clipboard
364   - option `-g`: regex filters (string filter is default now)
365   - option `-Q`: quit program without confirmation
366   - option `-s`: load session
367   - option `-n`: start in nav-as-you-type mode
368   - option `-v`: version sort
369   - option `-V`: show program version
370   - option `-A`: disable dir auto-select
371 - ISO 8601 compliant date in status bar
372 - ported to Haiku OS (thanks @annagrram)
373 - sort only filtered entries (to avoid directory refresh)
374 - fix `getplugs` to install hidden files
375 - fix several selection issues (see #400)
376 - fix detail mode not restored on loading session
377 - fix symlink to directory not auto-selected
378 - fix regex error on partial regex patterns
379 - fix symlink not shown if `stat(2)` on target fails
380 - fix flags when spawning a CLI opener as default FM
381 - fix issue with stat flag on Sun (no support for `dirent.d_type`)
382 - fix current file in current context not saved correctly in session
383 - signed source distribution on release
384 - simplified debugging with line numbers in logs
385
386 -------------------------------------------------------------------------------
387
388 nnn v2.8.1
389 2019-12-05
390
391 - Fix always archiving current file
392 - More elaborate docs on selection changes
393
394 -------------------------------------------------------------------------------
395
396 nnn v2.8
397 2019-12-04
398
399 - sessions (thanks @annagrram)
400 - `rclone` support for remote access (mount _any_ cloud storage!!!)
401 - toggle selection with <kbd>Space</kbd> or <kbd>^J</kbd>
402 - ignore events during selection so the `+` symbol is not lost
403 - run custom (non-shell-interpreted) commands like plugins
404 - configure _cd-on-quit_ as the default behaviour
405 - create parent dirs for new files and dirs, duplicate a file/dir anywhere
406 - _copy/move as_ workflow (thanks @KlzXS)
407 - edit , flush selection buffer (thanks @KlzXS)
408 - support xargs with minimal options (as in BusyBox) (thanks @KlzXS)
409 - changed the key to size sort to <kbd>z</kbd>
410 - additional key <kbd>]</kbd> to show command prompt
411 - mount archives using `archivemount`
412 - smoother double click handling
413 - program option `-R` to disable rollover at edges
414 - keybind collision checker (for custom keybind config) (thanks @annagrram)
415 - show size of file in bytes in status bar in disk usage mode
416 - pass unresolved path as second argument (`$2`) to plugin
417 - mechanism for plugins to control active directory
418 - all binary questions are confirmed by <kbd>y</kbd> or <kbd>Y</kbd>
419 - plugins
420   - some plugins renamed
421   - integrated `shellcheck` in CI, POSIX-compliance fixes (thanks @koalaman)
422   - `getplugs` - detect modifications in exiting plugin file (thanks @KlzXS)
423   - `drag-file` & `drop-file`: drag & drop files using dragon
424   - `gutenread`: browse, download and read from Project Gutenberg
425   - `suedit` - edit file with superuser permissions
426   - `fzhist` - fuzzy select commands from history, edit and run
427   - `fzcd` - change to a fuzzy-searched directory
428   - `rename` - batch rename directory or selection using qmv or vidir
429   - `pskill` - fuzzy list a process or zombies by name and kill
430   - `exetoggle` - toggle executable status of hovered file
431   - `treeview` - informative tree output with file permissions and size
432   - `chksum` - recursively calculate checksum for files in hovered directory
433   - `fzopen` renamed to `fzopen`
434   - `imgsxiv` instructions added to browse and rename images
435 - create link to current file
436 - additional key <kbd>;</kbd> to execute plugin
437 - more explicit force removal message
438 - force non-detachable internal edits in $EDITOR (option `-E`)
439 - export current file as `$nnn` (instead of `$NN`)
440 - fix file open failure from browser when configured as default FM
441
442 -------------------------------------------------------------------------------
443
444 nnn v2.7
445 2019-10-06
446
447 - plugins for image preview, image and video thumbnails
448 - redesigned selection workflow
449 - drop path prefix for files in current dir for selection based archives
450 - custom direct keybinds for plugins
451 - libreadline `.history` file moved to `nnn` config directory
452 - export current entry as `$NN` at command prompt
453 - more informative status bar in light/detail modes
454 - auto-proceed to next file on single file select
455 - path clipping for long paths
456 - completely revamped wiki
457 - new program options:
458   - `-a` to use file access time throughout the program
459   - `-c` to indicate cli-only opener
460   - `-f` to run filter as command on <kbd>^P</kbd>
461   - `-o` replaces config `NNN_RESTRICT_NAV_OPEN`
462   - `-t` replaces config `NNN_NO_AUTOSELECT`
463   - `-r` replaces config `NNN_OPS_PROG`
464 - plugin changes:
465   - `vidthumb` - show video thumbnails in terminal
466   - `mediainf` - show media info (decoupled as a plugin)
467   - `notes` - open a quick notes file/dir in `$EDITOR` (decoupled as a plugin)
468   - `dups` - list duplicate files in the current directory
469   - `oldbigfile` - list large files by access time
470   - `moclyrics` - show lyrics of the track currently playing in MOC
471   - `uidgid` list uid and gid of files in directory
472   - `mocplay` - now detects if a track is playing or not
473   - `organize` - categorize files and move to respective directories
474   - `pastebin` - now uses ix.io paste service
475   - `fzy-edit` - merged into `fzy-open`
476   - `viuimg` - fix directory view
477   - `checksum` - fixed POSIX compliance issues
478   - `boom` - play music in MOC
479 - keybind changes:
480   - select entry: <kbd>Space</kbd> and <kbd>^J</kbd>
481   - select range (or clear selection): <kbd>m</kbd> and <kbd>^K</kbd>
482   - select all in dir: <kbd>a</kbd>
483   - list selection: <kbd>M</kbd>
484   - <kbd>^N</kbd> replaces <kbd>^T</kbd> to toggle _nav-as-you-type_
485   - <kbd>Shift TAB</kbd> to reverse context cycle
486   - <kbd>'</kbd> to jump to first file in dir
487   - <kbd>S</kbd> for du, <kbd>A</kbd> for apparent du
488   - additional key <kbd>:</kbd> to run plugin
489   - additional key <kbd>F2</kbd> to rename file
490   - additional key <kbd>F5</kbd> to redraw
491   - quit context key <kbd>Leadq</kbd> is removed
492 - Leader key combinations:
493   - <kbd>Lead'</kbd> to jump to first file in dir
494   - <kbd>Lead]</kbd> go to next active context
495   - <kbd>Lead[</kbd> go to prev active context
496   - <kbd>Lead.</kbd> toggle show hidden files
497 - improved duplicate file workflow
498 - improved batch rename workflow when a selection exists
499 - removed the wild load option (`-w`)
500 - removed quick notes (added plugin `notes`)
501 - fix #225 (thanks @KlzXS)
502 - fix `tar`/`bsdtar` always creating tar archives (and not by suffix)
503 - fix single mouse click to select file not working
504 - fix symlink to dir removed on batch rename
505 - fix detail mode not set with program option `-S`
506
507 -------------------------------------------------------------------------------
508
509 nnn v2.6
510 2019-08-06
511
512 - new plugins
513    - view image or browse a directory of images in terminal
514    - show image thumbnails
515    - PDF and text file reader
516    - calculate and verify checksum of selection or file
517    - append (and play) selection/dir/file music in MOC
518    - variable bitrate mp3 ringtone generator
519    - split current file or join selection
520 - better experience on Termux (and touch based devices)
521    - mouse scrolling support (with ncursesw6.0 and above)
522    - tap/left click to visit parent, toggle nav-as-you-type mode
523 - light mode set as default
524 - show status bar and use reverse video in light mode
525 - changed program options
526   - `-d`: detail mode
527   - `-H`: show hidden files
528   - `-l` is retired
529 - support `XDG_CONFIG_HOME`
530 - support <kbd>/</kbd> as an additional Leader key when filter is on
531 - sort by file extension
532 - use zip/unzip/tar if atool/bsdtar not found
533 - support duplicate file (key <kbd>^R</kbd>, same as rename file)
534 - new config option `NNN_SSHFS_OPTS` to specify `sshfs` options
535 - restrict opening 0 byte files (`NNN_RESTRICT_0B` is obsolete)
536 - critical defects fixed
537    - fix #276 - crash with variable length inotify event handling
538    - fix #285 - hang after deleting/moving current directory
539    - fix #274 - a broken prompt on empty input with libreadline
540    - fix #304 - list selection from another instance
541 - `cmatrix` as locker fallback
542 - wait for user input after running a command from prompt
543 - scrolloff set to 3 from 5
544
545 -------------------------------------------------------------------------------
546
547 nnn v2.5
548 2019-05-27
549
550 - mouse support
551 - new location for config files - `~/.config/nnn`
552   - plugin dir location: `~/.config/nnn/plugins`
553   - selection file `.nnncp` is now `~/.config/nnn/.selection`
554 - plugins:
555   - pdfview: view a PDF in pager
556   - nmount: (un)mount a storage device
557   - ndiff: file and directory diff for selection
558   - hexview: view a file in hex
559   - imgresize: batch resize images to desktop resolution
560   - ipinfo: check your IP address and whois information
561   - transfer: upload a file to transfer.in
562   - pastebin: paste the contents of a text file to paste.ubuntu.com
563   - boom: play random music from a directory
564   - nwal: set an image as wallpaper using nitrogen
565   - pywal: set selected image as wallpaper, change terminal color scheme
566   - getplugs: update plugins
567 - SSHFS support
568 - support `bsdtar`, simplify `patool` integration
569 - native batch rename support (`vidir` dependency dropped)
570 - changes to support [configuration](https://github.com/jarun/nnn/wiki/nnn-as-default-file-manager) as the default file manager
571 - per-context detail/light mode
572 - case-insensitive version compare
573 - shortcut to visit `/` - <kbd>`</kbd> (backtick)
574 - vim-like scrolloff support
575 - <kbd>^D</kbd> & <kbd>^U</kbd>: scroll half page, <kbd>PgDn</kbd> & <kbd>PdUp</kbd>: scroll full page
576 - fix selection across contexts
577 - recognize <kbd>Home</kbd> and <kbd>End</kbd> keys at prompt for editing
578 - fix broken program option `-b`
579 - POSIX-compliant user-scripts (wherever possible)
580 - `NNN_SCRIPT` is retired (replaced by plugins)
581
582 -------------------------------------------------------------------------------
583
584 nnn v2.4
585 2019-03-19
586
587 - FreeDesktop.org compliant trashing
588 - mark selected entries with `+`
589 - _wild_ mode (option `-w`, key <kbd>^W</kbd>) for _nav-as-you-type_
590 - POSIX-compliant GUI app launcher with drop-down menu (key <kbd>=</kbd>)
591 - new scripts:
592   - upload image to imgur
593   - send selection to Android using kdeconnect-cli
594 - show permissions in detail mode
595 - cp, mv progress bar for Linux (needs advcpmv) [BSD, macOS shows on <kbd>^T</kbd>]
596 - make libreadline an optional dep (reduces memory usage)
597 - minimize the number of redraws
598 - handle screen resize gracefully
599 - option `-d` to show hidden files (`NNN_SHOW_HIDDEN` is removed)
600 - additional key <kbd>K</kbd> to toggle selection
601 - change visit start dir key to <kbd>@</kbd>
602 - option `-C` to disable colors removed
603 - per-context initial directory replaced by program start dir
604 - marker msg when spawning new shell removed
605 - rename debug file to `nnndbg`
606
607 -------------------------------------------------------------------------------
608
609 nnn v2.3
610 2019-02-19
611
612 - file picker mode
613 - repo of user-contributed scripts
614 - substring search for filters (option `-s`)
615 - version sort (option `-n`)
616 - disk usage calculation abort with <kbd>^C</kbd>
617 - create sym/hard link(s) to files in selection
618 - archiving of selection
619 - show dir symlinks along with dirs in top
620 - fixed CJK character handling at prompts
621 - key `N` (1 <= N <= 4) to switch to context N
622 - bring back `NNN_OPENER` to specify file opener
623 - env var `NNN_NOTE` and keybind <kbd>^N</kbd> for quick notes
624 - handle multiple arguments in VISUAL/EDITOR
625 - show the current directory being scanned in `du` mode
626 - select all files (<kbd>Y</kbd>)
627 - show command prompt (<kbd>^P</kbd>)
628 - key <kbd>,</kbd> replaces <kbd>`</kbd> as alternative Leader Key
629 - keybind for visit pinned directory is now <kbd>^B</kbd>
630 - additional key <kbd>^V</kbd> to run or select custom script
631 - use libreadline for command prompt
632 - reduce delay on <kbd>Esc</kbd> press
633 - config option to avoid unexpected behaviour on 0-byte file open (see #187)
634 - rename config option `DISABLE_FILE_OPEN_ON_NAV` to `NNN_RESTRICT_NAV_OPEN`
635 - keys removed - <kbd>$</kbd>, <kbd>^</kbd>, <kbd>Backspace</kbd>, <kbd>^H</kbd>, <kbd>^P</kbd>, <kbd>^M</kbd>, <kbd>^W</kbd>, <kbd>`</kbd>
636
637 -------------------------------------------------------------------------------
638
639 nnn v2.2
640 2019-01-01
641
642 What's in?
643 - (neo)vim plugin [nnn.vim](https://github.com/mcchrish/nnn.vim)
644 - macOS fixes
645   - Fix issues with file copy, move, remove
646   - Handle <kbd>Del</kbd> in rename prompt
647   - Pass correct `file` option to identify mime
648 - Support selection across directories and contexts
649 - Offer option `force` before file remove
650 - Keys <kbd>Tab</kbd>, <kbd>^I</kbd> to go to next active context
651 - Per-context directory color specified by `$NNN_CONTEXT_COLORS`
652   - Option `-c` is removed
653 - Option `-C` to disable colors
654 - Choose script to run from a script directory
655 - Run a command (or launch an application)
656 - Run file as executable (key <kbd>C</kbd>)
657 - Documentation on lftp integration for remote file transfers
658 - Support a _combined_ set of arguments to `$EDITOR`, `$PAGER` and `$SHELL`
659 - Handle > 2 GB files on 32-bit ARM
660 - Env var `$DISABLE_FILE_OPEN_ON_NAV` to disable file open on <kbd>Right</kbd> or <kbd>l</kbd>
661 - `NUL`-terminated file paths in selection list instead of `LF`
662 - Better support for Termux and Cygwin environments
663 - Remapped keys
664   - <kbd>^I</kbd> - go to next active context
665   - <kbd>^T</kbd> - toggle _navigate-as-you-type_
666
667 -------------------------------------------------------------------------------
668
669 nnn v2.1
670 2018-11-23
671
672 What's in?
673 - Inclusion in several distros including Arch Linux official repo
674 - Multiple contexts (_aka_ tabs _aka_ workspaces) [max 4]
675 - Copy, move, remove selected files, remove current file
676 - [Leader key](https://github.com/jarun/nnn#leader-key) (like vim)
677 - In-built  GUI app launcher with up to 2 arguments (key <kbd>o</kbd>)
678 - List copy selection (key <kbd>y</kbd>)
679 - Env var `NNN_NO_AUTOSELECT` to disable dir auto-select
680 - Key <kbd>Esc</kbd> exits prompt, <kbd>^L</kbd> clears prompt
681 - Program runtime help revamped
682 - Static code analysis integration
683 - gcc-8 warnings fixed
684 - Remapped keys:
685   - <kbd>^W</kbd> - go to pinned dir
686   - <kbd>^X</kbd> - delete current entry
687   - <kbd>^Q</kbd> - quit program
688 - `nlay` is retired (functionality built into `nnn`)
689 - `chdir` prompt is retired
690 - Env var `NNN_NO_X` retired, selection now works out of the box
691 - Only single-char bookmark keys (to work with Leader key)
692
693 -------------------------------------------------------------------------------
694
695 nnn v2.0
696 2018-10-19
697
698 What's in?
699 - Mode to show apparent size (key `S`)
700 - Script to integrate `patool` instead of `atool`
701 - Support `bashlock` (OS X) and `lock` (BSD) as terminal locker
702 - Symbol `@/` for symlink to dir
703 - Dependency on `libreadline` removed
704
705 -------------------------------------------------------------------------------
706
707 nnn v1.9
708 2018-08-10
709
710 What's in?
711 - Support unlimited number of scripts
712 - Pass currently selected filename as first argument to custom scripts
713 - Support directory auto-select in _navigate-as-you-type_ mode
714 - Show selection name in archive name prompt
715 - Support Cygwin opener
716 - Better support on RHEL 25 with earlier version on curses
717 - Sample script for `fzy` integration
718 - Now available on OpenBSD
719 - Disabled package generation for Ubuntu 17.10
720
721 -------------------------------------------------------------------------------
722
723 nnn v1.8
724 2018-05-02
725
726 What's in?
727 - Run a custom script
728 - Archive selected file/directory
729 - Show number of cherry-picked files in multi-copy mode
730 - Env var `NNN_SHOW_HIDDEN` to show hidden files by default
731 - Additional information in help screen
732 - Give preference to env var VISUAL, if defined, over EDITOR
733 - New/changed/remapped shortcuts
734   - <kbd>^]</kbd> - spawn a new shell in current directory
735   - <kbd>r</kbd> - edit directory entries in vidir
736   - <kbd>R</kbd> - run a custom script
737   - <kbd>^I</kbd> - toggle navigate-as-you-type mode
738   - <kbd>L</kbd> - lock the current terminal (Linux-only)
739 - All Ctrl shortcuts enabled in navigate-as-you-type mode
740 - Fix: GUI programs closing when parent terminal is closed
741 - Recognize `~`, `-` and `&` at bookmark prompt
742 - Recognize ruby (.rb) files as text files
743 - Efficient integer-only file size calculation
744 - Official inclusion on openSUSE and Fedora
745 - Package generation for Ubuntu 18.04
746
747 -------------------------------------------------------------------------------
748
749 nnn v1.7
750 2018-02-28
751
752 What's in?
753 - Batch rename/move/delete files in vidir from [moreutils](https://joeyh.name/code/moreutils/)
754 - Copy multiple file paths
755 - Copy file paths when X is unavailable
756 - Optionally quote individual file paths with single quotes on copy
757 - Use ISO 8601 date format in file details
758 - New/changed/remapped shortcuts:
759   - <kbd>^B</kbd> - show bookmark prompt (replaces <kbd>b</kbd>)
760   - <kbd>b</kbd> - pin current dir (replaces <kbd>^B</kbd>)
761   - <kbd>^J</kbd> - toggle du mode
762   - <kbd>R</kbd> - batch rename files in vidir
763   - <kbd>^F</kbd> - extract archive (replaces <kbd>^X</kbd>)
764   - <kbd>^G</kbd> - quit nnn and change dir
765   - <kbd>^X</kbd> - quit nnn (replaces <kbd>^Q</kbd>)
766 - Extra shortcuts enabled in nav-as-you-type mode:
767   - <kbd>^K</kbd>, <kbd>^Y</kbd> (file path copy)
768   - <kbd>^T</kbd> (toggles quoted file path copy)
769   - <kbd>^R</kbd> (rename)
770   - <kbd>^O</kbd> (open with...)
771   - <kbd>^B</kbd> (show bookmark prompt)
772   - <kbd>^V</kbd> (visit pinned dir)
773   - <kbd>^J</kbd> (toggle du mode)
774   - <kbd>^/</kbd> (open desktop opener)
775   - <kbd>^F</kbd> (extract archive)
776   - <kbd>^L</kbd> (refresh)
777   - <kbd>^G</kbd> (quit nnn and change dir)
778   - <kbd>^X</kbd> (quit nnn)
779
780 -------------------------------------------------------------------------------
781
782 nnn v1.6
783 2017-12-25
784
785 What's in?
786 - Shortcut `^O` to open file with custom application
787 - Option `-b` to open bookmarks directly at start
788 - Huge performance improvements around file name storing and handling
789 - Several large static buffers removed or reduced
790 - Several internal algorithms fine tuned for performance/resource usage
791
792 -------------------------------------------------------------------------------
793
794 nnn v1.5
795 2017-10-05
796
797 What's in?
798 - File and directory creation (`n`)
799 - Env variable `NNN_NOWAIT` to unblock nnn when opening files (DE-specific)
800 - Show current entry number in status bar
801 - Support archive listing (`F`) and extraction (`Ctrl-X`) [using `atool`]
802 - Show correct file size on i386 for large files (> 2GB)
803
804 -------------------------------------------------------------------------------
805
806 nnn v1.4
807 2017-09-04
808
809 What's in?
810 - Monitor directory changes
811 - In-place file rename
812 - Pin (`Ctrl-B`) a directory and visit (`Ctrl-V`) it anytime
813 - Auto-completion scripts
814 - Show volume capacity and free in help
815 - Auto-fallback to light mode if too few columns (< 35)
816 - PackageCore integration
817 - Unsupported Function keys (they never work universally):
818   - `F2` (rename), use `Ctrl-R`
819   - `F5` (refresh), use `Ctrl-L`
820
821 -------------------------------------------------------------------------------
822
823 nnn v1.3
824 2017-07-26
825
826 What's in?
827 - Show directories in custom color (default: enabled in blue)
828 - Option `-e` to use exiftool instead of mediainfo
829 - Fixed #34: nftw(3) broken with too many open descriptors
830 - More concise help screen
831
832 -------------------------------------------------------------------------------
833
834 nnn v1.2
835 2017-06-29
836
837 What's in?
838 - Use the desktop opener (xdg-open on Linux, open(1) on OS X) to open files
839 - Option `NNN_USE_EDITOR` to open text files in EDITOR (fallback vi)
840 - Bookmark support (maximum 10, key `b`)
841 - *Navigate-as-you-type* mode (key `Insert` or option `-i`)
842 - Subtree search: gnome-search-tool, fallback catfish (key `^/`) (customizable)
843 - Show current directory content size and file count in disk usage mode
844 - Add detail view mode as default, use `-l` to start in light mode
845 - Shortcuts `F2` and `^L` to refresh and unfilter
846   Note: if filter is empty, `Enter` *opens* the currently selected file now
847 - Help screen shows bookmarks and configuration
848 - Show a message when calculating disk usage
849 - Show the spawned shell level
850 - Linux only: use vlock as the locker on timeout (set using `NNN_IDLE_TIMEOUT`)
851
852 -------------------------------------------------------------------------------
853
854 nnn v1.1
855 2017-05-12
856
857 News
858 - Introducing nlay - a highly customizable bash script to handle media type
859 - nnn is on [Homebrew](http://braumeister.org/formula/nnn) now
860 - RPM packages for CentOS 7 and Fedora 24 generated on release
861
862 What's in?
863 - *Search-as-you-type*
864 - Unicode support
865 - Option `-S` to start in disk usage analyzer mode
866 - Show media information (using mediainfo)
867 - Use readline at change directory prompt
868 - Jump to prev directories using `cd .....` (with `.` as PWD)
869 - Jump to initial directory using `&`
870 - Show help, mediainfo and file info in PAGER
871 - Several optimizations
872
873 -------------------------------------------------------------------------------
874
875 nnn v1.0
876 2017-04-13
877
878 Modifications
879 - Behaviour and navigation
880   - Detail view (default: disabled) with:
881     - file type (directory, regular, symlink etc.)
882     - modification time
883     - human-readable file size
884     - current item in reverse video
885     - number of items in current directory
886     - full name of currently selected file in 'bar'
887   - Show details of the currently selected file (stat, file)
888   - Disk usage analyzer mode (within the same fs, doesn't follow symlinks)
889   - Directories first (even with sorting)
890   - Sort numeric names in numeric order
891   - Case-insensitive alphabetic content listing instead of upper case first
892   - Key `-` to jump to last visited directory
893   - Roll over at the first and last entries of a directory (with Up/Down keys)
894   - Removed navigation restriction with relative paths (and let permissions handle it)
895   - Sort entries by file size (largest to smallest)
896   - Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`)
897 - File association
898   - Set `NNN_OPENER` to let a desktop opener handle it all. E.g.:
899         export NNN_OPENER=xdg-open
900         export NNN_OPENER=gnome-open
901         export NNN_OPENER=gvfs-open
902   - Selective file associations (ignored if `NNN_OPENER` is set):
903     - Associate plain text files (determined using file) with vi
904     - Associate common audio and video mimes with mpv
905     - Associate PDF files with [zathura](https://pwmt.org/projects/zathura/)
906     - Removed `less` as default file opener (there is no universal standalone opener utility)
907     - You can customize further (see [how to change file associations](#change-file-associations))
908   - `NNN_FALLBACK_OPENER` is the last line of defense:
909     - If the executable in static file association is missing
910     - If a file type was not handled in static file association
911     - This may be the best option to set your desktop opener to
912   - To enable the desktop file manager key, set `NNN_DE_FILE_MANAGER`. E.g.:
913         export NNN_DE_FILE_MANAGER=thunar
914 - Optimization
915   - All redundant buffer removal
916   - All frequently used local chunks now static
917   - Removed some redundant string allocation and manipulation
918   - Simplified some roundabout procedures
919   - Compiler warnings fixed
920   - strip the final binary
921
922 -------------------------------------------------------------------------------