Outra solução que estou usando atualmente. Em vez de '% =' como na linha original, ou '% -30 =' no bender (que se alinha à marca de -30% (aka 70%)), estou usando '% -043 =' (que alinha para a marca de -43 caracteres). Mas é claro que isso tem o mesmo problema que o do bender, onde eu preciso compensar as alterações para cada servidor. A solução é editar o .screenrc por servidor, com um comando como este:
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc
(O 19 é o número de caracteres usados pelo display de carga e espaçamento)
Como meu .screenrc é gerado pelo arquivo .rc do meu shell, se não estiver lá, posso executar imediatamente esse comando depois de fazer isso e terminar com um alinhamento de deslocamento correto para cada servidor. Não é elegante, mas funciona!
Problemas remanescentes, que eu realmente não me importo o suficiente para resolver:
- A lista de janelas (e qualquer coisa à esquerda, incluindo a hora) é empurrada para a esquerda agora. Eu resolvi isso removendo o relógio.
- Se o nome do host da máquina for alterado, preciso regenerar o .screenrc, que envolve excluí-lo e, em seguida, iniciar um novo shell.