diff options
| author | Sam Nystrom <sam@samnystrom.dev> | 2024-10-15 13:29:10 -0400 |
|---|---|---|
| committer | Sam Nystrom <sam@samnystrom.dev> | 2024-10-15 13:29:10 -0400 |
| commit | 2c98bbacc8db3b251e1679f9da84cf1f5ed5726a (patch) | |
| tree | 10d44c9b82d275d66d880ff8ec33992cddda12b5 /bin/hiprompt-wmenu | |
| parent | c8c79e6c6a5c4bb1e0ba44f309ce5ae612f97e1c (diff) | |
update ~/bin
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 |
