view unixSoft/bin/afcopy @ 491:4b2472372fad

mcfly: move binding to ^T instead of ^R I've found some bugs in mcfly's handling of multi-line history entries. I still think it's a useful tool, just maybe less than I was hoping for now...
author Augie Fackler <raf@durin42.com>
date Wed, 01 Jul 2020 13:33:46 -0400
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