You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
753 B
32 lines
753 B
#!/usr/bin/env bash |
|
|
|
shopt -s nullglob globstar |
|
|
|
typeit=0 |
|
if [[ $1 == "--type" ]]; then |
|
typeit=1 |
|
shift |
|
fi |
|
|
|
prefix=${PASSWORD_STORE_DIR-~/.password-store} |
|
name=${TITLE-pass} |
|
password_files=( "$prefix"/**/*.gpg ) |
|
password_files=( "${password_files[@]#"$prefix"/}" ) |
|
password_files=( "${password_files[@]%.gpg}" ) |
|
|
|
password=$(printf '%s\n' "${password_files[@]}" | dmenu -p ${name} "$@") |
|
|
|
[[ -n $password ]] || exit |
|
|
|
if [[ $typeit -eq 0 ]]; then |
|
pass show -c "$password" 2>/dev/null |
|
returns=$? |
|
if (( returns )); then |
|
msg="failed" |
|
else |
|
msg="copied" |
|
fi |
|
notify-send -a "pass" "$msg" "$password" |
|
else |
|
gopass show "$password" | { read -r pass; printf %s "$pass"; } | xdotool type --clearmodifiers --file - |
|
fi
|
|
|