nnn/plugins
Arun Prakash Jana 2934db3482
Pretty table
2019-06-23 09:18:35 +05:30
..
README.md Pretty table 2019-06-23 09:18:35 +05:30
boom Plugin music: play random music from current dir 2019-04-20 18:12:52 +05:30
checksum Fix #288 2019-06-20 19:17:00 +05:30
fzy-edit Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
fzy-open Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
getplugs Fix #288 2019-06-20 19:17:00 +05:30
hexview Plugins! 2019-04-18 20:32:53 +05:30
imgresize Plugins! 2019-04-18 20:32:53 +05:30
imgur Add license and copyright 2019-05-22 08:48:44 +05:30
ipinfo ipinfo shows external IP address 2019-05-24 23:14:19 +05:30
kdeconnect Fix #288 2019-06-20 19:17:00 +05:30
mocplay Fix #288 2019-06-20 19:17:00 +05:30
ndiff Add an mp3 ringtone generator 2019-06-21 22:36:34 +05:30
nmount Supprt exit on 'q' 2019-06-10 19:47:00 +05:30
nwal Plugins! 2019-04-18 20:32:53 +05:30
pastebin Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
pdfview Update plugins, add mutool to view PDF 2019-06-01 00:34:07 +05:30
picker Plugins! 2019-04-18 20:32:53 +05:30
pywal Plugins! 2019-04-18 20:32:53 +05:30
readit Add text2speech plugin 2019-06-23 01:43:52 +05:30
ringtone Add an mp3 ringtone generator 2019-06-21 22:36:34 +05:30
splitjoin Add an mp3 ringtone generator 2019-06-21 22:36:34 +05:30
sxiv Plugins! 2019-04-18 20:32:53 +05:30
transfer Plugins! 2019-04-18 20:32:53 +05:30
upgrade Plugins! 2019-04-18 20:32:53 +05:30
viuimg Add plugin to view image and browse image dir 2019-06-02 21:37:42 +05:30

README.md

Plugin (a-z) Lang Deps Description
boom sh SMPlayer Play random music from dir (modify PLAYER)
checksum sh md5sum,
sha256sum
Create and verify checksums
fzy-edit sh fzy Fuzzy find a file in directory subtree and edit in vim
fzy-open sh fzy Fuzzy find a file in directory subtree and open using xdg-open
getplugs sh wget Update plugins
hexview sh xxd View a file in hex in $PAGER
imgresize sh imgp Resize images in directory to screen resolution
imgur bash - Upload an image to imgur (from imgur-screenshot)
ipinfo sh curl, whois Fetch external IP address and whois information
kdeconnect sh kdeconnect-cli Send selected files to an Android device
mocplay sh moc Appends (and plays, see script) selection/dir/file in moc
ndiff sh vimdiff Diff for selection (limited to 2 for directories)
nmount sh pmount, udisks2 Toggle mount status of a device as normal user
nwal sh nitrogen Set the selected image as wallpaper using nitrogen
pastebin sh pastebinit Paste contents of (text) file to paste.ubuntu.com
pdfview sh pdftotext/
mupdf-tools
View PDF file in $PAGER
picker sh nnn Pick files and pipe the newline-separated list to another utility
pywal sh pywal Set selected image as wallpaper, change terminal color scheme
readit sh pdftotext, mpv,
pico2wave
Read a PDF or text file aloud
ringtone sh date, ffmpeg Create a variable bitrate mp3 ringtone from file
splitjoin sh split, cat Split file or join selection
sxiv sh sxiv Browse images in a dir in sxiv, set wallpaper, copy path (config)
transfer sh curl Upload file to transfer.sh
upgrade sh wget Upgrade to latest nnn version manually on Debian 9 Stretch
viuimg sh viu, less View an image or images in a directory

Installing plugins

Download the getplugs plugin and execute it anywhere to get all the plugins installed to ${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins. You can run it again later to update the plugins. It backs up earlier plugins.

NOTE: getplugs also downloads the launcher nlaunch and tries to place it at /usr/local/bin/ using sudo. If it fails you have to place nlauch manually somewhere in your $PATH.

File access from plugins

Plugins can access:

  • all files in the directory (nnn switches to the dir where the plugin is to be run so the dir is $PWD for the plugin)
  • the current file under the cursor (the file name is passed as the argument to a plugin)
  • the current selection (by reading the file .selection in config dir, see the plugin ndiff)

Each script has a Description section which provides more details on what the script does, if applicable.

Usage

Use the pick plugin shortcut to visit the plugin directory and execute a plugin. Repeating the same shortcut cancels the operation and puts you back in the original directory.

Contributing plugins

Plugins are scripts and all scripting languages should work. However, POSIX-compliant shell scripts runnable in sh are preferred. If that's too rudimentary for your use case, use Python, Perl or Ruby. Please keep non-portable commands (like notify-send) commented so users from any other OS/DE aren't surprised.

The plugins should be executable. Please add an entry in the table above.