aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2022-05-08 11:03:41 -0300
committerSilvio Rhatto <rhatto@riseup.net>2022-05-08 11:03:41 -0300
commitb692210193226d5aeed6eb688f5c3da30ec1bd96 (patch)
treeebbe02d736cacb1be5b626b9feff61519e35d011
parentd5176d3a5c71454453671512642ce1950d6a01ef (diff)
downloadkeyringer-b692210193226d5aeed6eb688f5c3da30ec1bd96.tar.gz
keyringer-b692210193226d5aeed6eb688f5c3da30ec1bd96.tar.bz2
Fix(xclip): avoid 'Error: target STRING not available'
-rwxr-xr-xlib/keyringer/actions/xclip11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/keyringer/actions/xclip b/lib/keyringer/actions/xclip
index da86315..f63fdb5 100755
--- a/lib/keyringer/actions/xclip
+++ b/lib/keyringer/actions/xclip
@@ -4,8 +4,11 @@
#
# Copy contents to clipboard.
+#
# Function thanks to Password Store by Jason A. Donenfeld <Jason@zx2c4.com>
# distributed under GPLv2+: http://www.zx2c4.com/projects/password-store/
+#
+# Adapted by rhatto
clip() {
# This base64 business is a disgusting hack to deal with newline inconsistancies
# in shell. There must be a better way to deal with this, but because I'm a dolt,
@@ -14,7 +17,15 @@ clip() {
#local xclip="xclip -selection clipboard"
local xclip="xclip"
before="$($xclip -o | base64)"
+
+ # Avoid "Error: target STRING not available"
+ # https://github.com/astrand/xclip/issues/38
+ echo "$RANDOM" | $xclip
+
+ # Copy text into clipboard
echo -n "$1" | $xclip
+
+ # Cleanup procedure
(
sleep 45
now="$($xclip -o | base64)"