From 989ea0c20e1d94e85ee4262be77eaa94a10fc930 Mon Sep 17 00:00:00 2001 From: Christian Baer Date: Sat, 4 Jul 2020 09:14:39 +0200 Subject: [PATCH] Added tmix function --- .zsh/functions/tmix | 30 ++++++++++++++++++++++++++++++ .zsh/lib/20-functions.zsh | 1 + 2 files changed, 31 insertions(+) create mode 100644 .zsh/functions/tmix diff --git a/.zsh/functions/tmix b/.zsh/functions/tmix new file mode 100644 index 0000000..e377f66 --- /dev/null +++ b/.zsh/functions/tmix @@ -0,0 +1,30 @@ +function tmix () { + set -o shwordsplit + + SESSION="${TMIX_SESSION:-TMIX}" + SERVERS="${TMIX_SERVERS}" + + if [[ $1 == "kill" ]]; then + echo "Killing tmux session $SESSION" + tmux kill-session -t "${SESSION}" + else + if [ -z "$SERVERS" ]; then + # display usage if no parameters given + echo "Usage: tmix" + echo "No servers configured. define them as TMIX_SERVERS=\" \" e.g. in ${ZDOTDIR}/lib/30-extras.zsh" + exit + else + echo "Creating tmux session $SESSION" + tmux new-session -d -s "${SESSION}" + + create_session=$? + if [[ $create_session = 0 ]]; then + for SERVER in ${SERVERS}; do + echo ">>> Connecting to ${SERVER}" + tmux new-window -n ${SERVER} -t ${SESSION}: + tmux send-keys -t ${SESSION}:${SERVER} "/usr/local/bin/mosh ${SERVER} -- doas tmux a -d" C-m + done + fi + fi + fi +} diff --git a/.zsh/lib/20-functions.zsh b/.zsh/lib/20-functions.zsh index 3699253..f1311a2 100644 --- a/.zsh/lib/20-functions.zsh +++ b/.zsh/lib/20-functions.zsh @@ -2,3 +2,4 @@ fpath=($fpath $ZDOTDIR/functions) autoload extract autoload img2iso +autoload tmix