29 lines
809 B
Bash
Executable file
29 lines
809 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
shopt -s nullglob globstar
|
|
|
|
prefix=${PASSWORD_STORE_DIR-~/.password-store}
|
|
password_files=( "$prefix"/**/*.gpg )
|
|
password_files=( "${password_files[@]#"$prefix"/}" )
|
|
password_files=( "${password_files[@]%.gpg}" )
|
|
|
|
# entry=$(printf "%s\n" "${password_files[@]}" | rofi -dmenu -p pass: "$@")
|
|
entry=$(printf "%s\n" "${password_files[@]}" | gui-fzf)
|
|
|
|
[[ -n $entry ]] || exit
|
|
out=$(pass show "$entry")
|
|
|
|
[[ $out ]] || exit
|
|
fields=$(echo "$out" | cut -d: -f1 | tail -n +2)
|
|
# field=$(printf "password\n%s\n" "${fields[@]}" | rofi -dmenu -p pass:field:)
|
|
field=$(printf "password\n%s\n" "${fields[@]}" | gui-fzf)
|
|
|
|
case "$field" in
|
|
password)
|
|
pass -c "$entry"
|
|
;;
|
|
*)
|
|
echo "$out" | grep "^${field}:" | awk '{print $2}' | xclip -selection clipboard -in
|
|
;;
|
|
esac
|