From 3e89d89cd8558e2848eab872de6b6a3d0067b7d3 Mon Sep 17 00:00:00 2001 From: shmibs Date: Tue, 22 Dec 2015 18:39:39 -0700 Subject: tmux session handling --- .zshrc-remote | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/.zshrc-remote b/.zshrc-remote index f7e5c0d..c257774 100644 --- a/.zshrc-remote +++ b/.zshrc-remote @@ -1,4 +1,59 @@ -if [[ $TERM != "screen" ]]; then - tmux +[[ $TERM != "screen" ]]; then + tmux has-session 2>/dev/null + if [[ "$?" != "0" ]]; then + tmux + fi + + tmux has-session 2>/dev/null + if [[ "$?" != "0" ]]; then + logout + fi + + { + while true; do + tmux has-session 2>/dev/null + if [[ "$?" != "0" ]]; then + logout + fi + + echo "" + tmux list-sessions + + echo -n "> " + read -A args + case "${args[1]}" in + a) + if [[ "${args[2]}" != "" ]]; then + tmux has-session -t "${args[2]}" + if [[ "$?" == "0" ]]; then + tmux attach-session -t "${args[2]}" + fi + fi + ;; + + k) + if [[ "${args[2]}" != "" ]]; then + tmux has-session -t "${args[2]}" + if [[ "$?" == "0" ]]; then + tmux kill-session -t "${args[2]}" + fi + fi + ;; + + n) + tmux new-session + ;; + + q) + break; + ;; + + *) + ;; + esac + + done + } + logout fi -- cgit v1.2.3