From 1d11c8d26b289ca1c900255df6c49f38767c78cf Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 11:25:25 +0100 Subject: [PROMPT] better managment of agents if they have been killed --- 12_Prompts.zsh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/12_Prompts.zsh b/12_Prompts.zsh index 88bdef8..123211a 100644 --- a/12_Prompts.zsh +++ b/12_Prompts.zsh @@ -95,13 +95,19 @@ update_prompt() # GPG/SSH agents AGENTS="" - if [ "$SSH_AGENT_PID" -gt 0 -a "`strings /proc/$SSH_AGENT_PID/cmdline | head -n1`" = "ssh-agent" ] + if [ "$SSH_AGENT_PID" -gt 0 -a -e /proc/$SSH_AGENT_PID/cmdline ] then - AGENTS=$SEPARATOR$C_$prompt_colors[agents]$_C"★" + [ "`strings /proc/$SSH_AGENT_PID/cmdline | head -n1`" = "ssh-agent" ] && \ + AGENTS=$SEPARATOR$C_$prompt_colors[agents]$_C"★" fi - if [ "$GPG_AGENT_INFO" != "" -a "`strings /proc/$(echo $GPG_AGENT_INFO | cut -d: -f2)/cmdline | head -n1`" = "gpg-agent" ] + if [ "$GPG_AGENT_INFO" != "" ] then - AGENTS=$AGENTS$SEPARATOR$C_$prompt_colors[agents]$_C"☆" + GPG_AGENT_PID="$(echo $GPG_AGENT_INFO | cut -d: -f2)" + if [ -e /proc/$GPG_AGENT_PID/cmdline ] + then + [ "`strings /proc/$GPG_AGENT_PID/cmdline | head -n1`" = "gpg-agent" ] && \ + AGENTS=$AGENTS$SEPARATOR$C_$prompt_colors[agents]$_C"☆" + fi fi AGENTSSIZE=$(expand_text $AGENTS) AGENTSSIZE=$#AGENTSSIZE -- cgit v1.2.3 From a1cdd797ca0f79b7641c5478940e3fa7c109e547 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 11:25:56 +0100 Subject: [KEYCHAIN] just source the env files, don't startup at every shell... --- 10_Environment.zsh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/10_Environment.zsh b/10_Environment.zsh index 9e5a1f9..53209ff 100644 --- a/10_Environment.zsh +++ b/10_Environment.zsh @@ -21,20 +21,11 @@ export SHELL=`which zsh` ## Agent de clefs SSH/GPG if [ "$SUDO_USER" = "" ] then - if cmd_exists keychain - then - if [ -f ~/.keychain/startup.zsh ] - then - source ~/.keychain/startup.zsh --quiet - else - KEYCHAIN=~/.keychain/$(hostname)-sh - [ -f ${KEYCHAIN} ] && source ${KEYCHAIN} - [ -f ${KEYCHAIN}-gpg ] && source ${KEYCHAIN}-gpg - cmd_exists keychain && keychain --quiet --quick --inherit any --stop others - [ -f ${KEYCHAIN} ] && source ${KEYCHAIN} - [ -f ${KEYCHAIN}-gpg ] && source ${KEYCHAIN}-gpg - fi - fi + KEYCHAIN=~/.keychain/$(hostname)-sh + for file in $(find $KEYCHAIN:h -name "$(hostname)-sh" -o -name "$(hostname)-sh-*") + do + source $file + done fi ## Colors -- cgit v1.2.3 From 9751d27c9c35f52f892444b2ff126041e62d6433 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 12:09:57 +0100 Subject: [KEYCHAIN] source env files to get up-to-date keychain status --- 12_Prompts.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/12_Prompts.zsh b/12_Prompts.zsh index 123211a..23d76b8 100644 --- a/12_Prompts.zsh +++ b/12_Prompts.zsh @@ -94,6 +94,13 @@ update_prompt() set_prompt_date # GPG/SSH agents + + KEYCHAIN=~/.keychain/$(hostname)-sh + for file in $(find $KEYCHAIN:h -name "$(hostname)-sh" -o -name "$(hostname)-sh-*") + do + source $file + done + AGENTS="" if [ "$SSH_AGENT_PID" -gt 0 -a -e /proc/$SSH_AGENT_PID/cmdline ] then -- cgit v1.2.3 From 7a79a916978a35cd5dcaef14573e3bbb4cea76e2 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 14:51:14 +0100 Subject: [PROMPT] removes the separator between ssh and gpg agents indicators --- 12_Prompts.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/12_Prompts.zsh b/12_Prompts.zsh index 23d76b8..3048c0c 100644 --- a/12_Prompts.zsh +++ b/12_Prompts.zsh @@ -105,7 +105,7 @@ update_prompt() if [ "$SSH_AGENT_PID" -gt 0 -a -e /proc/$SSH_AGENT_PID/cmdline ] then [ "`strings /proc/$SSH_AGENT_PID/cmdline | head -n1`" = "ssh-agent" ] && \ - AGENTS=$SEPARATOR$C_$prompt_colors[agents]$_C"★" + AGENTS=$C_$prompt_colors[agents]$_C"★" fi if [ "$GPG_AGENT_INFO" != "" ] then @@ -113,9 +113,10 @@ update_prompt() if [ -e /proc/$GPG_AGENT_PID/cmdline ] then [ "`strings /proc/$GPG_AGENT_PID/cmdline | head -n1`" = "gpg-agent" ] && \ - AGENTS=$AGENTS$SEPARATOR$C_$prompt_colors[agents]$_C"☆" + AGENTS=$AGENTS$C_$prompt_colors[agents]$_C"☆" fi fi + AGENTS=${AGENTS:+$SEPARATOR$AGENTS} AGENTSSIZE=$(expand_text $AGENTS) AGENTSSIZE=$#AGENTSSIZE -- cgit v1.2.3 From 97ae95fec62aacda51b461086b46dc0310e5f00e Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 14:58:28 +0100 Subject: [PROMPT] recalculates horizontal bar before preexec --- 12_Prompts.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/12_Prompts.zsh b/12_Prompts.zsh index 23d76b8..46be226 100644 --- a/12_Prompts.zsh +++ b/12_Prompts.zsh @@ -39,6 +39,13 @@ preexec () local lines="$(expand_text "$PROMPT$1" | sed "s/\\(.\{$COLUMNS\}\\)/\\1\\n/g" | wc -l)" prompt_colors[date]=$date_colors[exec] set_prompt_date + + spaceleft=$(($COLUMNS - $AGENTSSIZE - $MAILSTATSIZE - $DATESIZE - $BATTERYSIZE)) + unset HBAR + for h in {1..$spaceleft} + do + HBAR=$HBAR- + done redisplay_prompt local string="$(expand_text "$PROMPT$1")" @@ -176,7 +183,6 @@ update_prompt() [ "$DEBUG" = "yes" ] && echo -n " Horizontal bar..." # First line of prompt, calculation of the remaining place spaceleft=$(($COLUMNS - $ERRORSIZE - $AGENTSSIZE - $MAILSTATSIZE - $DATESIZE - $BATTERYSIZE)) - unset HBAR for h in {1..$spaceleft} do -- cgit v1.2.3 From 10978e45494d22847418d490e14e8137bfe819a2 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 30 Jan 2009 15:00:48 +0100 Subject: [ZLOG{IN,OUT}] keychain usage examples --- .zlogin | 6 +++--- .zlogout | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100755 .zlogout diff --git a/.zlogin b/.zlogin index d2eb2ef..753030b 100644 --- a/.zlogin +++ b/.zlogin @@ -28,9 +28,9 @@ screen -list #cmd_exists remind && remind -n # -#cmd_exists keychain && keychain --quiet --stop others --inherit any -#keychain --quiet --quick id_dsa -#keychain --quiet --quick 593F1F92 +#cmd_exists keychain && eval $(keychain --eval --quiet --quick --inherit any-once --stop others) +#cmd_exists keychain && keychain --quiet --quick --clear +#keychain id_dsa 593F1F92 chpwd true diff --git a/.zlogout b/.zlogout new file mode 100755 index 0000000..7e7b00f --- /dev/null +++ b/.zlogout @@ -0,0 +1,4 @@ +#!/bin/zsh + +#cmd_exists keychain && keychain --quick --clear + -- cgit v1.2.3