prezto_config/modules/screen/init.zsh
Georges Discry 07686fad38 Increase control over multiplexer auto-start
Setting the auto-start 'remote' and 'local' zstyles for the screen and
tmux modules to 'true' automatically starts a session in SSH connections
and in local terminals respectively.

Signed-off-by: Sorin Ionescu <sorin.ionescu@gmail.com>
2013-08-12 18:27:24 -04:00

43 lines
846 B
Bash

#
# Defines GNU Screen aliases and provides for auto launching it at start-up.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Georges Discry <georges@discry.be>
#
# Return if requirements are not found.
if (( ! $+commands[screen] )); then
return 1
fi
#
# Auto Start
#
if [[ -z "$STY" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
); then
session="$(
screen -list 2> /dev/null \
| sed '1d;$d' \
| awk '{print $1}' \
| head -1)"
if [[ -n "$session" ]]; then
exec screen -x "$session"
else
exec screen -a -A -U -D -R -m "$SHELL" -l
fi
fi
#
# Aliases
#
alias scr='screen'
alias scrl='screen -list'
alias scrn='screen -U -S'
alias scrr='screen -a -A -U -D -R'