51 lines
974 B
Plaintext
51 lines
974 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
# Credit goes to https://git.reekynet.com/ReekyMarko/fzf-pass for this.
|
||
|
|
||
|
cd "$HOME/.password-store" || exit 1
|
||
|
PASSFILE=$(tree -Ffi \
|
||
|
| grep '.gpg' \
|
||
|
| sed 's/.gpg$//g' \
|
||
|
| sed 's/^..//' \
|
||
|
| fzf --reverse --no-info --prompt='pass::' --pointer='➜' --no-multi )
|
||
|
|
||
|
|
||
|
if [ -z "$PASSFILE" ]; then
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
PASSDATA="$(pass "$PASSFILE")"
|
||
|
USRNAME="$(echo "$PASSDATA" | grep "username:" | cut -d' ' -f2-)"
|
||
|
PASS="$(echo "$PASSDATA" | head -n 1)"
|
||
|
URL="$(echo "$PASSDATA" | grep url: | cut -d' ' -f2-)"
|
||
|
|
||
|
RESP=$(cat <<EOF | fzf
|
||
|
Autotype
|
||
|
Username
|
||
|
Password
|
||
|
URL
|
||
|
Page
|
||
|
EOF
|
||
|
);
|
||
|
|
||
|
swaymsg move container to workspace 9
|
||
|
|
||
|
case "$RESP" in
|
||
|
Autotype)
|
||
|
ydotool type "$USRNAME" && ydotool key Tab && ydotool type "$PASS" && ydotool key Enter
|
||
|
;;
|
||
|
Username)
|
||
|
ydotool type "$USRNAME"
|
||
|
;;
|
||
|
Password)
|
||
|
ydotool type "$PASS"
|
||
|
;;
|
||
|
URL)
|
||
|
ydotool type "$URL"
|
||
|
;;
|
||
|
Page)
|
||
|
"$(dirname "$0")/tty-popup" info "bash -c 'echo ${PASSDATA} | LESS=R less'"
|
||
|
;;
|
||
|
*)
|
||
|
exit 1
|
||
|
esac
|