aboutsummaryrefslogtreecommitdiffstats
path: root/bin/pinentry
diff options
context:
space:
mode:
Diffstat (limited to 'bin/pinentry')
-rwxr-xr-xbin/pinentry34
1 files changed, 34 insertions, 0 deletions
diff --git a/bin/pinentry b/bin/pinentry
new file mode 100755
index 0000000..524bc59
--- /dev/null
+++ b/bin/pinentry
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# PINentry shim to support both terminal and graphical usages.
+#
+# Credit: http://blog.mrloop.com/workflow/2017/02/09/pin-entry.html
+#
+# Aaron LI
+# 2018-01-13
+#
+
+# GPG2 shim to support force use the graphical pinentry (`~/bin/gpg2-x11`).
+# ------------------------------------------------------------------>8
+# #!/bin/sh
+# GPG2=$(which gpg2) || exit 1
+# CFG=${XDG_RUNTIME_DIR}/pinentry-app
+# echo "x11" > ${CFG}
+# exec ${GPG2} "$@"
+# ------------------------------------------------------------------>8
+
+ENTRY_TERM="curses" # PIN entry variant for terminal (and default)
+ENTRY_X11="gtk-2" # for X11 usage
+
+CFG=${XDG_RUNTIME_DIR}/pinentry-app
+TYPE=$([ -f ${CFG} ] && cat ${CFG})
+if [ -n "${TYPE}" ] && [ "${TYPE}" = "x11" ]; then
+ ENTRY="${ENTRY_X11}"
+else
+ ENTRY="${ENTRY_TERM}"
+fi
+
+PINENTRY=$(which "pinentry-${ENTRY}") || exit 1
+exec ${PINENTRY} "$@"
+
+# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh: #