]> git.armaanb.net Git - bin.git/blob - passmenu
xsel: new script
[bin.git] / passmenu
1 #!/usr/bin/env sh
2 # A POSIX compliant reimplementation of passmenu for pash. Derived from:
3 # https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu
4
5 typeit=0
6 if [ "$1" = "--type" ]; then
7                 typeit=1
8                 shift
9 fi
10
11 prefix=${PASH_DIR-~/.local/share/pash}
12 password=$(find "$prefix" -name '*.gpg' \
13                                                          | awk -v prefix="$prefix" \
14                                                                                  '{len = length(prefix) + 2; print substr($0, len, length($0) - len - 3)}' \
15                                                          | dmenu "$@")
16
17 [ -n "$password" ] || exit
18
19 if [ $typeit -eq 0 ]; then
20                 pash show "$password" | head -n 1 | xclip -sel c
21 else
22                 pash show "$password" | { IFS= read -r pass; printf %s "$pass"; } |
23                                 xdotool type --clearmodifiers --file -
24 fi