From ea4515f490085e6a806ecb12e6d33728ce9edaee Mon Sep 17 00:00:00 2001 From: David Runge Date: Mon, 23 Apr 2018 08:37:04 +0200 Subject: bin/clipboard-wrapper: Adding script to wrap macOS and Linux/X11 specific clipboard systems (to be able to copy from tmux by selection, etc.). --- .tmux.conf | 10 +++++++--- bin/clipboard-wrapper | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100755 bin/clipboard-wrapper diff --git a/.tmux.conf b/.tmux.conf index 16c3173..2ea510c 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -62,9 +62,13 @@ setw -g mode-keys vi bind-key -T copy-mode-vi v send -X begin-selection bind-key -T copy-mode-vi y send -X copy-selection # clipboard settings -set -s set-clipboard on -bind-key C-p run "xclip -o | tmux load-buffer - ; tmux paste-buffer" -bind-key C-y run "tmux save-buffer - | xclip -i" +set-option -s set-clipboard off +# mouse selection gets copied to system clipboard +bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "~/bin/clipboard-wrapper -i" +# visual selection gets copied to system clipboard +bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "~/bin/clipboard-wrapper -i" +# paste (doesn't do anything yet) +bind-key -T copy-mode-vi p run "~/bin/clipboard-wrapper -o | tmux load-buffer - ; tmux paste-buffer" # set first window to index 1 (not 0) to map more to the keyboard layout... set -g base-index 1 diff --git a/bin/clipboard-wrapper b/bin/clipboard-wrapper new file mode 100755 index 0000000..5ac3dec --- /dev/null +++ b/bin/clipboard-wrapper @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' + +if [ $(uname) == "Darwin" ]; then + if [ "$@" == "-i" ]; then + pbcopy + elif [ "$@" == "-o" ]; then + pbpaste + fi +else + xclip "$@" +fi +exit 0 -- cgit v1.2.3-70-g09d2