aboutsummaryrefslogtreecommitdiff
path: root/lib/keyringer/actions/xclip
diff options
context:
space:
mode:
Diffstat (limited to 'lib/keyringer/actions/xclip')
-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)"