summaryrefslogtreecommitdiff
path: root/private_dot_local/bin/executable_pinentry-menu
diff options
context:
space:
mode:
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