Capture o conteúdo da barra de status do tmux

2

Eu escrevi um addon para o tmux, tmux-gitbar , ele adiciona à barra de status do tmux algumas informações sobre o árvore de trabalho atual do Git (nome da ramificação local e remota, a árvore de trabalho está limpa ?, etc.). Então basicamente está modificando o conteúdo da barra de status do tmux.

Atualmente, estou escrevendo um conjunto de testes automatizados e gostaria de capturar o conteúdo real da barra de status do tmux para realizar algumas verificações.

Eu tentei com a ferramenta unix script , também com ttyrec , ambas usadas para realizar gravações de sessões de terminal. Eles pegam todo o conteúdo do terminal, mas não a barra de status .

Como eu faria isso?

EDITAR :

Na verdade, consegui capturar a barra de status do tmux usando script e ttyrec . Para fazer isso eu só tive que executá-los antes de iniciar o tmux. Como essas ferramentas pegam o terminal atual, elas não estão cientes do terminal pai no qual você iniciou o tmux. Iniciá-los antes de tmux fazer com que eles vejam as linhas de terminal e os cols nos quais o tmux cria sua barra de status.

Ainda estou procurando outra solução, pois não acho realmente estável analisar os binários produzidos por script ou ttyrec como parte do meu conjunto de testes de integração. No entanto, uma ferramenta parece promissora para a tarefa: uma biblioteca emulador vt100 escrita em python , mas ainda estou aberta para sugestões / soluções.

    
por arainone 05.03.2016 / 20:27

1 resposta

0

Respondendo a minha própria pergunta.

Após algumas pesquisas, sim, eu encontrei uma maneira confiável para capturar a saída de qualquer aplicativo baseado em terminal : usando um emulador de terminal VT100 .

O

VT100 é agora o padrão para todos os aplicativos de terminal virtual e tmux é um aplicativo interagindo com um terminal, seu conteúdo pode ser descartado e sua barra de status.

A biblioteca que eu vou usar para isso é vt100-emulador de Julien Palard porque é simples e eficiente. Há também pyte que faz bem o trabalho.
E provavelmente outros

    
por 08.03.2016 / 14:56