aboutsummaryrefslogtreecommitdiffstats
path: root/bin/pinentry
blob: 524bc599fee79c417dcd1ebea43fa5efc4e05cef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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: #