diff options
| -rwxr-xr-x | passmenu.sh | 43 | ||||
| -rwxr-xr-x | rofi-pass.sh | 31 | 
2 files changed, 31 insertions, 43 deletions
| diff --git a/passmenu.sh b/passmenu.sh deleted file mode 100755 index a7bd8cb..0000000 --- a/passmenu.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -prefix=${PASSWORD_STORE_DIR:-~/.password-store} - -get_password() { -	dmenu -i -p pass  -} - -get_passwords() { -	find -s "$prefix" -type f -name '*.gpg' -} - -trim_prefix() { -	while read line -	do -		printf '%s\n' "${line##$prefix/}" -	done -} - -trim_suffix() { -	while read line -	do -		printf '%s\n' "${line%%.gpg}" -	done -} - -copy_pass() { -	[ -n "$1" ] || return - -	otp='' - -	case "$1" in -		totp*) -			otp=otp -		;; -	esac - -	pass $otp show --clip "$1" 2>/dev/null -} - -password=$(get_passwords | trim_prefix | trim_suffix | get_password) -[ -n "$password" ] || exit 0 -msg=$(copy_pass "$password") -notify-send passmenu "$msg" diff --git a/rofi-pass.sh b/rofi-pass.sh new file mode 100755 index 0000000..1366466 --- /dev/null +++ b/rofi-pass.sh @@ -0,0 +1,31 @@ +#!/bin/sh +prefix=${PASSWORD_STORE_DIR:-~/.password-store} + +get_passwords() { +	find -s "$prefix" -type f -name '*.gpg' +} + +trim_prefix() { +	while read line +	do +		printf '%s\n' "${line##$prefix/}" +	done +} + +trim_gpg() { +	while read line +	do +		printf '%s\n' "${line%%.gpg}" +	done +} + +[ -z "$2" ] && get_passwords | trim_prefix | trim_gpg && exit 0 + +case "$1" in +	otp*) +		pass otp --clip "${2##totp:}" >/dev/null 2>&1 & +		;; +	pass*) +		pass show --clip "${2##password:}" >/dev/null 2>&1 & +		;; +esac |