From 9cb69f746312efa7c01c1dd4185bface3b30bb6d Mon Sep 17 00:00:00 2001 From: Jeremy Bobbin Date: Sat, 11 Jul 2020 09:17:00 -0700 Subject: support for primary clipboard --- vis-clipboard | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) (limited to 'vis-clipboard') diff --git a/vis-clipboard b/vis-clipboard index 098fa8c..8397ee2 100755 --- a/vis-clipboard +++ b/vis-clipboard @@ -8,7 +8,7 @@ vc_fatal() { } vc_usage() { - vc_fatal "`basename $0` [--usable|--copy|--paste]" + vc_fatal "`basename $0` [--selection sel] [--usable|--copy|--paste]" } vc_determine_command() { @@ -30,6 +30,10 @@ vc_determine_command() { done fi + if [ "$sel" = "primary" ]; then + vc_fatal "clipboard primary selection is not supported on your platform" + fi + if type pbcopy >/dev/null 2>&1; then echo 'mac' return 0 @@ -76,27 +80,35 @@ vc_paste() { } vc_wlclipboard_copy() { - wl-copy -t TEXT + if [ "$sel" = "primary" ]; then + wl-copy --primary -t TEXT + else + wl-copy -t TEXT + fi } vc_wlclipboard_paste() { - wl-paste -t text + if [ "$sel" = "primary" ]; then + wl-paste --primary -t text + else + wl-paste -t text + fi } vc_xsel_copy() { - xsel -bi + xsel --"$sel" -bi } vc_xsel_paste() { - xsel -bo + xsel --"$sel" -bo } vc_xclip_copy() { - xclip -selection clipboard -i >/dev/null 2>&1 + xclip -selection "$sel" -i >/dev/null 2>&1 } vc_xclip_paste() { - xclip -selection clipboard -o + xclip -selection "$sel" -o } vc_mac_copy() { @@ -115,11 +127,17 @@ vc_cygwin_paste() { cat /dev/clipboard } -case "$1" in - --usable) vc_usable;; - --copy) vc_copy;; - --paste) vc_paste;; - *) ;; -esac +while [ $# -gt 0 ]; do + case "$1" in + --usable) fn=vc_usable;; + --copy) fn=vc_copy;; + --paste) fn=vc_paste;; + --selection) shift; sel="$1";; + *) ;; + esac + shift +done + +sel=${sel:-"clipboard"} $fn vc_usage -- cgit v1.2.3