aboutsummaryrefslogtreecommitdiff
path: root/bash/bashrc.d/tmux.bash
blob: d7b6184bbb07f0b3b00b52184ed58daf9943a46a (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
# Bail if no tmux(1)
if ! hash tmux 2>/dev/null ; then
    return
fi

# Attach to existing tmux session rather than create a new one if possible
tmux() {
    local -a tcmd

    # If given any arguments, just use them as they are
    if ! (($#)) ; then
        tcmd=("$@")

    # If a session exists, just attach to it
    elif command tmux has-session 2>/dev/null ; then
        tcmd=(attach-session -d)

    # Create a new session with an appropriate name
    else
        tcmd=(new-session -s "${TMUX_SESSION:-default}")
    fi

    # Run tmux command with concluded arguments
    command tmux "${tcmd[@]}"
}