]> git.sev.monster Git - dotfiles.git/blobdiff - bin/pinentry
vimrc: fix modeline aucmd
[dotfiles.git] / bin / pinentry
index 7b83ff5d3be433d12a3f167a3997d5cb9f258696..5a31bd427e05d67d1672911c9d3460e00f19420d 100755 (executable)
@@ -1,19 +1,23 @@
 #!/bin/sh
 # https://kevinlocke.name/bits/2019/07/31/prefer-terminal-for-gpg-pinentry
 
-set -Ce
-graphics="gtk-2 gtk qt x11 gnome"
-tty="curses tty"
+set -C
+gfx="qt gnome gtk-4 gtk-3 gtk-2 gtk bemenu dmenu x11"
+tty="curses-ss curses tty"
 case "${PINENTRY_USER_DATA-}" in
-       *USE_TTY=1*) list="$tty $graphics";;
-       *)           list="$graphics $tty";;
+       # prefer tty unless USE_TTY is 0
+       *USE_TTY=0*) list="$gfx $tty";;
+       *)           list="$tty $gfx";;
 esac
 
 for x in $list; do
-       p=which "pinentry-$x" 2>/dev/null
+       p=$(command -v "pinentry-$x")
        if [ $? = 0 ]; then
                exec "$p" "$@"
        fi
 done
 
+# fallback
+exec pinentry "$@"
+
 echo "No pinentry program found" >&2
This page took 0.038887 seconds and 4 git commands to generate.