aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/platform/cygwin.sh
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-04-17 12:44:43 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2014-04-17 12:44:43 +0200
commit3f6b8a2038eea906b353894dcb160bf0d88f6fd7 (patch)
tree8a7c442f5285bbec1218d5e72837e7ec72177094 /src/platform/cygwin.sh
parentAdd related projects. (diff)
downloadpassword-store-3f6b8a2038eea906b353894dcb160bf0d88f6fd7.tar.xz
password-store-3f6b8a2038eea906b353894dcb160bf0d88f6fd7.zip
platform: add cygwin support
According to Brandon Jones, all we need to do is adjust /dev/clipboard from xclip. So we add a platform specific file to do so. http://www.relaytheurgency.com/2014/04/pass-in-cygwin-relatively-simple.html Suggested-by: Brandon Jones <jones.brandon.lee@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--src/platform/cygwin.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh
new file mode 100644
index 0000000..05c51e0
--- /dev/null
+++ b/src/platform/cygwin.sh
@@ -0,0 +1,16 @@
+# Copyright (C) 2014 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
+# This file is licensed under the GPLv2+. Please see COPYING for more information.
+
+clip() {
+ local sleep_argv0="password store sleep on display $DISPLAY"
+ pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
+ local before="$(base64 < /dev/clipboard)"
+ echo -n "$1" > /dev/clipboard
+ (
+ ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
+ local now="$(base64 < /dev/clipboard)"
+ [[ $now != $(echo -n "$1" | base64) ]] && before="$now"
+ echo "$before" | base64 -d > /dev/clipboard
+ ) 2>/dev/null & disown
+ echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
+}