Реализовать простой аналог программы dialog(1).
Программа получает в аргументах командной строки тип диалога, заголовок окна, текст и рисует в текстовой консоли интерактивное окно диалога.
Возможные типы диалогов:
- Информационное сообщение. Показывается сообщение и текстовая кнопка OK.
- Да/нет. Сообщение и две текстовых кнопки. Код возврата программы зависит от нажатой пользователем кнопки.
- Ввод строки. Показывается приглашение к вводу и поле, в котором можно вводить и редактировать строку (должны работать стрелочки, клавиши Home, End, Backspace, Del). Введенная строка затем печатается на stderr.
- Длинный текст. Показ (без редактирования) файла с прокруткой.
- Меню. Показ нескольких вариантов с возможность перемещения по ним.
Код возврата программы отражает выбранный пункт.
Документация по уже существующим реализациям dialog: из FreeBSD, попроще, из Linux, посложнее. Dialog для новичков.
Библиотека работы с консолью доступна на github.