From 3f6b8a2038eea906b353894dcb160bf0d88f6fd7 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 17 Apr 2014 12:44:43 +0200 Subject: 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 Signed-off-by: Jason A. Donenfeld --- Makefile | 2 +- src/platform/cygwin.sh | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/platform/cygwin.sh diff --git a/Makefile b/Makefile index df9d68a..32c2d6a 100644 --- a/Makefile +++ b/Makefile @@ -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 . 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." +} -- cgit v1.2.3