#!/bin/zsh # set -x if test -z $ROFI_RETV then rofi -show gopass -modi "gopass:$0" -kb-accept-custom "" -kb-accept-alt "" -kb-custom-2 "Control+Return" -kb-custom-1 "Shift+Return" fi # echo "args $* --- retv $ROFI_RETV" >&2 error() { local msg=$1 echo -e "\0message\x1f$(xargs <<< $msg)\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\x1fShift-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" ) & ;; esac