diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-17 17:38:45 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-08-17 17:38:45 +1200 |
commit | 67afb66eb1a2e7a1f7c912bdeec002de7b25d91d (patch) | |
tree | 0701c5da159452f229eb50a8b1f99387b31a01fe /sh/shrc.d/tmux.sh | |
parent | Only pull if rebase possible (diff) | |
download | dotfiles-67afb66eb1a2e7a1f7c912bdeec002de7b25d91d.tar.gz dotfiles-67afb66eb1a2e7a1f7c912bdeec002de7b25d91d.zip |
Move simple Bash/pdksh functions into POSIX sh
Have only translated the scripts that translate readily into POSIX sh
for now. More complex stuff like that bd/pd/sd/ud navigation for Bash
doesn't port as easily, mostly because there isn't an analogue for the
"local" keyword in POSIX.
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 "$@" +} |