37 lines
856 B
Bash
37 lines
856 B
Bash
#!/bin/zsh
|
|
# set -x
|
|
|
|
if test -z $ROFI_RETV
|
|
then
|
|
rofi -show gopass -modi "gopass:$0" \
|
|
-kb-accept-custom "" \
|
|
-kb-accept-alt "" \
|
|
-kb-custom-1 "Shift+Return" \
|
|
-kb-custom-2 "Control+Return"
|
|
|
|
fi
|
|
|
|
# echo "args $* --- retv $ROFI_RETV" >&2
|
|
|
|
error() {
|
|
local msg=$1
|
|
|
|
echo -e "\0message\x1f<span color='red'>$(xargs <<< $msg)</span>\n"
|
|
gopass ls -f
|
|
}
|
|
|
|
case "$ROFI_RETV" in
|
|
# run it in backgroud and quit rofi
|
|
0) echo -e "\0use-hot-keys\x1ftrue\n"
|
|
echo -e "\0message\x1fControl-Enter for login, Shift-Enter for OTP\n"
|
|
gopass ls -f ;;
|
|
1) ( gopass show -c $1 > /dev/null ) & ;;
|
|
10) (
|
|
out=$(gopass otp -c $1 2>&1)
|
|
(( $? > 0 )) && error "$out"
|
|
) & ;;
|
|
11) (
|
|
out=$(gopass show -c ${1} login 2>&1)
|
|
(( $? > 0 )) && error "$out"
|
|
) & ;;
|
|
esac
|