]> Sergey Matveev's repositories - nnn.git/commitdiff
Added selection prompt and README entry (#633)
authorKlzXS <azszwymmvqdi@yahoo.com>
Thu, 4 Jun 2020 14:51:50 +0000 (14:51 +0000)
committerGitHub <noreply@github.com>
Thu, 4 Jun 2020 14:51:50 +0000 (20:21 +0530)
plugins/README.md
plugins/gpgd
plugins/gpge

index dc95d96d005c212d7346ed4b6358fd41916e6499..e4f24916870bc28ab56440fae9b05d9f2a1bb5aa 100644 (file)
@@ -40,6 +40,8 @@ Plugins are installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`.
 | fzz | Change to any directory in the z database with fzf | sh | fzf, z |
 | getplugs | Update plugins to installed `nnn` version | sh | curl |
 | gutenread | Browse, download, read from Project Gutenberg | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional) |
+| gpgd | Decrypt files using gpg | sh | gpg |
+| gpge | Encrypt files using gpg | sh | gpg, fzf (see in-file docs) |
 | hexview | View a file in hex in `$PAGER` | sh | xxd |
 | imgresize | Resize images in dir to screen resolution | sh | [imgp](https://github.com/jarun/imgp) |
 | imgthumb | View thumbnail of an image or dir of images | sh | [lsix](https://github.com/hackerb9/lsix) |
index 0fd3c8d41974b152b1bf4567d8e13eeacf17a886..0dde58867beb8264b10ebc84159efad6b79a4ef9 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 # Description: Decrypts selected files using gpg. The contents of the decrypted file are stored in a file with extension .dec
 #
@@ -9,7 +9,14 @@
 
 selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
 
-files=$(tr '\0' '\n' < "$selection")
+printf "(s)election/(c)urrent? [default=c] "
+read -r resp
+
+if [ "$resp" = "s" ]; then
+       files=$(tr '\0' '\n' < "$selection")
+else
+       files=$1
+fi
 
 printf "%s" "$files" | xargs -n1 -I{} gpg --decrypt --output "{}.dec" {}
 
index 5f7b33dc6c6fb9422aac88e3e0f26466114d7deb..e69e11673b2da62b1beb7ddcdd4f8e39c7323a0f 100755 (executable)
@@ -1,9 +1,9 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 # Description: Encrypts selected files using gpg. Can encrypt either asymmetrically (key) or symmetrically (passphrase).
 #              If asymmetric encryption is chosen a key can be chosen from the list of capable public keys using fzf.
 #
-# Note: symmetric encryption only works for a single file as per gpg limitations
+# Note: symmetric encryption only works for a single (current) file as per gpg limitations
 #
 # Shell: POSIX compliant
 # Author: KlzXS
@@ -13,10 +13,18 @@ selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
 printf "(s)ymmetric, (a)symmetric? [default=a] "
 read -r symmetry
 
-files=$(tr '\0' '\n' < "$selection")
 if [ "$symmetry" = "s" ]; then
-       gpg --symmetric "$files"
+       gpg --symmetric "$1"
 else
+       printf "(s)election/(c)urrent? [default=c] "
+       read -r resp
+
+       if [ "$resp" = "s" ]; then
+               files=$(tr '\0' '\n' < "$selection")
+       else
+               files=$1
+       fi
+
        keyids=$(gpg --list-public-keys --with-colons | grep -E "pub:(.*:){10}.*[eE].*:" | awk -F ":" '{print $5}')
 
        #awk needs literal $10