refactor(rbw): add comments and delete temporary cache on success

This commit is contained in:
Marc Cornellà 2025-06-25 21:29:14 +02:00
commit 0ab83bb0d5
No known key found for this signature in database
GPG key ID: 0314585E776A9C1B

View file

@ -29,11 +29,24 @@ function rbwpw {
echo "$service not found"
return 1
fi
local _random="$RANDOM"
echo -n $_random > $ZSH_CACHE_DIR/rbwpw_cache
# Generate a random identifier for this call to rbwpw
# so we can check if the clipboard content has changed
local _random="$RANDOM" _cache="$ZSH_CACHE_DIR/.rbwpw"
echo -n "$_random" > "$_cache"
# Use clipcopy to copy the password to the clipboard
echo -n $pw | clipcopy
echo "password for $service copied!"
{sleep 20 && [[ $(<$ZSH_CACHE_DIR/rbwpw_cache) == $_random ]] && clipcopy </dev/null 2>/dev/null} &|
# Clear the clipboard after 20 seconds, but only if the clipboard hasn't
# changed (if rbwpw hasn't been called again)
{
sleep 20 \
&& [[ "$(<"$_cache")" == "$_random" ]] \
&& clipcopy </dev/null 2>/dev/null \
&& command rm -f "$_cache" &>/dev/null
} &|
}
function _rbwpw {