blob: 4f802ce2a57683b7554971f1cc7b8db61bdbe91a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/sh
PASSWORD_LENGTH=24
DMENU_PROMPT="Enter password name:"
NOTIFY_TITLE="dgenpass"
# Ask for a password name
name=$(echo "" | dmenu -i -p "$DMENU_PROMPT")
# Exit if user cancels
[ -z "$name" ] && exit 1
# Generate random password
password=$(tr -dc 'A-Za-z0-9!@#$%^&*()_+-=' </dev/urandom | head -c "$PASSWORD_LENGTH")
# Save to pass
echo "$password" | pass insert -f -m "$name"
# Copy to clipboard
if command -v xclip >/dev/null 2>&1; then
echo -n "$password" | xclip -selection clipboard
elif command -v wl-copy >/dev/null 2>&1; then
echo -n "$password" | wl-copy
fi
# Notify user
if command -v notify-send >/dev/null 2>&1; then
notify-send "$NOTIFY_TITLE" "Password for '$name' saved and copied to clipboard"
fi
|