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 '
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