Статья "Create windowing interfaces for character-based consoles" на примерах знакомит с тонкостями программирования с использованием библиотеки ncurses.