aboutsummaryrefslogtreecommitdiff
path: root/sh/shrc.d/tmux.sh
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2016-08-19 23:22:51 +1200
committerTom Ryder <tom@sanctum.geek.nz>2016-08-19 23:22:51 +1200
commit6daae9a75afa12f929be810a52ad21139233adfa (patch)
tree409f8935029dca341ee4809581d375bd3a42cae4 /sh/shrc.d/tmux.sh
parentMerge branch 'master' into freebsd (diff)
parentUpdate documentation for br(1) and xgo(1) (diff)
downloaddotfiles-6daae9a75afa12f929be810a52ad21139233adfa.tar.gz
dotfiles-6daae9a75afa12f929be810a52ad21139233adfa.zip
Merge branch 'master' into freebsd
Diffstat (limited to 'sh/shrc.d/tmux.sh')
-rw-r--r--sh/shrc.d/tmux.sh19
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 "$@"
+}