diff options
| author | Anton Bobov <anton@bobov.name> | 2023-10-25 19:17:11 +0500 |
|---|---|---|
| committer | Anton Bobov <anton@bobov.name> | 2023-10-27 14:26:55 +0500 |
| commit | 62c95ef2f3a2374ddda52302d54801cfe442484d (patch) | |
| tree | 8b74bb0bee41cf62bc9149429dac7b0f81123919 /files/.config/nnn/plugins/gpgd | |
| parent | 748cafebaf85b9827c8d3df4535a1a34ddbe82fd (diff) | |
[nnn] Add getplugs plugin and update all plugins
Diffstat (limited to 'files/.config/nnn/plugins/gpgd')
| -rwxr-xr-x | files/.config/nnn/plugins/gpgd | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/files/.config/nnn/plugins/gpgd b/files/.config/nnn/plugins/gpgd new file mode 100755 index 0000000..44d5c0f --- /dev/null +++ b/files/.config/nnn/plugins/gpgd @@ -0,0 +1,28 @@ +#!/usr/bin/env sh + +# Description: Decrypts selected files using gpg. The contents of the +# decrypted file are stored in a file with extension .dec +# +# Note: If an appropriate private key cannot be found gpg silently +# prints a message in the background and no files are written. +# +# Shell: POSIX compliant +# Author: KlzXS + +selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.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" {} + +# Clear selection +if [ "$resp" = "s" ] && [ -p "$NNN_PIPE" ]; then + printf "-" > "$NNN_PIPE" +fi |
