Ler o código-fonte é útil, mas os exemplos sugeridos são complicados. A maioria dos programas úteis como o OP está perguntando sobre o uso de seqüências de escape via interfaces termcap ou curses. Fazê-lo com maldições seria muito mais simples. Aqui estão os passos necessários com termcap:
- obtenha a descrição do terminal (incluindo o movimento do cursor, a região de rolagem, a linha de apagamento, o índice)
- inicializa o terminal para o modo "cbreak" (semi-raw) para permitir manter o prompt ligado em uma única linha.
- mova o cursor para a linha onde o aviso deve ser
- apaga a linha
- escreva o prompt
- obtenha o comando de entrada
Entretanto (a referência aos pacotes faz parecer que OP quer exibi-los simultaneamente com a entrada de leitura)
- mova o cursor para a linha inferior da região de rolagem
- definir a região de rolagem
- escreva uma linha do pacote (terminando com nova linha ou usando a seqüência de escape índice )
- redefine a região de rolagem para seu padrão (tela inteira)
- mova o cursor de volta para a linha de comando, continue lendo comandos
A melhor prática não tenta usar o endereçamento do cursor fora da região de rolagem, portanto, haverá muita configuração / reconfiguração da região de rolagem, cada vez que o programa alterna entre as duas seções da tela.
Leitura adicional: