42 lines
1,009 B
Bash
Executable file
42 lines
1,009 B
Bash
Executable file
#!/bin/env sh
|
|
|
|
declare -A actions
|
|
actions['Sync']="sync"
|
|
actions["Logout"]="logout"
|
|
actions["Lock"]="lock"
|
|
|
|
printSelection() {
|
|
echo "$1"
|
|
for key in "${!fruits[@]}"
|
|
do
|
|
echo "Action: $key"
|
|
done
|
|
}
|
|
|
|
formattedIDs=$(echo "format:[NAME] ([USERNAME])" | nc -U /tmp/bitwarden-daemon.sock)
|
|
|
|
selectionList=$(echo "$formattedIDs" | jq 'keys | map("\(.)\n") | add' -r)
|
|
actionSelectionList=$(printf "Actions: %s\n" ${!actions[@]})
|
|
selection=$(printf "%s\n" "$selectionList" "$actionSelectionList" | anyrun --plugins libstdin.so)
|
|
|
|
echo "$selection"
|
|
|
|
if [[ $selection == '' ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [[ $selection == Actions:* ]]; then
|
|
actionKey="${selection:9}"
|
|
action="${actions[$actionKey]}"
|
|
echo "Performing: $action"
|
|
|
|
echo "$action:" | nc -U /tmp/bitwarden-daemon.sock
|
|
else
|
|
id=$(echo "$formattedIDs" | jq ".[\"${selection}\"]" -r)
|
|
echo "lookupPassword:$id" | nc -U /tmp/bitwarden-daemon.sock | wl-copy
|
|
|
|
notify-send "Password copied" "Copied password for '$selection' to clipboard."
|
|
fi
|
|
|
|
exit 0;
|
|
|