tmux - Lista a última linha de saída de todas as janelas em uma nova janela

0

Estou executando uma sessão do tmux com 40 janelas. Eu preciso criar uma janela de visão geral listando a última linha de cada tela e atualizando cada listagem como a saída da respectiva janela.

    
por Corstiaan 23.10.2017 / 20:38

1 resposta

1

A idéia é enumerar todas as janelas, ou melhor, todos os painéis, já que uma janela pode ter vários deles. Em seguida, capture a saída de cada painel e exiba a última linha do texto capturado. Coloque isso em um script:

tmux list-windows -F '#I'  |   
  while read w; do tmux list-panes -F '#P' -t $w | 
     while read p; do echo -n  "${w}.${p}" ; tmux capture-pane -p -t "${w}.${p}" | 
        tail -n 1 
     done 
  done

Suponha que você coloque este código em /some/file Depois disso, estando em sua sessão tmux de 40 janelas, você cria sua nova janela de monitoramento e roda

watch -n 1 'bash /some/file'

lá. A parte echo -n "${w}.${p}" ; irá prefixar as linhas com o índice de janela e painel, achei muito útil ter uma idéia da origem da saída. Você pode não querer isso.

    
por 23.10.2017 / 21:59