Como ncurses et. al. Trabalhos

Existem várias bibliotecas como ncurses que auxiliam na criação de GUIs de linha de comand

Simplificando, como eles funcionam?

Meu primeiro pensamento foi que ncurses intercepta todas as entradas do teclado e desenha cada "quadro", produzindo-o linha por linha normalmente. Uma inspeção mais detalhada, no entanto, revela que cada novo quadro substitui o anterior. Como ele modifica as linhas que já foram produzidas? Além disso, como ele lida com cores?

EDIT: A mesma pergunta se aplica a qualquer coisa com uma interface "sofisticada", comovim eemacs.

questionAnswers(2)

yourAnswerToTheQuestion