From 82f64e7beb769fd6748978bac2473467f441c475 Mon Sep 17 00:00:00 2001 From: tavo-wasd Date: Sun, 25 Feb 2024 22:38:14 -0600 Subject: [PATCH] contact --- .gitignore | 5 +++++ scripts/contact | 29 ++++++++++++++++++----------- scripts/vcard | 6 ------ 3 files changed, 23 insertions(+), 17 deletions(-) delete mode 100755 scripts/vcard diff --git a/.gitignore b/.gitignore index d6e3eee..21bf487 100644 --- a/.gitignore +++ b/.gitignore @@ -224,3 +224,8 @@ khard/ msmtp/ mutt/ vdirsyncer/ +.android/ +Android Open Source Project/ +Google/ +gpick/ +org.keshavnrj.ubuntu/ diff --git a/scripts/contact b/scripts/contact index 74817c0..cb6dc66 100755 --- a/scripts/contact +++ b/scripts/contact @@ -1,17 +1,24 @@ #!/bin/sh VDIR="$HOME/.local/share/contacts" -QUERY="$(< /dev/null | menu 'Query contacts:' )" +QUERY="$(grep -r '^FN:' "$VDIR" | sed 's/.*://' | menu "Contact:")" [ -z "$QUERY" ] && exit 0 -LIST="$(grep -ir "$QUERY" "$VDIR" | cut -d ':' -f 1 | uniq | tr '\n' ' ')" +FILE="$(grep -r "^FN:$QUERY" "$VDIR" | cut -d ':' -f 1)" -NAME="$(for VCARD in $LIST ; do - grep -r 'FN' "$VCARD" | cut -d ':' -f 2 -done | menu "'$QUERY' results:")" -[ -z "$NAME" ] && exit 0 +if [ -e "$FILE" ] ; then + NAME="$QUERY" +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:")" + FILE="$(grep -r "^FN:$NAME" "$VDIR" | cut -d ':' -f 1)" +fi ; [ -z "$FILE" ] && exit 0 -grep -r "$NAME" "$VDIR" | cut -d ':' -f 1 | xargs sed \ - -e '/^.*:VCARD/d;/^VERSION:/d;/^PRODID:/d;/^UID:/d;/^REV:/d' \ - -e '/^FN:/d;/^N:/d;/^NICKNAME:/d' \ - -e 's/^.*://g' | - menu "$NAME:" | tr -d '\n' | tr -d '^M' | wl-copy +OUT="$(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")" + +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" diff --git a/scripts/vcard b/scripts/vcard deleted file mode 100755 index de5e575..0000000 --- a/scripts/vcard +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -VDIR="$HOME/.local/share/contacts" - -NAME="$(grep -r 'FN' "$VDIR" | cut -d ':' -f 3 | menu "VCARD:")" -[ -z "$NAME" ] && exit 0 -grep -r "$NAME" "$VDIR" | cut -d ':' -f 1 | xargs qrencode -s 8 -t PNG -o - -r | display