diff options
Diffstat (limited to '.zshrc-remote')
-rw-r--r-- | .zshrc-remote | 59 |
1 files 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 |