Как изменить цвет ячейки экрана прямо в термнале? - PullRequest
0 голосов
/ 27 июня 2018

Я знаю, что могу использовать escape-последовательность, например \e[31;41m, чтобы изменить цвет следующего выхода на терминал. Но как изменить цвет ячейки экрана напрямую? Мне это нужно в следующих двух случаях:

  • Я хочу вернуться (через escape-последовательность с перемещением курсора) и покрасить символ, уже существовавший на экране.

  • Я хочу сделать ячейку экрана цветной и надеюсь, что в ней нет символов.

Я знаю, что в старые времена 0xb8000 я мог это сделать, но в * nix-терминале я не могу найти способ.

1 Ответ

0 голосов
/ 27 июня 2018

Терминалы ANSI работают на гораздо более низком уровне, что (среди прочего) позволяет им работать по всей сети. Как правило, вы хотите запустить буфер в top выходного потока, чтобы вы могли вспомнить, какой символ находился в этой ячейке, и снова записать его с новым цветом.

Также обратите внимание, что существует код VT400, DECCARA, который позволяет изменять не -цветные атрибуты (полужирный и т. Д.), Но он широко не поддерживается. Просто используйте буфер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...