отображение цветом в терминале
Добавлено: 13 июн 2017, 12:58
Иногда возникает потребность выделять какие-то выводы в терминал цветом.
На то есть (описаны, используются) разные способы: ESC управляющие последовательности (использующиеся ещё со времён MS-DOS), возможности пакета ncurses и др.
Но проблема (неприятность) в том, что:
- при работе в Linux практически повсеместно используется эмулятор терминала в графическом окружении рабочего стола (DE)...
- в зависимости от вида DE (которых десяток или более: KDE, GNOME, Mate, Cinnamon, ...) + используемой программы эмулятора терминала (которых в каждом DE тоже может быть несколько штук) - отдельные ESC последовательности могут отрабатываться, а могут и нет... (у меня, пока , не отрабатываются ... или я ещё не разобрался почему)
- но ещё хуже, когда предстоит перенос кода программы в другую операционную систему, главным образом в Windows, с тем, чтобы и там в их текстовой консоли отображение делалось так же.
И вот есть тут такой проект C++ (подсказали), который позволяет управлять характеристиками вывода в терминал (не только цвет) независимо от платформы: rang.
Оно, обещано , работает равнозначно в коде Linux, Windows, MacOS и т.д.
Испытаем!
На то есть (описаны, используются) разные способы: ESC управляющие последовательности (использующиеся ещё со времён MS-DOS), возможности пакета ncurses и др.
Но проблема (неприятность) в том, что:
- при работе в Linux практически повсеместно используется эмулятор терминала в графическом окружении рабочего стола (DE)...
- в зависимости от вида DE (которых десяток или более: KDE, GNOME, Mate, Cinnamon, ...) + используемой программы эмулятора терминала (которых в каждом DE тоже может быть несколько штук) - отдельные ESC последовательности могут отрабатываться, а могут и нет... (у меня, пока , не отрабатываются ... или я ещё не разобрался почему)
- но ещё хуже, когда предстоит перенос кода программы в другую операционную систему, главным образом в Windows, с тем, чтобы и там в их текстовой консоли отображение делалось так же.
И вот есть тут такой проект C++ (подсказали), который позволяет управлять характеристиками вывода в терминал (не только цвет) независимо от платформы: rang.
Оно, обещано , работает равнозначно в коде Linux, Windows, MacOS и т.д.
Испытаем!