diff --git a/scripts/contact b/scripts/contact index cb6dc66..0186d00 100755 --- a/scripts/contact +++ b/scripts/contact @@ -10,15 +10,19 @@ if [ -e "$FILE" ] ; then else LIST="$(grep -ir "$QUERY" "$VDIR" | cut -d ':' -f 1 | uniq | tr '\n' ' ')" NAME="$(for VCARD in $LIST ; do grep -r 'FN' "$VCARD" | cut -d ':' -f 2 ; done | menu "'$QUERY' results:")" + [ -z "$NAME" ] && exit 0 FILE="$(grep -r "^FN:$NAME" "$VDIR" | cut -d ':' -f 1)" fi ; [ -z "$FILE" ] && exit 0 -OUT="$(sed -e '/^.*:VCARD/d;/^VERSION:/d;/^PRODID:/d;/^UID:/d' \ - -e '/^FN:/d;/^N:/d;/^NICKNAME:/d;/^REV:/d' \ +INFO="$(sed -e '/^.*:VCARD/d;/^VERSION:/d;/^PRODID:/d;/^UID:/d' \ + -e '/^FN:/d;/^N:/d;/^NICKNAME.*:/d;/^REV.*:/d' \ -e 's/^EMAIL.*:/󰇮 /;s/^TEL.*:/󰘂 /' \ -e 's/^TITLE.*:/󰃖 /;s/^ORG.*:/ /' \ - -e 's/^.*://g' "$FILE")" + -e 's/^.*://g;s/[;]/ /g;/^\s*$/d' \ + "$FILE" | awk '$0 ~ /^.{4,}$/' )" -VALUE="$(printf '%s\n󰭷 VCARD' "$OUT" | menu " $NAME:" | cut -c 6- | tr -d '\n' | sed 's/\s*$//g')" -[ "$VALUE" = "VCARD" ] && qrencode -s 8 -t PNG -o - -r "$FILE" | display && exit 0 -wl-copy "$VALUE" +FIELD="$(printf '%s\n󰭷 VCARD' "$INFO" | menu " $NAME:" | cut -c 6- | tr -d '\n' | sed 's/\s*$//g')" +[ -z "$FIELD" ] && exit 0 + +[ "$FIELD" = "VCARD" ] && qrencode -s 8 -t PNG -o - -r "$FILE" | display && exit 0 +wl-copy "$FIELD"