SpectraTUI

Так выглядит ПО из старых футуристических фильмов — и так его удобнее читать с двух метров

Все программы СпектраЛаб
Открытый проектТекстовый интерфейс

SpectraTUI — текстовый интерфейс, с которого начинается наша программа

Фирменный текстовый интерфейс «Спектры»: шаблон, каталог окон и правила к ним. Python 3 без единой зависимости. Берите и пользуйтесь — он для этого и сделан.

Что это такое

Не библиотека «на все случаи жизни». Это словарь языка, на котором нарисованы все окна «Спектры», плюс запускаемые примеры и разбор каждого решения — почему рамка здесь, почему кнопка в линии рамки, почему этот знак, а не красивый.

Хозяин цикла всегда программа: она читает клавишу, решает, что показать, держит состояние. Шаблон отвечает только на вопрос «как это выглядит и как нарисовать ровно».

Почему текстовый интерфейс, а не окна

Это не ностальгия. У текстового экрана есть четыре свойства, которых нет у графического:

Он читается с двух метров — а именно с такого расстояния мастер смотрит на стенд, стоя рядом с разобранным компьютером. Он работает по SSH через GPRS, когда лаборатория в подвале и связь плохая. Он одинаково выглядит на машине без графической оболочки и в браузере. И его не надо обновлять под новую моду раз в три года.

Цвет задаётся ролями

В шаблоне нет строчек «покрасить в зелёный». Есть 54 роли: «рамка активного окна», «значение в норме», «предупреждение», «неактивный пункт меню». Цветовая схема сопоставляет роли конкретным цветам, и схему можно сменить целиком — в том числе на такую, которая читается на плохом мониторе стенда.

Побочная польза: прошивки терминалов врут о том, какие знаки умеют рисовать. Проверка объявления символа не означает, что он отрисуется — полутона выходят пустыми. Поэтому градации делаются яркостью, а не символами, а в комплекте идёт шпаргалка символов, которую первым делом запускают на новой машине.

Что в ней сделано иначе

Ноль зависимостей

Только стандартная библиотека Python 3. Ничего не надо устанавливать, ничего не отвалится через год.

Каталог готовых окон

Монитор длительной работы, строка меню, контекстное меню, два вида уведомлений, настройки в три уровня, приветствие, главный экран.

Адаптивность

Кадр перестраивается под размер окна: воздух, раскрытие, растяжение. Можно тянуть окно мышкой и смотреть, что происходит.

Разбор каждого решения

К каждому правилу написано, почему оно такое. Это важнее самих частей: части можно переписать, причины — нет.