summaryrefslogtreecommitdiffstats
path: root/bin/gpg-agent.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/gpg-agent.sh')
-rwxr-xr-xbin/gpg-agent.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/gpg-agent.sh b/bin/gpg-agent.sh
new file mode 100755
index 0000000..e689643
--- /dev/null
+++ b/bin/gpg-agent.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#----------------------------------------------------
+# Version: 0.2.1
+# Author: Florian "Bluewind" Pritz <flo@xssn.at>
+#
+# Licensed under WTFPL v2
+# (see COPYING for full license text)
+#
+#----------------------------------------------------
+# make working with the agent easier and prevent
+# starting multiple agents
+#----------------------------------------------------
+initgpg(){
+ [[ -z $XDG_CONFIG_HOME ]] && XDG_CONFIG_HOME="$HOME/.config"
+ [[ -z $XDG_DATA_HOME ]] && XDG_DATA_HOME="$HOME/.local/share"
+ [ -f "$XDG_CONFIG_HOME/disable-gpg-agent" ] && return 0
+ envfile="${XDG_DATA_HOME}/.gpginfo"
+ if test -f ${envfile} && test -S $(cut -d= -f 2 ${envfile} | head -n 2 | tail -n 1) 2>/dev/null; then
+ eval $(cat ${envfile})
+ else
+ eval `/usr/bin/gpg-agent --daemon --enable-ssh-support --write-env-file ${envfile}`
+ fi
+ export GPG_AGENT_INFO
+ export SSH_AUTH_SOCK
+ export SSH_AGENT_PID
+}
+
+if [[ -n $DISPLAY ]]; then
+ initgpg
+fi