Add session command

This commit is contained in:
Kenneth Benzie 2024-08-21 20:21:51 +01:00
parent 4ff10eb05e
commit 6c86d1c0cc
3 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,27 @@
session() {
if [[ "$1" == "" ]]; then
echo "usage: session <name> [<host>]"
else
local name=$1
local host=$2
if [[ "$3" != "" ]]; then
echo "$fg[red]error:$reset_color invalid argument: $3"
return 1
fi
if [[ "$TMUX" == "" ]]; then
local cmd="tmux new-session -As $name"
if [[ "$host" != "" ]]; then
cmd="ssh $host -t $cmd"
fi
eval $cmd
else
if [[ "$host" != "" ]]; then
echo "$fg[red]error:$reset_color <host> not allowed inside tmux session"
return 1
fi
tmux list-sessions | grep "$name:" &> /dev/null || \
tmux new-session -Ads $name -c $HOME
tmux switch-client -t $name
fi
fi
}

View File

@ -62,6 +62,7 @@ notify_ignore_list=(
ping
podman
python
session
slides
ssh
sudo

3
zshrc
View File

@ -41,6 +41,9 @@ source-plugin utilities
# Automatically source .enter and .exit scripts on cd
source-plugin autoenv
# Session manager
source-plugin session
# Layout tmux window commands
[ "$TMUX" != "" ] && source-plugin layout