diff --git a/q-pass b/q-pass new file mode 100755 index 0000000..118c78f --- /dev/null +++ b/q-pass @@ -0,0 +1,34 @@ +#!/bin/bash + +if [[ -z "$@" ]]; then + # Return a regular expression that should trigger + # this subcommand. q.sh will then pass control to + # this script whenever the input line matches. + echo "^p .*$" +elif [[ "$1" == "--hint" ]]; then + # This subcommand has no hints + shift +elif [[ "$1" == "--complete" ]]; then + shift + # Return a list of all accounts for which we store + # passwords. This will be used to provide a list of + # completions. + cd ~/.password-store + find . -name "*.gpg" | sed -E 's/\.\/(.*)\.gpg/\1 p \1/' +elif [[ "$1" == "--preview" ]]; then + shift + # This information will be displayed in the preview + # pane on the right. + echo "Will get password for $1" +elif [[ "$1" == "--run" ]]; then + shift + # This will be triggered when enter is pressed on + # one of the options. We now decrypt the password + # and place it to the clipboard. + NAME="$1" + pass "$NAME" | (nohup wl-copy -n 2>/dev/null &) + + # A short sleep is needed to wait for child process + # to spawn before exiting. + sleep 0.01 +fi