diff options
Diffstat (limited to 'bin/menuscripts/mpassgen')
| -rwxr-xr-x | bin/menuscripts/mpassgen | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/bin/menuscripts/mpassgen b/bin/menuscripts/mpassgen new file mode 100755 index 0000000..a60112b --- /dev/null +++ b/bin/menuscripts/mpassgen @@ -0,0 +1,48 @@ +#!/usr/bin/env sh + +input () +{ +	# menu prompt for output +	if [ "$MENUCMD" = "tofi" ] +	then +		inp="$(tofi --prompt-text "$1 " </dev/null)" +	elif [ "$MENUCMD" = "dmenu" ] +	then +		inp="$(dmenu -p "$1" < /dev/null)" +	else +		echo -n "$1:" >&2 +		read inp +	fi +	echo $inp +} +# menu select long +if [ "$MENUCMD" = "tofi" ] +then +	menucmd="tofi --prompt login:" +elif [ "$MENUCMD" = "dmenu" ] +then +	menucmd="dmenu -l 10 -g 1 -x -i -p login:"  +else +	menucmd="fzf" +fi + +choice="$(echo "multiline\nsingle" | $MENUCMD)" +test -z "${choice}" && exit 1 + +password="$(input "name:")" +test -z "${password}" && exit 1 + +if [ "${choice}" = "multiline" ] +then +	login="$(ls -1 ~/.password-store/e-mails | +		sed 's/\.gpg$//' |  +		$menucmd)" +    test -z "${login}" && exit 1 +    url="$(input "url:")" +    test -z "${url}" && exit 1 +    echo "${password}\nlogin: ${login}\nurl: ${url}" | +		pass insert -mf "${password}" +    pass generate -ci "${password}" +else +    pass generate -cf "${password}" +fi  | 
