nnn/plugins
Arun Prakash Jana 5cf3471716
Plugins!
2019-04-18 20:32:53 +05:30
..
edit Plugins! 2019-04-18 20:32:53 +05:30
fzy Plugins! 2019-04-18 20:32:53 +05:30
hexview Plugins! 2019-04-18 20:32:53 +05:30
imgresize Plugins! 2019-04-18 20:32:53 +05:30
imgur Plugins! 2019-04-18 20:32:53 +05:30
kdeconnect Plugins! 2019-04-18 20:32:53 +05:30
ndiff Plugins! 2019-04-18 20:32:53 +05:30
nwal Plugins! 2019-04-18 20:32:53 +05:30
paste Plugins! 2019-04-18 20:32:53 +05:30
picker Plugins! 2019-04-18 20:32:53 +05:30
pywal Plugins! 2019-04-18 20:32:53 +05:30
README.md Plugins! 2019-04-18 20:32:53 +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

Plugin (a-z) Lang Deps Description
edit sh fzy Fuzzy find a file in directory subtree and edit in vim
fzy sh fzy Fuzzy find a file in directory subtree and open using xdg-open
hexview sh xxd, $PAGER view a file in hex
imgresize sh imgp Resize images in directory to screen resolution
imgur bash imgur Upload an image to imgur
kdeconnect sh kdeconnect-cli Send selected files to an Android device
ndiff sh vimdiff File and directory diff for selection
nwal sh nitrogen Set the selected image as wallpaper using nitrogen
paste sh pastebinit Paste contents of current (text) file to paste.ubuntu.com
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
sxiv sh sxiv Open images in a dir in sxiv, set wallpaper, copy path (tips)
transfer sh curl Upload current file to transfer.sh
upgrade sh wget Upgrade to latest nnn version manually on Debian 9 Stretch

File access from plugins

The design is flexible so a plugin 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 currently highlighted file (the file name is passed as the argument to a plugin)
  • the current selection (by reading the file .nnncp, see the plugin ndiff)

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.