scripts

Log | Files | Refs | README

pass-menu.sh (603B)


      1 #!/bin/sh
      2 
      3 deps="wofi pass wl-copy"
      4 
      5 for dep in $deps; do
      6   command -v $dep >/dev/null 2>&1 || {
      7     echo "error: $dep is not installed" >&2
      8     exit 1
      9   }
     10 done
     11 
     12 store="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
     13 
     14 passwords="$(find "$store" -name "*.gpg" | sed -e 's|\.gpg$||' | sed -e "s|$store/||")"
     15 
     16 selection=$(echo "$passwords" | wofi --prompt "Passwords" --dmenu)
     17 
     18 [ -z "$selection" ] && exit 0
     19 
     20 pass show "$selection" | head -n 1 | wl-copy
     21 
     22 (
     23   sleep 15
     24   wl-copy --clear
     25   command -v qdbus6 >/dev/null 2>&1 && qdbus6 org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory
     26 
     27 ) &