diff --git a/functions/alias.zsh b/functions/alias.zsh index 436b805..13a3d7f 100644 --- a/functions/alias.zsh +++ b/functions/alias.zsh @@ -99,16 +99,6 @@ if ! check-bool "$DISABLE_COLOR"; then fi fi -# Terminal Multiplexer -alias sl="screen -list" -alias sn="screen -U -S" -alias sr="screen -a -A -U -D -R" - -if (( $+commands[tmux] )); then - alias ta="tmux attach-session" - alias tl="tmux list-sessions" -fi - # Miscellaneous (( $+commands[ack] )) && alias afind='ack -il' (( $+commands[ebuild] )) && alias ebuild='nocorrect ebuild' diff --git a/plugins/screen/screen.plugin.zsh b/plugins/screen/screen.plugin.zsh new file mode 100644 index 0000000..c0d533d --- /dev/null +++ b/plugins/screen/screen.plugin.zsh @@ -0,0 +1,23 @@ +# ------------------------------------------------------------------------------ +# FILE: screen.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +# Aliases +alias sl="screen -list" +alias sn="screen -U -S" +alias sr="screen -a -A -U -D -R" + +# Auto +if (( $SHLVL == 1 )) && ! check-bool "$DISABLE_AUTO_SCREEN"; then + (( SHLVL += 1 )) && export SHLVL + 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 + diff --git a/plugins/tmux/tmux.plugin.zsh b/plugins/tmux/tmux.plugin.zsh new file mode 100644 index 0000000..8e1d19b --- /dev/null +++ b/plugins/tmux/tmux.plugin.zsh @@ -0,0 +1,22 @@ +# ------------------------------------------------------------------------------ +# FILE: tmux.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +# Aliases +alias ta="tmux attach-session" +alias tl="tmux list-sessions" + +# Auto +if (( $SHLVL == 1 )) && ! check-bool "$DISABLE_AUTO_TMUX"; then + (( SHLVL += 1 )) && export SHLVL + session="$(tmux list-sessions 2> /dev/null | cut -d':' -f1 | head -1)" + if [[ -n "$session" ]]; then + exec tmux attach-session -t "$session" + else + exec tmux new-session "$SHELL -l" + fi +fi +