@ -11,7 +11,7 @@ alias tkss='tmux kill-session -t'
# Only run if tmux is actually installed
if ! which tmux & > /dev/null; then
print "zsh tmux plugin: tmux not found. Please install tmux before using this plugin."
print "zsh tmux plugin: tmux not found. Please install tmux before using this plugin." >& 2
return 1
fi
@ -40,9 +40,6 @@ fi
[ [ -n " $ZSH_TMUX_FIXTERM_WITH_256COLOR " ] ] || ZSH_TMUX_FIXTERM_WITH_256COLOR = "screen-256color"
# Get the absolute path to the current directory
local zsh_tmux_plugin_path = " $( cd " $( dirname " $0 " ) " && pwd ) "
# Determine if the terminal supports 256 colors
if [ [ ` tput colors` = = "256" ] ] ; then
export ZSH_TMUX_TERM = $ZSH_TMUX_FIXTERM_WITH_256COLOR
@ -53,25 +50,33 @@ fi
# Set the correct local config file to use.
if [ [ " $ZSH_TMUX_ITERM2 " = = "false" ] ] && [ [ -f $HOME /.tmux.conf || -h $HOME /.tmux.conf ] ] ; then
#use this when they have a ~/.tmux.conf
export _ZSH_TMUX_FIXED_CONFIG = " $zsh_tmux_plugin_path /tmux.extra.conf "
export _ZSH_TMUX_FIXED_CONFIG = " ${ 0 : h : a } /tmux.extra.conf "
else
#use this when they don't have a ~/.tmux.conf
export _ZSH_TMUX_FIXED_CONFIG = " $zsh_tmux_plugin_path /tmux.only.conf "
export _ZSH_TMUX_FIXED_CONFIG = " ${ 0 : h : a } /tmux.only.conf "
fi
# Wrapper function for tmux.
function _zsh_tmux_plugin_run( ) {
# We have other arguments, just run them
local tmux_cmd
tmux_cmd = ( command tmux)
[ [ " $ZSH_TMUX_ITERM2 " = = "true" ] ] && tmux_cmd += "-CC"
[ [ " $ZSH_TMUX_FIXTERM " = = "true" ] ] && tmux_cmd += ( -f $_ZSH_TMUX_FIXED_CONFIG )
if [ [ -n " $@ " ] ] ; then
# We have other arguments, just run them
\t mux $@
# Try to connect to an existing session.
elif [ [ " $ZSH_TMUX_AUTOCONNECT " = = "true" ] ] ; then
\t mux ` [ [ " $ZSH_TMUX_ITERM2 " = = "true" ] ] && echo '-CC ' ` attach || \t mux ` [ [ " $ZSH_TMUX_ITERM2 " = = "true" ] ] && echo '-CC ' ` ` [ [ " $ZSH_TMUX_FIXTERM " = = "true" ] ] && echo '-f ' $_ZSH_TMUX_FIXED_CONFIG ` new-session
[ [ " $ZSH_TMUX_AUTOQUIT " = = "true" ] ] && exit
# Just run tmux, fixing the TERM variable if requested.
# Try to connect to an existing session.
$tmux_cmd attach || $tmux_cmd new-session
if [ [ " $ZSH_TMUX_AUTOQUIT " = = "true" ] ] ; then
exit
fi
else
\t mux ` [ [ " $ZSH_TMUX_ITERM2 " = = "true" ] ] && echo '-CC ' ` ` [ [ " $ZSH_TMUX_FIXTERM " = = "true" ] ] && echo '-f ' $_ZSH_TMUX_FIXED_CONFIG `
[ [ " $ZSH_TMUX_AUTOQUIT " = = "true" ] ] && exit
# Just run tmux, fixing the TERM variable if requested.
$tmux_cmd
if [ [ " $ZSH_TMUX_AUTOQUIT " = = "true" ] ] ; then
exit
fi
fi
}