#!/usr/bin/env sh # A POSIX compliant reimplementation of passmenu for pash. Derived from: # https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu typeit=0 if [ "$1" = "--type" ]; then typeit=1 shift fi prefix=${PASH_DIR-~/.local/share/pash} password=$(find "$prefix" -name '*.gpg' \ | awk -v prefix="$prefix" \ '{len = length(prefix) + 2; print substr($0, len, length($0) - len - 3)}' \ | dmenu "$@") [ -n "$password" ] || exit if [ $typeit -eq 0 ]; then pash show "$password" | head -n 1 | xclip -sel c else pash show "$password" | { IFS= read -r pass; printf %s "$pass"; } | xdotool type --clearmodifiers --file - fi