#!/usr/bin/env bash # LICENSE: GPLv2+ # https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu set -eo pipefail shopt -s nullglob globstar printf "\n" | $copy copy='xsel --input --primary' menu='dmenu -f -i -b -nhf #ffeb3b -sf #ffeb3b -p ⠀:::⠀passwords⠀:::' _paste () { xdotool type "$(xsel --output --primary)"; } prefix=${PASSWORD_STORE_DIR-~/.password-store} password_files=("$prefix"/**/*.gpg ) password_files=("${password_files[@]#"$prefix"/}") password_files=("${password_files[@]%.gpg}") password=$(printf '%s\n' "${password_files[@]}" | $menu) [ -n "$password" ] || exit { pass show "$password" 2>/dev/null | $copy && _paste; } || { notify-send --urgency=critical --expire-time=5000 "Failed to copy $password to primary clipboard." && exit 1; } printf "\n" | $copy notify-send "Copied $password to primary clipboard."