diff options
Diffstat (limited to 'clipboard-stream')
| -rwxr-xr-x | clipboard-stream | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/clipboard-stream b/clipboard-stream index b4c1120..a1f0cdc 100755 --- a/clipboard-stream +++ b/clipboard-stream @@ -1,13 +1,29 @@ #!/bin/bash -set -e - -recent_value=$(xclip -o -selection clipboard) -while true ; do - value=$(xclip -o -selection clipboard) - if [ "$recent_value" != "$value" ] ; then - recent_value=$value - echo $recent_value +set -euo pipefail + +find_clipboard_command() { + if command -v xclip &>/dev/null; then + echo xclip -out -selection clipboard + elif command -v xsel &>/dev/null; then + echo xsel --output --clipboard + else + echo "No clipboard command found" >&2 + exit 1 + fi +} + +main() { + CLIPBOARD_COMMAND=$(find_clipboard_command) + recent_value=$(eval "$CLIPBOARD_COMMAND") + while true; do + value=$(eval "$CLIPBOARD_COMMAND") + if [ "$recent_value" != "$value" ]; then + recent_value=$value + echo "$recent_value" fi sleep 0.1 -done + done +} + +main "$@" |
