X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2Ftmux.bashrc;h=3a5064198ac657b8181b0aa75e243622442fad05;hb=909140c72cfb9c66bcb4189b975f2ccb18c11384;hp=b5ac7572cd90a243697593caddc7883e98c468cd;hpb=5238da68cdb1f51a416564a0faeb909f25d9b168;p=profile.git diff --git a/.profile.d/tmux.bashrc b/.profile.d/tmux.bashrc index b5ac757..3a50641 100644 --- a/.profile.d/tmux.bashrc +++ b/.profile.d/tmux.bashrc @@ -1,11 +1,30 @@ # profile-requires: screen.bashrc # XXX: Use a module. -tmux=$(PATH=$PATH:/comm/tmux/stable/bin find_working tmux 2>/dev/null) -krenew=$(PATH=$PATH:/comm/kstart/stable/bin find_working krenew 2>/dev/null) +krenew=$(find_working krenew 2>/dev/null) +tmux=$(find_working tmux 2>/dev/null) if [ $? = 0 ]; then alias session="bigtmux $tmux has -t session 2>/dev/null && tmux attach -t session || ktmux -R $krenew -T $tmux -s session" if [ -n "$TMUX" ]; then - $tmux run-shell "ktmux_helper -R $krenew" ';' detach 2>/dev/null + ktmux_args=${TMUX##*,} + if [ "$ktmux_args" = "$TMUX" ]; then + ktmux_args= + else + ktmux_args="-s $ktmux_args" + fi + + # tmux 1.8 added -b flag to run-shell. Prior to 1.8 we must detach. + tmux_version=$($tmux -V) + tmux_version=${tmux_version#tmux } + tmux_version=${tmux_version//[^0-9]/} + tmux_major=${tmux_version%%.*} + tmux_minor=${tmux_version#*.} + tmux_minor=${tmux_minor%%.*} + tmux_version=$((tmux_minor+tmux_major*10)) + if [ $tmux_version -lt 18 ]; then + $tmux run-shell "ktmux_helper $ktmux_args -R $krenew" ';' detach 2>/dev/null + else + $tmux run-shell -b "ktmux_helper $ktmux_args -R $krenew" 2>/dev/null + fi fi fi -unset krenew tmux +unset krenew tmux tmux_version tmux_major tmux_minor ktmux_args