Add a better POSIX compliant way of getting a list of passwords

This commit is contained in:
krisdoodle45 2021-12-10 18:39:47 +01:00 committed by GitHub
parent 2fa2c328cc
commit fa9ba1d263
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,7 @@
totp_tmp="${XDG_CACHE_HOME:-$HOME/.cache}/totp-tmp.png" totp_tmp="${XDG_CACHE_HOME:-$HOME/.cache}/totp-tmp.png"
getPasswords() { getPasswords() {
choice="$(pass | sed -E "1d;s/(└|├|─|─ )//g" | grep -v "totp" | dmenu -i -p "Passwords")" choice="$(find "${PASSWORD_STORE_DIR--~/.password-store}" -type f | sed "s|${PASSWORD_STORE_DIR-~/.password-store}/|| ; s/.gpg$// ; /.gpg-id/d" | sort | grep -v "totp" | dmenu -i -p "Passwords")"
[ -z "$choice" ] && exit [ -z "$choice" ] && exit
@ -11,7 +11,7 @@ getPasswords() {
} }
getTOTP() { getTOTP() {
choice="$(pass | sed -E "1d;s/(└|├|─|─ )//g" | grep "totp" | dmenu -i -p "OTP")" choice="$(find "${PASSWORD_STORE_DIR--~/.password-store}" -type f | sed "s|${PASSWORD_STORE_DIR-~/.password-store}/|| ; s/.gpg$// ; /.gpg-id/d" | sort | grep "totp" | dmenu -i -p "OTP")"
[ -z "$choice" ] && exit [ -z "$choice" ] && exit
@ -40,15 +40,15 @@ addPassword() {
case "$(printf "Random password\\nManual password" | dmenu -i -p "Passwords")" in case "$(printf "Random password\\nManual password" | dmenu -i -p "Passwords")" in
"Random password") "Random password")
case "$(printf "Simple\\nComplex" | dmenu -i -p "Passwords")" in case "$(printf "Complex\\nSimple" | dmenu -i -p "Passwords")" in
"Simple")
addPass=$(tr -dc 'A-Za-z0-9' </dev/urandom |
head -c "$(printf "12\\n32\\n128" |
dmenu -i -p "How many characters?")" ; echo) ;;
"Complex") "Complex")
addPass=$(tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | \ addPass=$(tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | \
head -c "$(printf "12\\n32\\n128" | head -c "$(printf "12\\n32\\n128" |
dmenu -i -p "How many characters?")" ; echo) ;; dmenu -i -p "How many characters?")" ; echo) ;;
"Simple")
addPass=$(tr -dc 'A-Za-z0-9' </dev/urandom |
head -c "$(printf "12\\n32\\n128" |
dmenu -i -p "How many characters?")" ; echo) ;;
* ) exit ;; * ) exit ;;
esac ;; esac ;;
"Manual password") addPass=$(dmenu -i -P -p "Enter a password") ;; "Manual password") addPass=$(dmenu -i -P -p "Enter a password") ;;
@ -62,7 +62,7 @@ addPassword() {
} }
removePassword() { removePassword() {
name="$(pass | sed -E "1d;s/(└|├|─|─ )//g" | dmenu -i -p "Passwords")" name="$(find "${PASSWORD_STORE_DIR--~/.password-store}" -type f | sed "s|${PASSWORD_STORE_DIR-~/.password-store}/|| ; s/.gpg$// ; /.gpg-id/d" | sort | dmenu -i -p "Passwords")"
[ -z "$name" ] && exit [ -z "$name" ] && exit