summaryrefslogtreecommitdiff
path: root/src/platform/cygwin.sh
blob: 6e5dd86cfc4815cce7db30eed5c4b1f1e3ad2ff7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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."
}

# replaces Cygwin-style filenames with their Windows counterparts
gpg_winpath() {
	local args=("$@")
	# as soon as an argument (from back to front) is no file, it can only be a filename argument if it is preceeded by '-o'
	local could_be_filenames="true"
	local i
	for ((i=${#args[@]}-1; i>=0; i--)); do
		if ( [ $i -gt 0 ] && [ "${args[$i-1]}" = "-o" ] && [ "${args[$i]}" != "-" ] ); then
			args[$i]="$(cygpath -am "${args[$i]}")"
		elif [ $could_be_filenames = "true" ]; then
			if [ -e "${args[$i]}" ]; then
				args[$i]="$(cygpath -am "${args[$i]}")"
			else
				could_be_filenames="false"
			fi
		fi
	done
	$GPG_ORIG "${args[@]}"
}

if $GPG --help | grep -q 'Home: [A-Z]:[/\\]'; then
	GPG_ORIG="$GPG"
	GPG=gpg_winpath
fi
er pie formattingRené 'Necoro' Neumann3-6/+8 2013-09-24Increase width of page to 760pxRené 'Necoro' Neumann3-8/+9 2013-09-16typoRené 'Necoro' Neumann1-1/+1 2013-09-15Fix display of one monthRené 'Necoro' Neumann1-2/+2 2013-09-14Draw pies using highcharts JS-libRené 'Necoro' Neumann5-20/+99