LoginSignup
1
1

More than 1 year has passed since last update.

msys2のpassでクリップボードコピーする

Last updated at Posted at 2016-12-18

pass -cしても、xclipなかったので、うまい事コピーできなかったので、以下のようにソースを変更。

clip() {
	# This base64 business is because bash cannot store binary data in a shell
	# variable. Specifically, it cannot store nulls nor (non-trivally) store
	# trailing new lines.
	local sleep_argv0="password store sleep on display $DISPLAY"
	pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
	local before="$(cat /dev/clipboard | base64)"
	echo -n "$1" > /dev/clipboard || die "Error: Could not copy data to the clipboard"
	(
		( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
		local now="$(cat /dev/clipboard | base64)"
		[[ $now != $(echo -n "$1" | base64) ]] && before="$now"

		# It might be nice to programatically check to see if klipper exists,
		# as well as checking for other common clipboard managers. But for now,
		# this works fine -- if qdbus isn't there or if klipper isn't running,
		# this essentially becomes a no-op.
		#
		# Clipboard managers frequently write their history out in plaintext,
		# so we axe it here:
		qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null

		echo "$before" | base64 -d > /dev/clipboard
	) 2>/dev/null & disown
	echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
}

うまくいった。


P.S. pbcopy/pbpasteは以下のような 感じ。

function pbcopy(){
	cat -> /dev/clipboard
}
function pbpaste(){
	cat /dev/clipboard
}

(2022/4/6追記)
https://gist.github.com/imiric/4ddd7b669c2ac6642c53d7a4bff070e6
https://neos21.net/blog/2021/01/24-02.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1