diff options
author | makefu <github@syntax-fehler.de> | 2018-11-28 22:19:52 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2018-11-28 22:19:52 +0100 |
commit | ee4ffd2fcfd8c3906eb9bf4651c8a6fb70f6f3ea (patch) | |
tree | 82e9ff79db74ccc03f87c3c66972317ef3031a0d /tv/5pkgs/simple/fzmenu/bin/passmenu | |
parent | 26c897d72ce24a300b871a737c74742f35221006 (diff) | |
parent | 95f6255f586e93e096d56de75add76d7560b9df1 (diff) |
Merge remote-tracking branch 'lassul.us/master'
Diffstat (limited to 'tv/5pkgs/simple/fzmenu/bin/passmenu')
-rwxr-xr-x | tv/5pkgs/simple/fzmenu/bin/passmenu | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tv/5pkgs/simple/fzmenu/bin/passmenu b/tv/5pkgs/simple/fzmenu/bin/passmenu new file mode 100755 index 000000000..00b36c3af --- /dev/null +++ b/tv/5pkgs/simple/fzmenu/bin/passmenu @@ -0,0 +1,41 @@ +#! /bin/sh +set -efu + +#PATH= + +case ${FZMENU_PHASE-0} in + 0) + export FZMENU_PHASE=1 + exec setsid -f urxvt -name fzmenu-urxvt -e dash "$0" + ;; + 1) + if result=$( + FZF_DEFAULT_OPTS=${FZMENU_FZF_DEFAULT_OPTS-} + if test -n "$FZF_DEFAULT_OPTS"; then + export FZF_DEFAULT_OPTS + fi + pass git ls-files '*/*.gpg' | \ + sed ' + /\/otp\.gpg$:/d + s/\.gpg$// + ' | + exec fzf \ + --history=/dev/null \ + --no-sort \ + --prompt='pass: ' \ + ) + then + export FZMENU_PHASE=2 + export FZMENU_RESULT="$result" + setsid -f "$0" + fi + ;; + 2) + pass=$(pass show "$FZMENU_RESULT") + printf %s "$pass" | + xdotool type -f - + ;; + *) + echo "$0: error: bad phase: $FZMENU_PHASE" >&2 + exit -1 +esac |