Esta proposta deve ser lida como uma "prova de conceito", não necessariamente uma solução pronta para uso. Pode precisar ser refinado / adaptado.
Você parece usar console_codes de qualquer forma em seu PS1
, portanto, algum uso estendido pode ser permitido. Para que uma "barra de status" apareça na parte inferior da tela, não importando como ela foi redimensionada antes, a variável LINES
shell pode ser usada, bem como algumas aritméticas inteiras de shell, para reduzir a região de rolagem, salvar / restaurar a localização do cursor e imprima na parte inferior da tela. Experimente
CSI=$'\e'"["
PS1="\[${CSI}s${CSI}1;$((LINES-1))r${CSI}$LINES;1f\u:YourOutputGoesHere:\w${CSI}K${CSI}u\]>"
Existem ressalvas conhecidas quando se lida com a variável de invólucro PS1 e códigos de função que não foram necessariamente considerados aqui mas cobertos em, e. outros tópicos , pesquisa nesses fóruns e incorporar, se necessário.