This repository has been archived on 2024-03-04. You can view files and clone it, but cannot push or open issues or pull requests.
linux/.linux/bash/module/tmux.sh

58 lines
888 B
Bash

# create/attach to named session.
ta()
{
local name="$1"
# set default name.
if [[ "$name" = "" ]]; then
name="main"
fi
# call tmux.
tmux new -s "$name" 2> /dev/null || tmux attach-session -t "$name"
}
# detach.
alias td="tmux detach-client"
# list.
alias tl="tmux list-sessions"
# rename.
alias tr="tmux rename-session"
# assign name (to window).
alias tn="tmux rename-window"
# kill specified session or default one.
tk()
{
local name="$1"
# set default name.
if [[ "$name" = "" ]]; then
name="main"
fi
# call tmux.
tmux kill-session -t "$name"
}
# kill all sessions.
tka()
{
local sessions=$(tmux list-sessions | sed -e 's/:.*//')
for session in $sessions; do
tmux kill-session -t "$session"
done
}
# autocompletes.
_ta()
{
_autocomplete_first "$(tmux list-sessions 2> /dev/null | sed -e 's/:.*//')"
}
complete -F _ta ta tk