diff options
author | Tristan Carel <tcarel@exalead.com> | 2011-10-10 14:58:28 +0200 |
---|---|---|
committer | Tristan Carel <tcarel@exalead.com> | 2011-10-10 14:58:28 +0200 |
commit | db90589c8a02e98e657af17bb0b460b752d9ed61 (patch) | |
tree | d1354a9338bf9921ad0f66d2f5394272e1cfec77 /plugins/gpg-agent | |
parent | 7066bf7c6b522af9147ebf03c00361c4c6490d42 (diff) | |
parent | 57f04b921ea1c12a0a283331778848cd4011bf21 (diff) | |
download | zsh-db90589c8a02e98e657af17bb0b460b752d9ed61.tar.gz zsh-db90589c8a02e98e657af17bb0b460b752d9ed61.tar.bz2 zsh-db90589c8a02e98e657af17bb0b460b752d9ed61.zip |
Merge remote-tracking branch 'upstream/master' into emacs
Conflicts:
plugins/emacs/emacs.plugin.zsh
plugins/emacs/emacsclient.sh
Diffstat (limited to 'plugins/gpg-agent')
-rw-r--r-- | plugins/gpg-agent/gpg-agent.plugin.zsh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh new file mode 100644 index 000000000..8cc71fd57 --- /dev/null +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -0,0 +1,26 @@ +# Based on ssh-agent code + +local GPG_ENV=$HOME/.gnupg/gpg-agent.env + +function start_agent { + /usr/bin/env gpg-agent --daemon --enable-ssh-support --write-env-file ${GPG_ENV} > /dev/null + chmod 600 ${GPG_ENV} + . ${GPG_ENV} > /dev/null +} + +# Source GPG agent settings, if applicable +if [ -f "${GPG_ENV}" ]; then + . ${GPG_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || { + start_agent; + } +else + start_agent; +fi + +export GPG_AGENT_INFO +export SSH_AUTH_SOCK +export SSH_AGENT_PID + +GPG_TTY=$(tty) +export GPG_TTY |