diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-05-19 18:53:35 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-05-19 18:53:35 -0300 |
commit | 4fbed988b5c787740dc08d27fecf9e9151baf281 (patch) | |
tree | cd85c1fa87077704237c6feed046cb725ec6459b | |
parent | 757bcb115efa59abbb80424efef36f074d82ffc9 (diff) | |
download | termplex-4fbed988b5c787740dc08d27fecf9e9151baf281.tar.gz termplex-4fbed988b5c787740dc08d27fecf9e9151baf281.tar.bz2 |
Adds wtmux
-rwxr-xr-x | shell | 5 | ||||
-rwxr-xr-x | wtmux | 31 |
2 files changed, 34 insertions, 2 deletions
@@ -7,6 +7,7 @@ BASENAME="`basename $0`" DEST="$1" COMMAND="$2" +MULTIPLEXER="wscreen" # Set window title # http://stackoverflow.com/questions/899609/gnu-screen-run-script-that-sends-commands-to-the-screen-session-it-is-being-run @@ -39,7 +40,7 @@ if [ "$BASENAME" == "shells" ]; then else if [ -z "$COMMAND" ] && screen -ls $DEST | grep -q "There is a screen on"; then # Local existing screen shell - wscreen $DEST + $MULTIPLEXER $DEST elif [ -z "$COMMAND" ] && [ "$DEST" == "root" ]; then # Local root shell window_title root @@ -51,7 +52,7 @@ else elif [ "$DEST" == "local" ]; then # Local screen shell window_title $COMMAND - wscreen $COMMAND + $MULTIPLEXER $COMMAND else # Remote shell using autossh autossh $DEST -t -- $COMMAND @@ -0,0 +1,31 @@ +# +# Worktemux: tmux session wrapper +# https://robots.thoughtbot.com/a-tmux-crash-course +# + +# Default options. +opts="" + +# Session selection. +if [ ! -z "$1" ]; then + if tmux list-sessions 2> /dev/null | grep -q "^$1:"; then + tmux attach -t $1 + exit $? + else + session="new -s $1" + fi + + if [ "$1" == "root" ]; then + sudo tmux attach + exit + elif [ -f "$HOME/.tmux/$1" ]; then + opts="-f $HOME/.tmux/$1" + elif [ -f "$HOME/.tmux/base" ]; then + opts="-f $HOME/.tmux/base" + else + opts="" + fi +fi + +# Start session. +tmux $opts $session |