aboutsummaryrefslogtreecommitdiff
path: root/cryptmenu.sh
blob: c99a1554402d6c88844cad2fc93ffb5885a78872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# Script with a dmenu integration for crypt

set -o pipefail

typeit=0
if [[ $1 == "--type" ]]; then
	typeit=1
	shift
fi

list=$(crypt list --plain | awk '{print $1"["$2"]"}')
[[ -n "$list" ]] || exit 1
name=$(echo "$list" | dmenu "$@" | sed 's/\(\.*\)\[.*\]/\1/')
[[ -n "$name" ]] || exit

if [[ $typeit -eq 0 ]]; then
	# FIXME: clear the clipboard
	crypt show $name | xclip -selection clipboard
else
	crypt show $name | { IFS= read -r line; printf %s "$line"; } | xdotool type --clearmodifiers --file -
fi