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 |