blob: 3d49d2fc91e4cd3e37407b506ff1a9f9cdeab3ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/env bash
# LICENSE: GPLv2+
# https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu
set -eo pipefail
shopt -s nullglob globstar
printf "\n" | $copy
copy='xsel --input --primary'
menu='dmenu -f -i -b -p Password'
_paste () { xdotool type "$(xsel --output --primary)"; }
prefix=${PASSWORD_STORE_DIR-~/.password-store}
password_files=("$prefix"/**/*.gpg )
password_files=("${password_files[@]#"$prefix"/}")
password_files=("${password_files[@]%.gpg}")
password=$(printf '%s\n' "${password_files[@]}" | $menu)
[ -n "$password" ] || exit
{ pass show "$password" 2>/dev/null | $copy && _paste; } ||
{ notify-send --urgency=critical --expire-time=5000 "Failed to copy $password to primary clipboard." && exit 1; }
printf "\n" | $copy
notify-send "Copied $password to primary clipboard."
|