From 461637a7ad2cba3c316da4fcebd5d6bc447032eb Mon Sep 17 00:00:00 2001 From: Xiao Pan Date: Wed, 14 Aug 2024 22:45:01 -0700 Subject: pme output username --- sh/pme | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'sh/pme') diff --git a/sh/pme b/sh/pme index ff6c711..16d1c09 100755 --- a/sh/pme +++ b/sh/pme @@ -1,15 +1,32 @@ #!/bin/sh # my Pass MEnu +otp= +user= +while getopts ou opt; do + case $opt in + o) otp=1;; + u) user=1;; + \?) exit 1;; + esac +done + find "$HOME/.password-store/" \( -type f -o -type l \) -name '*.gpg' \ | sed "s#$HOME/\.password-store/\(.*\)\.gpg\$#\1#" \ | dmenu -i -p 'pass' \ | { - case "$1" in - # `{ IFS= read -r p; printf '%s\r' "$p";}` is modified from https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu#n34 GPL-2.0-or-later code - '') xargs pass | { IFS= read -r p; printf '%s\r' "$p";};; - '-o') xargs pass otp | tr '\n' '\r';; - *) exit 1;; - esac + if [ "$otp" ]; then + xargs pass otp | tr '\n' '\r' + else + xargs pass | { + if [ "$user" ]; then + # https://www.gnu.org/software/gawk/manual/html_node/Case_002dsensitivity.html + awk 'tolower($1) ~ /^(user|username):$/ {printf $2}' + else + # modified from https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu#n34 GPL-2.0-or-later code + IFS= read -r p; printf '%s\r' "$p" + fi + } + fi } \ | xdotool type --clearmodifiers --file - -- cgit v1.2.3-70-g09d2