diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-03-22 00:19:02 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-03-22 00:32:04 -0600 |
commit | ef16fc0fbede889f1123eace27c6eedf64295497 (patch) | |
tree | ad7cb2c4e300809928a913e6190bbef8e8a046f0 | |
parent | 142c42c7deee22014fea54eb2ff37972a6ee23f5 (diff) |
clip: do not race on osx
-rw-r--r-- | src/platform/darwin.sh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh index fac47b1..f964cdd 100644 --- a/src/platform/darwin.sh +++ b/src/platform/darwin.sh @@ -1,15 +1,15 @@ -# Copyright (C) 2012 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. +# Copyright (C) 2012 - 2014 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. # This file is licensed under the GPLv2+. Please see COPYING for more information. clip() { + sleep_argv0="password store sleep for user $(id -u)" + pkill -f "^$sleep_argv0" && sleep 0.1 before="$(pbpaste | openssl base64)" echo -n "$1" | pbcopy ( - sleep 45 + ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) now="$(pbpaste | openssl base64)" - if [[ $now != $(echo -n "$1" | openssl base64) ]]; then - before="$now" - fi + [[ $now != $(echo -n "$1" | openssl base64) ]] && before="$now" echo "$before" | openssl base64 -d | pbcopy ) & disown echo "Copied $2 to clipboard. Will clear in 45 seconds." |