From 8619dd28bc50880625e9701d1c0dbd412029f2da Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 20 Sep 2011 23:15:50 -0400 Subject: [PATCH] Added screen and tmux plugins. --- functions/alias.zsh | 10 ---------- plugins/screen/screen.plugin.zsh | 23 +++++++++++++++++++++++ plugins/tmux/tmux.plugin.zsh | 22 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 plugins/screen/screen.plugin.zsh create mode 100644 plugins/tmux/tmux.plugin.zsh diff --git a/functions/alias.zsh b/functions/alias.zsh index 436b8055..13a3d7f3 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 00000000..c0d533d9 --- /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 00000000..8e1d19b5 --- /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 +