Update 2024-02-25 14:11 OpenBSD/amd64-x13
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
. $HOME/.bin/_config
|
||||
set -x
|
||||
|
||||
shopt -s nullglob globstar
|
||||
|
||||
@@ -14,16 +15,38 @@ password=$(printf '%s\n' "${password_files[@]}" | $DMENU_CMD -p Password)
|
||||
# read password file
|
||||
password_out=$(pass "$password" 2> /dev/null)
|
||||
|
||||
# copy password line
|
||||
printf "%s" "$password_out" | head -1 | xclip -r
|
||||
|
||||
# extract additional information
|
||||
password_info=$(printf "%s" "$password_out" | grep -Ei -m 1 'login|user|email')
|
||||
#url_info=$(printf "%s" "$password_out" | grep -Ei '^url' | awk -F"[ :]*" '{ $1=""; print $0 }' )
|
||||
copy_password() {
|
||||
# copy password line
|
||||
printf "%s" "$password_out" | head -1 | xclip -r
|
||||
|
||||
# show desktop notification
|
||||
if [[ -n $password_info ]]; then
|
||||
$NOTIFY_CMD "$(printf '%s' "$password_info")"
|
||||
# extract additional information
|
||||
password_info=$(printf "%s" "$password_out" | grep -Ei -m 1 'login|user|email')
|
||||
#url_info=$(printf "%s" "$password_out" | grep -Ei '^url' | awk -F"[ :]*" '{ $1=""; print $0 }' )
|
||||
|
||||
# show desktop notification
|
||||
if [[ -n $password_info ]]; then
|
||||
NOTIFY_CMD "$(printf '%s' "$password_info")"
|
||||
else
|
||||
NOTIFY_CMD "No username provided."
|
||||
fi
|
||||
}
|
||||
|
||||
copy_otp() {
|
||||
password_otp=$(pass otp "$password" 2> /dev/null)
|
||||
printf "%s" "$password_otp" | xclip -r
|
||||
NOTIFY_CMD "$password_otp"
|
||||
|
||||
}
|
||||
|
||||
if echo "$password_out" | grep -q otpauth
|
||||
then
|
||||
sel=$(printf 'Copy Password\nCopy OTP' | $DMENU_CMD -p Copy)
|
||||
case $sel in
|
||||
*Password) copy_password; ;;
|
||||
*OTP) copy_otp; ;;
|
||||
esac
|
||||
else
|
||||
$NOTIFY_CMD "No username provided."
|
||||
copy_password
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user