summaryrefslogtreecommitdiff
path: root/private_dot_local/bin/executable_pinentry-menu
diff options
context:
space:
mode:
authorLibravatar Martin Michalec <martin@michalec.dev>2026-02-11 02:47:33 +0000
committerLibravatar Martin Michalec <martin@michalec.dev>2026-02-11 02:47:33 +0000
commit2c485ce2b43bd810a88278215b771136a2a17881 (patch)
tree3fb74338b87553d898af7b1795de7322cbc5af63 /private_dot_local/bin/executable_pinentry-menu
parentadd xdg (diff)
downloaddotfiles-2c485ce2b43bd810a88278215b771136a2a17881.tar.gz
add scripts
Diffstat (limited to 'private_dot_local/bin/executable_pinentry-menu')
-rw-r--r--private_dot_local/bin/executable_pinentry-menu33
1 files changed, 33 insertions, 0 deletions
diff --git a/private_dot_local/bin/executable_pinentry-menu b/private_dot_local/bin/executable_pinentry-menu
new file mode 100644
index 0000000..5f42c0c
--- /dev/null
+++ b/private_dot_local/bin/executable_pinentry-menu
@@ -0,0 +1,33 @@
1#!/bin/sh
2
3echo "OK Pleased to meet you"
4
5while read line; do
6 echo "GPG sent: $line" >> /tmp/pinentry-trace.log
7 # Ignore empty lines
8 [ -z "$line" ] && continue
9
10 case "$line" in
11 *GETPIN*)
12 # Run menu and capture output
13 # We use /dev/tty for input if needed, but wmenu usually handles its own window
14 PIN=$(echo -n | menu -p "Passphrase: " -P)
15
16 if [ $? -ne 0 ] || [ -z "$PIN" ]; then
17 echo "CAN"
18 else
19 echo "D $PIN"
20 echo "OK"
21 fi
22 ;;
23 *BYE*)
24 echo "OK"
25 exit 0
26 ;;
27 *)
28 # For everything else (SETDESC, SETPROMPT, OPTION, etc.)
29 # We MUST say OK or the agent thinks we crashed
30 echo "OK"
31 ;;
32 esac
33done