diff options
Diffstat (limited to 'sh/shrc.d/tmux.sh')
-rw-r--r-- | sh/shrc.d/tmux.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sh/shrc.d/tmux.sh b/sh/shrc.d/tmux.sh new file mode 100644 index 00000000..bd954be8 --- /dev/null +++ b/sh/shrc.d/tmux.sh @@ -0,0 +1,19 @@ +# Attach to existing tmux session rather than create a new one if possible +tmux() { + + # If given any arguments, just use them as they are + if [ "$#" -gt 0 ] ; then + : + + # If a session exists, just attach to it + elif command tmux has-session 2>/dev/null ; then + set -- attach-session -d + + # Create a new session with an appropriate name + else + set -- new-session -s "${TMUX_SESSION:-default}" + fi + + # Execute with concluded arguments + command tmux "$@" +} |