diff --git a/README.md b/README.md index c8b3e91..cd6b654 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Password length: export PASH_LENGTH=50 Password pattern: export PASH_PATTERN=_A-Z-a-z-0-9 Store location: export PASH_DIR=~/.local/share/pash Clipboard tool: export PASH_CLIP='xclip -sel c' -Clipboard timeout: export PASH_TIMEOUT=10 +Clipboard timeout: export PASH_TIMEOUT=10 ('off' to disable) ``` ## FAQ @@ -140,12 +140,15 @@ PASH_CLIP='xclip -sel c' pash copy github ### How do I change the clipboard timeout? -Set the environment variable `PASH_TIMEOUT` to a command. +Set the environment variable `PASH_TIMEOUT` to a valid `sleep` interval or `off` to disable the feature. ```sh # Default: '10' export PASH_TIMEOUT=10 +# Disable timeout. +export PASH_TIMEOUT=off + # This can also be used as a one-off. PASH_TIMEOUT=5 pash copy github ``` diff --git a/pash b/pash index c14fb42..0ba0ba1 100755 --- a/pash +++ b/pash @@ -60,15 +60,15 @@ pw_copy() { # shellcheck disable=2086 : "${PASH_CLIP:=xclip -sel c}" - printf 'Clearing clipboard in "%s" seconds.\n' \ - "${PASH_TIMEOUT:=10}" - # Wait in the background for the password timeout and # clear the clipboard when the timer runs out. # # If the 'sleep' fails, kill the script. This is the # simplest method of aborting from a subshell. - { + [ "$PASH_TIMEOUT" != off ] && { + printf 'Clearing clipboard in "%s" seconds.\n' \ + "${PASH_TIMEOUT:=10}" + sleep "$PASH_TIMEOUT" || kill 0 $PASH_CLIP