blob: 32780c9d68647973b11be9f55cbb5b1ac45475e3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# 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 "$@"
}
# If we have a SHLVL set from one of the shells that does that (bash, ksh93,
# zsh), then set a SHLVL-derived value that takes tmux into account if we
# haven't already. This can be used to show the current SHLVL in the prompt for
# more advanced shells.
if [ -n "$SHLVL" ] && [ -n "$TMUX" ] && [ -z "$TMUX_SHLVL" ] ; then
TMUX_SHLVL=$((SHLVL - 1))
export TMUX_SHLVL
fi
|