dotfiles/scripts/rofi-rbw
2021-08-17 20:39:50 -05:00

59 lines
1.4 KiB
Bash
Executable file

#!/usr/bin/env bash
# Very basic interface for pass using rofi
# Get all password files and create an array
root=~/.password-store
CACHE=~/.local/tmp/pass_rofi
seat=seat0
list_passwords() {
rbw list
}
prompt='search for passwords...'
SECRET=$(list_passwords | rofi -i -p="${prompt}" -dmenu --no-lazy-grab)
# Ask whether pass, user or both are required
# options=("Password" \
# "User" \
# "User and password" \
# "QR-Code" \
# "OTP")
# option=$(printf '%s\n' "${options[@]%}" | rofi -i -dmenu -width 400 -lines 4 -prompt="...")
# echo $option
# case ${option} in
# Password )
# echo "${SECRET}"
# xdotool type $(rbw get "${SECRET}")
# ;;
# User )
# xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}')
# ;;
# "User and password" )
# xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}')
# xdotool key Tab
# xdotool type $(rbw get "${SECRET}")
# ;;
# "QR-Code" )
# if [[ $SECRET =~ wifi$ ]]; then
# # Produce a valid wifi QR-code
# WIFISSID=$(pass get_user ${SECRET})
# WIFIPASS=$(pass get_pass ${SECRET})
# WIFIQR="WIFI:T:WPA;S:${WIFISSID};P:${WIFIPASS};;"
# qrencode -s 8 -o - $WIFIQR | feh --title "pass: QR-WIFI" -
# else
# # Only password
# pass show -q1 ${SECRET}
# fi
# ;;
# "OTP" )
# xdotool type $(rbw code ${SECRET})
# ;;
# esac
# # wl-copy -o -s ${seat} ${PASSWD_PASS}