diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-04-17 12:44:43 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-04-17 12:44:43 +0200 |
commit | 3f6b8a2038eea906b353894dcb160bf0d88f6fd7 (patch) | |
tree | 8a7c442f5285bbec1218d5e72837e7ec72177094 | |
parent | 7a527ee42df43e4465a23d7d3131074547e91406 (diff) |
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>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/platform/cygwin.sh | 16 |
2 files changed, 17 insertions, 1 deletions
@@ -4,7 +4,7 @@ BINDIR ?= $(PREFIX)/bin LIBDIR ?= $(PREFIX)/lib MANDIR ?= $(PREFIX)/share/man -PLATFORMFILE := src/platform/$(shell uname | tr '[:upper:]' '[:lower:]').sh +PLATFORMFILE := src/platform/$(shell uname | cut -d _ -f 1 | tr '[:upper:]' '[:lower:]').sh .PHONY: install uninstall install-pass 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." +} |