diff options
| author | --global <ik.boikov.public@protonmail.com> | 2021-08-07 19:58:27 +0200 |
|---|---|---|
| committer | --global <ik.boikov.public@protonmail.com> | 2021-08-07 19:58:27 +0200 |
| commit | 7fa1acb751b2f3ade2baec109b1aef712f663ac9 (patch) | |
| tree | 8fb3c4ac3234296902940190f827ebb2a49c10fc /scripts | |
| parent | b9e54b94f5dab140be5ad7b20b3d844e5cb270db (diff) | |
better dpass
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/.local/bin/dpass | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/scripts/.local/bin/dpass b/scripts/.local/bin/dpass index 9da7c0d..7227b61 100755 --- a/scripts/.local/bin/dpass +++ b/scripts/.local/bin/dpass @@ -29,7 +29,31 @@ password=$(printf '%s\n' "${password_files[@]}" | "$dmenu" -l 30 "$@") [[ -n $password ]] || exit if [[ $typeit -eq 0 ]]; then - pass show -c "$password" 2>/dev/null + action=$(printf "login\npass\ninfo" | dmenu -l 3) + case $action in + login) + pass show "$password" | sed -n -e '/^login:/p' | awk '{print $2}' | xclip -sel c + notify-send "Login for $password was copied to clipboard" + ;; + pass) + pass show -c "$password" 2>/dev/null + notify-send "Password for $password was copied to clipboard" + ;; + info) + data=$(pass show $password | sed 1d | dmenu -l 30) + if [[ -n "$data" ]] + then + do_trim=$(printf 'No\nYes' | dmenu -p "Trim \"$(echo $data | awk '{print $1}')\" in front?" -l 2) + if [[ $do_trim == "Yes" ]]; then + data=$(echo "$data" | cut -f 2- -d ' ') + fi + echo $data | xclip -sel c + notify-send "Info for $password was copied to clipboard" + else + notify-send "No info for $password was selected, clipboard not changed" + fi + ;; + esac else pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | $xdotool fi |
