view unixSoft/bin/afcopy @ 515:0cb4d4ef79f4

env: use modern brew setup, conditional on it being installed
author Augie Fackler <raf@durin42.com>
date Thu, 02 Dec 2021 22:08:30 -0500
parents 4c5814d3cfd8
children
line wrap: on
line source

#!/bin/sh
if [ `uname` = Darwin ] ; then
  pbcopy
else
    if [ -z "${TMUX:-}" ]; then
        DATA="$(cat)"
        # Copy the data to the terminal clipboard using OSC 52 escape codes.
        # See http://invisible-island.net/xterm/ctlseqs/ctlseqs.html, “Ps = 5 2”.
        echo -en '\e]52;c;'
        echo -n "$DATA" | base64 -w0
        echo -en '\a'
    else
        tmux set-buffer -- "$DATA"
        # Use a double-escape to send escape codes directly to the terminal.
        # See https://github.com/tmux/tmux/commit/79e30daeae1d49a1cf1dc4618edf1ec82804a80c.
        echo -en '\ePtmux;\e\e]52;c;'
        echo -n "$DATA" | base64 -w0
        echo -en '\a\e\\'
    fi
    if [ -n "${DISPLAY:-}" ] ; then
        xclip -selection clipboard
    fi
fi