Eu gostaria de ter duas linhas de status, com a primeira linha de status mostrando em qual diretório a janela está e a segunda mostrando qual processo está sendo executado na janela. Isso é possível? Eu uso o bash, mas estou aberto a mudar para outro shell se for mais fácil fazer essa configuração.
Se isso não for possível com o tmux ou for muito difícil de configurar, existe alguma outra ferramenta que eu possa usar e que possa me fornecer essas informações? (Basicamente eu quero várias abas/janelas abertas no terminal, com o diretório e as informações do processo.)
Responder1
Uma pergunta muito boa. Consigo fazer com que "funcione", mas não o suficiente para ser "utilizável", IMHO. Concordo que seria um bom formato, se funcionasse bem o suficiente. Fornecerei as informações que encontrei aqui, na esperança de que talvez você (ou outra pessoa que apareça) possa preencher o resto do quebra-cabeça.
Começando com o tmux 2.9 em 2019, é fácil adicionar uma segunda linha de status com setw -g status 2
. O formato da primeira linha seria (muitobásicoversão):
setw -g status-format[0] '#{W:#{pane_current_path} }' # or ...
setw -g status-format[0] '#{W:#(pwd) }'
A segunda linha seria:
setw -g status-format[1] '#{W:#{pane_current_command} }' # or possibly
setw -g status-format[1] '#{W:#W } # if there's no other function changing the window title'
O problema é que eles não ficam alinhados entre si, e ainda não encontrei uma maneira de fazer isso por meio das diretivas de configuração do tmux. Pode haver uma maneira de pelo menos preencher/forçar os resultados superior e inferior a uma determinada largura para criar alinhamento dessa forma, mas ainda não cheguei tão longe.
Observe também que, por padrão, o tmux atualiza apenas a cada 15 segundos. Você pode atualizar esse intervalo usando algo como setw -g status-interval 1
.
Observe também que qualquer um dos comandos pode ser usado interativamente no shell apenas pré-preparando o tmux
comando.