45 lines
885 B
Bash
Executable File
45 lines
885 B
Bash
Executable File
#!/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
|
|
|
|
RESP=$(cat <<EOF | fzf
|
|
Autotype
|
|
Username
|
|
Password
|
|
Page
|
|
EOF
|
|
);
|
|
|
|
case "$RESP" in
|
|
Autotype)
|
|
swaymsg exec "source ~/.profile \
|
|
&& ydotool type \"\$(pass get_user $PASSFILE)\" \
|
|
&& ydotool key TAB \
|
|
&& ydotool type \"\$(pass get_pass $PASSFILE)\""
|
|
;;
|
|
Username)
|
|
swaymsg exec "source ~/.profile \
|
|
&& ydotool type \"\$(pass get_user $PASSFILE)\""
|
|
;;
|
|
Password)
|
|
swaymsg exec "source ~/.profile \
|
|
&& ydotool type \"\$(pass get_pass $PASSFILE)\""
|
|
;;
|
|
Page)
|
|
pass "$PASSFILE" | LESS=R less
|
|
;;
|
|
*)
|
|
exit 1
|
|
esac
|