password-store

Simple password manager using gpg and ordinary unix directories
git clone https://git.zx2c4.com/password-store
Log | Files | Refs | README | LICENSE

commit 0524ef9aad5e908c4062c2696a3b7a807bd494c7
parent 2c02186ea66b1500d758f6f30222079558bcd1c9
Author: Wieland Hoffmann <themineo@gmail.com>
Date:   Mon, 19 Jan 2015 14:07:07 +0100

clip: Show an error message if xclip returns a non-zero exit code

xclip will return a non-zero exit code if $DISPLAY is not set, which
might happen, for example, if you're running pass in a tmux session
remotely or something like that. xclip itself will also show an error
message ("Can't open display") which provides enough context to figure
out what the problem is.

There might be other reasons for xclip to return a non-zero exit code,
but the man page doesn't list them.

Diffstat:
Msrc/password-store.sh | 5++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/password-store.sh b/src/password-store.sh @@ -131,11 +131,10 @@ clip() { # This base64 business is because bash cannot store binary data in a shell # variable. Specifically, it cannot store nulls nor (non-trivally) store # trailing new lines. - local sleep_argv0="password store sleep on display $DISPLAY" pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5 - local before="$(xclip -o -selection "$X_SELECTION" | base64)" - echo -n "$1" | xclip -selection "$X_SELECTION" + local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)" + echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard" ( ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" ) local now="$(xclip -o -selection "$X_SELECTION" | base64)"