56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			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 \
 | 
						|
  --color="gutter:0,prompt:2" \
 | 
						|
  --no-info \
 | 
						|
  --no-multi \
 | 
						|
  --pointer='➜' \
 | 
						|
  --preview "echo {} && (echo {} | sed 's/./-/g') && pass {}" \
 | 
						|
  --prompt='pass::' \
 | 
						|
  --reverse )
 | 
						|
 | 
						|
 | 
						|
if [ -z "$PASSFILE" ]; then
 | 
						|
	exit 0
 | 
						|
fi
 | 
						|
 | 
						|
RESP=$(cat <<EOF | fzf
 | 
						|
Autotype
 | 
						|
Username
 | 
						|
Password
 | 
						|
Page
 | 
						|
QR
 | 
						|
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
 | 
						|
    ;;
 | 
						|
  QR)
 | 
						|
    swaymsg exec "pass show \"${PASSFILE}\" --qrcode"
 | 
						|
    ;;
 | 
						|
  *)
 | 
						|
    exit 1
 | 
						|
esac
 |