Название немного более конкретное, чем моя настоящая цель:
У меня есть программа командной строки, которая использует GNU Readline, в первую очередь для истории команд (т.е. получение предыдущих команд с помощью стрелки вверх) и некоторых других тонкостей. Прямо сейчас вывод программы выглядит перемежаемым с вводом пользователя, что иногда нормально, но вывод является асинхронным (он поступает через сетевое соединение в ответ на команды ввода), и это иногда раздражает (например, если строки выводятся, когда пользователь вводит новый ввод).
Хочу добавить в эту программу особенность: отдельное «окно» для вывода. Я думал об использовании для этого ncurses. Но из часто задаваемых вопросов о ncurses видно, что эти две библиотеки нелегко использовать вместе.
Я мог бы рассмотреть возможность использования Editline или tecla вместо Readline, но мне не ясно, решит ли какой-либо из них мою проблему. Я бы также подумал об использовании чего-то другого, кроме ncurses, включая библиотеку, которая предоставляет оба вида функциональности (окна текстового режима и историю команд), но я не знаю, что может быть лучше.
Да, и поддержка цветного текста может получить бонусные баллы. Я подозреваю, что смогу сделать это с помощью Readline, так что, возможно, это отдельная проблема, но если решение моей проблемы также позволяет легко добавить немного цвета к выводу, тем лучше.
Я использую Ubuntu Hardy (Linux 2.6).
