* Add a tabbed/xembed based file previewer plugin
This plugin is written in bash, because job control is not well
specified in POSIX sh (`jobs` can return anything).
We use `tabbed` [1] as a xembed [2] host, to have a single window
owning each previewer window.
Uses mpv, sxiv, zathura, and the nuke plugin.
[1]: http://tools.suckless.org/tabbed/
[2]: https://specifications.freedesktop.org/xembed-spec/xembed-spec-latest.html
* tabbed-preview: prevent focus steal with xdotool
* preview-tabbed: tabs->4 spaces
* preview-tabbed: add focus prevention timeout
* Add an option to print hovered files to a FIFO
This adds an env variable, `NNN_FIFO`, that can be set to a path that
`nnn` will open/create as a FIFO, and where every hovered file's path is
printed. This allows creating external perview/quick open plugins, ...
It can be compiled out with the make variable `O_NOFIFO`.
* Check filename ptr instead of full path (for FIFO)
* Add documentation to use NNN_FIFO in plugins
* Fix path sent to FIFO in empty dirs
The current code will start editor if the mime doesn't start with
"text/". But, we want the opposite.
Simplify the check by using `strncmp` instead.
We may improve by writing a helper: `start_withs` in the future.
This change also cleans -Wstrict-aliasing on Ubuntu 16.04 LTS
Support `$_Z_DATA` environment variable per z's documentation dcd5541e7d/z.1 (L78).
`$_Z_DATA` allows changing the default location of the z database file.