2012-02-01 04:37:51 +00:00
|
|
|
#
|
2012-02-02 21:34:46 +00:00
|
|
|
# Defines GNU Screen aliases and provides for auto launching it at start-up.
|
2012-02-01 04:37:51 +00:00
|
|
|
#
|
|
|
|
# Authors:
|
|
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
2013-01-24 13:54:55 +00:00
|
|
|
# Georges Discry <georges@discry.be>
|
2012-02-01 04:37:51 +00:00
|
|
|
#
|
2011-09-21 03:15:50 +00:00
|
|
|
|
2012-07-23 19:00:44 +00:00
|
|
|
# Return if requirements are not found.
|
|
|
|
if (( ! $+commands[screen] )); then
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
2012-02-02 21:34:46 +00:00
|
|
|
# Auto Start
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
|
|
|
|
2014-02-26 22:19:19 +00:00
|
|
|
if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
|
2013-01-24 13:54:55 +00:00
|
|
|
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
|
|
|
|
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
|
|
|
|
); then
|
2012-02-02 21:34:46 +00:00
|
|
|
session="$(
|
|
|
|
screen -list 2> /dev/null \
|
|
|
|
| sed '1d;$d' \
|
|
|
|
| awk '{print $1}' \
|
|
|
|
| head -1)"
|
|
|
|
|
2011-09-21 03:15:50 +00:00
|
|
|
if [[ -n "$session" ]]; then
|
|
|
|
exec screen -x "$session"
|
|
|
|
else
|
|
|
|
exec screen -a -A -U -D -R -m "$SHELL" -l
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
2012-07-03 17:50:25 +00:00
|
|
|
# Aliases
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
|
|
|
|
2023-04-13 02:02:41 +00:00
|
|
|
if ! zstyle -t ':prezto:module:screen:alias' skip; then
|
|
|
|
alias scr='screen'
|
|
|
|
alias scrl='screen -list'
|
|
|
|
alias scrn='screen -U -S'
|
|
|
|
alias scrr='screen -a -A -U -D -R'
|
|
|
|
fi
|