diff options
Diffstat (limited to 'bin/hiprompt-wmenu')
| -rwxr-xr-x | bin/hiprompt-wmenu | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/hiprompt-wmenu b/bin/hiprompt-wmenu new file mode 100755 index 0000000..91fd50e --- /dev/null +++ b/bin/hiprompt-wmenu @@ -0,0 +1,28 @@ +#!/bin/sh + +read -r version +[ ! "$version" = 'version' ] && exit 1 +printf 'version 0.0.0\n' + +keys= +while read -r command; do + case "$command" in + 'key '*) + keys="$keys\n${command#key\ }" + ;; + 'prompt '*) + case "${command#prompt\ }" in + disclose) prompt='Disclose keys?' ;; + delete) prompt='Delete keys?' ;; + esac + exec test "$(printf 'Yes\nNo\n%b\n' "$keys" | wmenu -l 20 -p "$prompt")" = Yes + ;; + 'password incorrect'|'unlock') + prompt='Unlock keyring:' + [ "$command" = 'password incorrect' ] && prompt="Password incorrect. $prompt" + pass="$(wmenu -p "$prompt" </dev/null)" + [ -z "$pass" ] && exit 1 + printf 'password %s\n' "$pass" + ;; + esac +done |
