ayaports/user/qubes-dmenu/qvm-passmenu.sh

23 lines
632 B
Bash

#!/bin/bash
shopt -s nullglob globstar
typeit=0
if [[ $1 == "--type" ]]; then
typeit=1
shift
fi
cmd=$(echo "list-files" | base64 -w 0)
password_files=($( echo ${cmd} | /usr/lib/qubes/qrexec-client-vm "$QUBES_PASS_DOMAIN" ruddo.PassQuery | sed 's/\..\{3\}$//'))
password=$(printf '%s\n' "${password_files[@]}" | dmenu "$@")
[[ -n $password ]] || exit
if [[ $typeit -eq 0 ]]; then
qvm-pass "$password" 2>/dev/null | xsel -i -p && xsel -o -p | xsel -i -b
sleep 10
echo | xsel -i -p && xsel -o -p | xsel -i -b
else
qvm-pass "$password" | { IFS= read -r pass; printf %s "$pass"; } |
xdotool type --clearmodifiers --file -
fi