aboutsummaryrefslogtreecommitdiff
path: root/misc/.local/bin/dmenu_pass
blob: dedd0952135430b4bae3f22b34a61c49c8062cb7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env bash

# Password form autofill (using dmenu)
# Selected password is typed in the focused window automatically.
# Uses dmenu-otp to generate one-time password if an entry under `otp/*`
# is selected.

PASS_STORE=$HOME/.password-store

pushd $PASS_STORE >/dev/null

PASSWORD=$(tree -if . | sed -n 's/\.\/\(.\+\)\.gpg$/\1/p' | dmenu -l 10 -h 23)
[ -z "$PASSWORD" ] && exit 0

CMD="show"
[[ "$PASSWORD" =~ otp/.* ]] && CMD="otp"

pass "$CMD" "$PASSWORD" | sed 1q | tr -d '\n' | xdotool type --clearmodifiers --file -

popd >/dev/null