Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Терминальчик

На основе найденного на просторах интернета примера, как "подружить" ncurses и readline, переделал tty_term — простенький терминальный клиент. Теперь команды вводить намного удобней: они находятся в отдельной строке и запоминаются readline'ом.

Прокручивать экран сообщений тоже можно "до упора": абсолютно все сообщения запоминаются в связном списке (я решил, что нет смысла его ограничивать: все равно больше нескольких мегабайт накопить не удастся).
Правда, не решил проблему с изменением размера окна: почему-то "на кошках" все работает нормально, но тот же самый код, дополненный работой с последовательным терминалом, "задерживает" сигнал обновления до нажатия какой-либо клавиши! А еще оказалось, что изменение размера экрана посылает сигнал, который превосходно прерывает select() (а я в его обработчике совсем забыл сразу добавить реакцию на EINTR).
Ну и да: мне лень было заморачиваться с прокруткой экрана, чтобы все было красиво и по одной строчке, как бы ни менялся размер окна, поэтому прокрутка производится поэлементно (т.е. квантом является не отображаемая строка, а сохраненная в памяти).
Режим работы пока только текстовый. Если вдруг у меня появится устройство, имеющее бинарный протокол, возможно, добавлю еще представление в виде hex + ввод команд в таком же виде.
Tags: c, всячина
Subscribe

  • Рисую помаленьку

    Продолжаю рисовать криостат. видео

  • И еще о рисовании во FreeCAD

    FreeCAD - параметрический трехмерный редактор, позволяющий создавать объемные модели и чертежи их проекций. Текущая версия FreeCAD - 0.12, но можно…

  • Рисуем во фрикаде линзы

    Итак, воодушевленный этой темой на ЛОРе и вдохновленный пользователем DR_SL, я продолжаю свои эксперименты с фрикадом. На сей раз я решил…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 3 comments