#!/bin/sh getPasswords() { \ choice="$(pass | sed -r '1d;s/^├.{3}//;s/^└.{3}//' | dmenu -i -p "Passwords")" if [ "$choice" != "" ] then pass "$choice" | xclip -selection clipboard notify-send " Password for $choice copied!" sleep 10 printf "" | xclip -selection clipboard fi } getTOTP() { \ choice="$(pass | grep "totp" | sed -r 's/^├.{3}//;s/^└.{3}//' | dmenu -i -p "OTP")" if [ "$choice" != "" ] then pass otp "$choice" | xclip -selection clipboard notify-send " OTP for $choice copied!" sleep 10 printf "" | xclip -selection clipboard fi } addPassword() { \ name=$(printf "" | dmenu -i -p "What is the account name?") if [ "$name" != "" ] then case "$(printf "Random password\\nManual password" | dmenu -i -p "Passwords")" in "Random password") addPass=$(randompass -p $(printf "12\\n32\\n128" | dmenu -i -p "How many characters?")) ;; "Manual password") addPass=$(dmenu -i -P -p "Enter a password") ;; esac echo $addPass | pass insert "$name" -e notify-send " Password for $name added!" fi unset name unset addPass } removePassword() { \ name="$(pass | sed -r '1d;s/^├.{3}//;s/^└.{3}//' | dmenu -i -p "Passwords")" sure="$(printf "No\\nYes" | dmenu -i -sb "#ac3333" -sf "#1d2021" -nf "#bbbbbb" -nb "#111111" -p "Are you sure?")" if [ $sure = "Yes" ] then notify-send " Password for $name removed!" pass rm "$name" -f else notify-send "Canceled" fi unset name } case "$(printf "Add password\\nRemove password\\nView password\\nView TOTP" | dmenu -i -p "Passwords")" in "Add password") addPassword ;; "Remove password") removePassword ;; "View password") getPasswords ;; "View TOTP") getTOTP ;; esac