Estou executando o tmux de um tty em um dispositivo Linux embutido. (NÃO é um emulador de terminal) porque a tela é pequena, eu quero adicionar alguns "ícones" à barra de status do tmux. Para conseguir isso, eu simplesmente criei uma fonte com os glifos apropriados para coisas como bateria ou wifi. Eu posso carregar a fonte e exibir os caracteres com chamadas que usam um escape para os caracteres de desenho de linha da seguinte forma:
echo -e "\xe4\xf"
\ xe me escapa para o modo de caractere de desenho de linha, \ 234 é meu caractere criado, e \ xf me retorna ao modo de caractere normal para que meu terminal não comece a ficar bobo.
isso funciona perfeitamente se eu digitar o comando no terminal se o tmux foi iniciado ou não. o problema surge se eu tentar usá-lo no meu arquivo ~ / .tmux.conf para a barra de status. Atualmente tenho uma linha como esta:
set -g status-right "#(echo -e "\xe4\xf") #(/script/to/output/powerlevel)
isso simplesmente gera
xe234xf powerlevel
isso é o mesmo se eu tentar printf over echo. esta é a saída que eu esperaria obter no terminal se eu fizesse a chamada sem passar -e para eco, ou sem incluir a declaração com aspas.
Decidi então encapsular as chamadas para o echo ou printf em um shell script. Novamente, o script funciona quando chamado do terminal, mas não na barra de status do tmux. agora eu recebo o caractere não imprimível " " em vez do meu ícone, assim:
� powerlevel
isto é o que eu esperaria se eu não usasse os escapes de desenho de linha mencionados anteriormente, ou se eu tentasse copiar e colar o caractere como texto usando o tmux. além disso, a chamada desses scripts de caracteres atrapalha o restante do meu status-right, já que o clock tem cerca de 6 dígitos por minutos quando é chamado (embora só atualize corretamente dois deles).
como posso fazer o tmux respeitar os caracteres de escape?
qualquer ajuda ou percepção é muito apreciada.