]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # https://kevinlocke.name/bits/2019/07/31/prefer-terminal-for-gpg-pinentry | |
3 | ||
4 | set -C | |
5 | gfx="qt gnome gtk-4 gtk-3 gtk-2 gtk bemenu dmenu x11" | |
6 | tty="curses-ss curses tty" | |
7 | case "${PINENTRY_USER_DATA-}" in | |
8 | # prefer tty unless USE_TTY is 0 | |
9 | *USE_TTY=0*) list="$gfx $tty";; | |
10 | *) list="$tty $gfx";; | |
11 | esac | |
12 | ||
13 | for x in $list; do | |
14 | p=$(command -v "pinentry-$x") | |
15 | if [ $? = 0 ]; then | |
16 | exec "$p" "$@" | |
17 | fi | |
18 | done | |
19 | ||
20 | # fallback | |
21 | exec pinentry "$@" | |
22 | ||
23 | echo "No pinentry program found" >&2 |