summaryrefslogtreecommitdiff
path: root/bin/menuscripts/mpass
blob: f513b167c9d2116029350141c2d7702f370cdcf3 (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 sh
store="${PASSWORD_STORE_DIR:-$HOME/.password-store}"

# list passwords, group directories first
list_pswds()
{
	find "$1" \
		-maxdepth 1 -mindepth 1 \
		-not -name '.*' -type d -printf "%y\t%f\n" -o \
		-not -name '.*' -not -type d -printf "%y\t%f\n" |
		sort -k1 -k2 |
		cut -f 2 | sed 's/\.gpg$//'
}

while [ -d "$store/$file" ]
do
	choice="$(list_pswds "$store/$file" | commander -c)"
	[ "$choice" ] || exit 1
	[ -z "$file" ] && file="$choice" || file="$file/$choice"
done
[ "$file" ] || exit 1

pass show -c "$file" || exit 1
notify-send -t 1000 "mpass" "copied: $file"

[ "$WAYLAND_DISPLAY" ] && cliphist list >/dev/null && # on wayland and cliphist is running
	cliphist list | head -n 1 | cliphist delete