Você pode escrever seu próprio script de shell pequeno para fazer isso. Por exemplo, crie o arquivo mytmux
em algum lugar no seu PATH
e torne-o executável chmod +x mytmux
, com estes conteúdos:
#!/bin/bash
rotate(){
file=/tmp/mytmux.$session
if [ -f "$file" ]
then rm "$file"
else touch "$file"
while [ -f "$file" ] && tmux next-window -t "$session"
do sleep 3
done
fi
}
case $1 in
-rotate)shift
session=${1?session name}
rotate ;;
esac
Eu fiz isso com um argumento -rotate
caso você adicionasse outras rotinas auxiliares mais tarde. Para o seu ~/.tmux.conf
adicione uma ligação adequada, por exemplo:
bind-key C run-shell -b 'mytmux -rotate #{session_name}'
O -b
deve ser executado em segundo plano. A primeira vez que você digita control-b C , o arquivo tmp não existe, portanto o loop while executa a emissão de um comando next-window
a cada 3 segundos. A segunda vez que o arquivo tmp é removido e o primeiro script será interrompido. Você deve esperar 3 segundos antes de começar de novo ou você pode acabar com 2 scripts rodando!