31 lines
683 B
Bash
Executable File
31 lines
683 B
Bash
Executable File
#!/usr/bin/env sh
|
|
typeit=0
|
|
action=show
|
|
while
|
|
case $1 in
|
|
"--type") typeit=1 ;;
|
|
"--action"|"-a") action="$2" ;;
|
|
esac
|
|
[ $# -ne 0 ]
|
|
do shift; done
|
|
|
|
prefix=${PASSWORD_STORE_DIR:-~/.password-store}
|
|
|
|
password=$(
|
|
find "$prefix" -iname '*.gpg' |
|
|
sed -e "s:^${prefix}/::" -e "s/....$//" |
|
|
rofi -p "pass $action" -dmenu -i "$@"
|
|
)
|
|
|
|
[ -n "${password:-}" ] || exit
|
|
|
|
case "$typeit${WAYLAND_DISPLAY+w}" in
|
|
0) pass "$action" -c "$password" 2>/dev/null ;;
|
|
0w) pass "$action" "$password" | tr '\n' '\0' |
|
|
wl-copy;;
|
|
1) pass "$action" "$password" | tr '\n' '\0' |
|
|
xdotool type --clearmodifiers --file - ;;
|
|
1w) pass "$action" "$password" | tr '\n' '\0' |
|
|
ydotool type --file - ;;
|
|
esac
|