setopt share_history
function _we_are_in_gnu_screen () {
- [ "$WINDOW" != "" ]
+ [[ -n "$WINDOW" ]]
+}
+
+function _we_are_in_ssh_session () {
+ [[ -n "$SSH_CONNECTION" ]]
}
_prompt_base='%B[%n@%m] %{%(?.$fg[green].$fg[red])%}%#%{$reset_color%}%b '
function preexec() { # Hook
if { _we_are_in_gnu_screen } then
# Set the window title of GNU Screen.
- local cmd=${1[(wr)^(*=*|sudo|nice|env|time|-*|[0-9]*)]}
+ local cmd=${1[(wr)^(*=*|sudo|nice|env|time|ssh|-*|[0-9]*)]}
printf "\ek$cmd\e\\"
fi
}
-function chpwd() { # Hook
+function precmd() { # Hook
local dirinfo=$(print_directory_info $(pwd))
case $dirinfo in
git branch --no-color 2>/dev/null \
| sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
- elif [[ -d $absdir/.hg ]] then
+ elif [[ -r $absdir/.hg/branch ]] then
# Hg
- hg branch 2>/dev/null
+ local hgbranch=`cat $absdir/.hg/branch`
+ if [[ -e $absdir/.hg/unpushed ]] then
+ echo "*${hgbranch}*"
+ else
+ echo "$hgbranch"
+ fi
elif [[ -d $absdir/_darcs ]] then
# Darcs
fi
fi
}
-chpwd
HISTFILE="$HOME/.zhistory"
HISTSIZE=6000000
alias -g G="| grep"
alias -g H="| head"
alias -g T="| tail"
+alias -g X="| hexdump -C"
alias ..='cd ..'
alias cd..='cd ..'
alias w3m="w3m -O UTF-8"
alias w3mb="w3m -O UTF-8 -B"
alias pkgsrc="pushd /usr/pkgsrc"
+alias man="LANG=C man"
alias aria="ssh -X admin@aria.cielonegro.org"
alias nem="ssh -X pho@nem.cielonegro.org"
alias mikasa="ssh -X daimon@mikasa.tomilab.net"
-alias aria-emacs="ssh -f -X admin@aria.cielonegro.org emacs"
+alias aria-emacs="ssh -f -X admin@aria.cielonegro.org emacsclient -c"
alias g1="ssh pho@g1.cuenote.jp"
alias g2="ssh pho@g2.cuenote.jp"
alias pa='open -a NiseRingo.app'
alias heboris='open /Applications/HeborisUEMac/exe/Heboris\ OpenGL.app'
alias hengband='open ~/Applications/hengband*/Hengband*'
+ alias syssleep='sudo shutdown -s now'
fi
if [ $(uname) = "Darwin" ]; then
compinit
# End of lines added by compinstall
-if [ "x$WINDOW" = "x" ]; then
+if ( _we_are_in_gnu_screen ); then
+ # When we are in a GNU Screen session...
+
+ if ( _we_are_in_ssh_session ); then
+ # Propagate remote session's bells to the local one.
+ screen -X vbell off
+ fi
+else
+ if [ -e ".motd" ]; then
+ cat ".motd"
+ fi
+
+ # Run "fortune" if we aren't in a GNU Screen session.
if which fortune 2>&1 >/dev/null; then
fortune
fi
fi
-if [ -e ".motd" ]; then
- cat .motd
-fi
-
if which ssh-agent-manager 2>&1 >/dev/null; then
eval `ssh-agent-manager -s`
fi