GO? How to make a color console in CS

GO? How to make a color console in CS

Counter-Strike: Global Offensive

GO? How to make a color console in CS

GO? How to make a color console in CS

Как сделать цветную консоль в CS:GO? How to make a color console in CS:GO?

🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣
РУС: Как сделать цветную информацию по урону в консоле в CS:GO?
ENG: How to make color damage information in the console in CS:GO?
🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣🔴🟠🟡🟢🔵🟣

Привет, под цветной консолью подразумевается разноцветная информация в консоле такая как: нанесённый урон и полученный урон. Цветная информация об уроне в консоле нужна чтобы ее было легче находить, и быстро передавать тиммейтам, к тому же вы можете настроить цвет под себя, как вам больше нравится.
GO? How to make a color console in CSGO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

РУС: Консольные команды и основные цвета для консоли

Сначала вводим эти команды “con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ;con_filter_text Damage” (прямо так копируем и вставляем), далее выбираем понравившийся цвет и вводим его команду.


🔴Красный —- log_color General FF0000FF
🟠Оранжевый —- log_color General FF7F50FF
🟡Желтый —- log_color General FFD700FF
🟢Светло-зеленый —- log_color General 00FF00FF
🟩Зелёный —- log_color General 008000FF
🈯Бирюзовый —- log_color General 00FFFFFF
💠Светло-синий —- log_color General 6495EDFF
🔵Темно-синий —- log_color General 0000FFFF
🟦Сине-фиолетовый —- log_color General 8A2BE2FF
🟪Темно-фиолетовый —- log_color General 9400D3FF
🟣Розовый —- log_color General FF25FFFF
⚪Белый —- log_color General FFFFFFFF
⚫Чёрный —- log_color General 000000FF


РУС: Кастомный цвет шрифта в консоле и палитра цветов

Для того чтобы сделать кастомный цвет урона найдите понравившееся значение HEX в палитре цветов, расположенной ниже, к этому значению припишите FF и пропишите в консоль после “con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ;con_filter_text Damage”.

Например мне понравился Средне-весенне-зеленый(MediumSpringGreen) цвет, его номер #00FA9A. Чтобы сделать такой цвет консоли нужно прописать: con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ;con_filter_text Damage; log_color General 00FA9AFF
GO? How to make a color console in CS

Палитра цветов с номерами:

GO? How to make a color console in CS

GO? How to make a color console in CS

GO? How to make a color console in CS

GO? How to make a color console in CS

Hi, the color console means multi-colored information in the console such as: damage done and damage received. Color information about damage in the console is needed to make it easier to find and quickly transfer it to your teammates, besides, you can customize the color for yourself as you like.
GO? How to make a color console in CSGO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

GO? How to make a color console in CS
GO? How to make a color console in CS

ENG: Console commands and basic colors for the console

First, we enter these commands “con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ;con_filter_text Damage” (copy and paste right like that), then select the color you like and enter its command.


🔴Красный —- log_color General FF0000FF
🟠Оранжевый —- log_color General FF7F50FF
🟡Желтый —- log_color General FFD700FF
🟢Светло-зеленый —- log_color General 00FF00FF
🟩Зелёный —- log_color General 008000FF
🈯Бирюзовый —- log_color General 00FFFFFF
💠Светло-синий —- log_color General 6495EDFF
🔵Темно-синий —- log_color General 0000FFFF
🟦Сине-фиолетовый —- log_color General 8A2BE2FF
🟪Темно-фиолетовый —- log_color General 9400D3FF
🟣Розовый —- log_color General FF25FFFF
⚪Белый —- log_color General FFFFFFFF
⚫Чёрный —- log_color General 000000FF


ENG: Custom font color in the console and a palette of colors

In order to make a custom damage color, find the HEX value you like in the color palette located below, add FF to this value and write to the console after “con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ; con_filter_text Damage”.

For example, I liked the Medium-spring green(MediumSpringGreen) color, its number is #00FA9A. To make such a console color, you need to register: con_filter_enable 1; con_filter_enable 2; con_filter_text_out Player ;con_filter_text Damage; log_color General 00FA9AFF
GO? How to make a color console in CS

Color palette with numbers:

GO? How to make a color console in CS

GO? How to make a color console in CS

GO? How to make a color console in CS

GO? How to make a color console in CS

Другие полезные руководства//Other useful guides


РУС: В заключении – прошу, если вам понравилось руководство, оцените его, добавьте в избранное и если хотите наградите его. Если есть вопросы, советы или др. пишите их под руководством в комментариях.


ENG: In conclusion, please, if you liked the guide, rate it, add it to your favorites and reward it if you want. If you have any questions, tips, or others, write them under the guidance in the comments.


GO? How to make a color console in CS

Одно из главных преимуществ Linux заключается в том, что при желании в нём можно настроить всё, что угодно. В этом и выражается преимущество проективных систем, над процедурными. Фактически, это конструктор, состоящий из отдельных блоков, каждый из которых можно настроить по своему желанию.

Особенно интересно, если не просто копируешь чужой “рецепт”, а пытаешься разобраться, что и как устроено. И даже решая несерьезную задачу, узнаешь что-то новое.

Раскрашиваем цвета вывода ls

Как-то захотелось мне настроить цвета терминала linux в выводе команды ls. Ну не нравился блекло-фиолетовый цвет для каталогов в Linux Mint. Начал разбираться.

Из документации к ls, выяснил, что установка цветов для вывода осуществляется при помощи утилиты dircolors, которая либо устанавливает параметры цвета из своей собственной базы, либо берет их из файла ~/.dircolors. Такого файла в моем домашнем каталоге не было. Также упоминалось, что инициализация использования цветов происходит через ~/.bashrc, файл с настройками командной оболочки, а сами параметры определяются через переменную LC_COLORS.

Действительно, в .bashrc обнаружился скрипт следующего содержания:

GO? How to make a color console in CS

Его суть сводится к проверке на наличие утилиты dircolors в системе, присваивания значения переменной и, при удачном выполнении, использовании параметра –color=auto при каждом вызове ls.

Если запустить утилиту dircolors, она выводит значение переменной LC_COLOR.

GO? How to make a color console in CS

Также возможен вывод значения переменной LC_COLORS в структурированном виде, указанием ключа:

$ dircolors -p

Поскольку вывод получается длинный, приводить его не буду.

Если перенаправить вывод dircolors -p > ~/.dircolors, то будет создан структурированный файл, из которого и будут браться настройки цветов. Редактируя данный файл и устанавливаются настройки цвета для вывода ls.

В созданном файле .dircolors есть подсказка:

GO? How to make a color console in CS

Устанавливая последовательность через точку с запятой и получаем нужный нам цвет в консоли linux, согласно перечисленным. Цвета терминала linux от 30 до 37 для цвета шрифта, а с 40 до 47 для фона. К примеру:

DIR 01;34 подразумевает, что имена директорий будут выделяться жирным шрифтом и синим цветом.

Но таким способом получается всего восемь цветов, а современные эмуляторы терминала способны выводить как минимум 256! Выяснилось, что существуют и другие способы установки цвета. К примеру, значение EXEC 38;5;208;1 – даёт оранжевый толстый шрифт у исполняемых файлов.

Чтобы не перебирать цвета linux вручную, есть уже готовая таблица цветов:

GO? How to make a color console in CS

Подставляя в значение цвета 38;5;x – где x цвет из таблицы, получаем необходимый результат. Получается что-то вроде этого:

GO? How to make a color console in CS

Раскрашиваем и изменяем строку приглашения

Разобравшись, как устанавливать цвета linux через esc-коды, не составит труда переделать и раскрасить строку приглашения. За ее вывод отвечает переменная PS1, которая определена в файле ~/.bashrc

В Linux Mint скрипт ее инициализации имеет следующий вид:

GO? How to make a color console in CS

  • [\033[01;32m\] – устанавливает зеленый цвет;
  • \u – выводит имя пользователя;
  • \h – выводит имя хоста;
  • [\033[00m\] – очищает установленные атрибуты;
  • [\033[01;34m\] – устанавливает синий цвет;
  • \w – выводит имя рабочей директории;
  • Привет! – пример того, что может быть выведен любой производный текст.
:/>  Как отключить, убрать пароль при входе в Windows 10

Что ещё можно вывести в строке приглашения:

  • \d – дату, в формате “Wed Dec 28”;
  • \A – время в 24-часовом формате;
  • \! – номер текущей команды в истории;
  • \n – перенос вывода на другую строку;

Введем что нибудь поинтереснее:

И строка приглашения примет вид:

GO? How to make a color console in CS

Так, не понял, а откуда взялась ёлка-то?

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Команда COLOR – установить цвет символов и фона консоли Windows

COLOR

Формат командной строки:

Цвет задается шестнадцатеричной цифрой, Старший бит определяет яркость, а последующие биты – цвет :

Бит 0 – яркость
Бит 1 – красный ( R )
Бит 2 – зеленый ( G )
Бит 3 – синий ( B )

По умолчанию, используются белые буквы на черном фоне – цвет фона = 0 , цвет символов =7. Значения битов задают комбинацию цветов, так например, для желтого цвета используется установка битов 1 и 2 ( Красный и Зеленый). Команда для установки яркого синего цвета ( 9 ) на желтом фоне ( 6 ) :
color 69

То же, но на ярком желтом фоне:

color F0 – черные символы на ярком белом фоне, color 0F – наоборот, белые яркие символы на черном фоне. .

Каждая цифра может иметь следующие значения:

0 = Черный

1 = Синий

2 = Зеленый

3 = Голубой

4 = Красный

5 = Лиловый

6 = Желтый

7 = Белый

8 = Серый

9 = Светло-синий

A = Светло-зеленый

B = Светло-голубой

C = Светло-красный

D = Светло-лиловый

E = Светло-желтый

F = Ярко-белый

Если в команде COLOR задана только одна цифра, то она определяет цвет символов на черном фоне (значение цвета фона воспринимается как 0 ):

COLOR 1 – синие буквы на черном фоне, как в команде COLOR 01

Если аргумент не указан, команда восстанавливает исходный набор цветов,
каким он был на момент запуска CMD.EXE. Этот набор определяется из
значения ключа /T, если он был задан при запуске интерпретатора CMD.EXE, или
из значения параметров реестра, определяющих пользовательские настройки
для интерпретатора команд:

HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft \Command Processor\ DefaultColor
для всех пользователей.

Если параметр DefaultColor имеет значение по умолчанию
( REG_DWORD 0x00000000 ),
то цветовой набор определяется значением параметра

Команда COLOR возвращает значение кода ошибки ERRORLEVEL равный 1 при попытке вызова этой команды с совпадающими значениями цвета текста и цвета
фона, например – COLOR 00 .


Весь список команд CMD Windows

   
Интерпретатор команд, он же командный процессор, он же приложение “Командная строка”, можно запустить несколькими способами:

– Через главное меню – ”Все приложения” – “Стандартные” – ”Командная строка”

– Через меню ПускВыполнитьcmd.exe

– Комбинация клавиш Win+Rcmd.exe

– Комбинация клавиш Win+XКомандная строка (только в Windows 8 и более поздних)

– Через поиск приложения cmd.exe

Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями.

Часть настроек можно выполнить, изменив свойства самого приложения, свойства ярлыка, с помощью которого запускается приложение командной строки, а часть – редактированием реестра Windows.

Настройка командной строки через изменение свойств приложения (ярлыка для запуска приложения).

1. Откройте окно Командная строка.

2. Щелкните указателем мышки левый верхний угол окна и в открывшемся меню выберите пункт Свойства.

3. Выберите вкладку Общие.

Настройки свойств командной строки в Windows

4. В области Запоминание команд можно изменить размер буфера под историю команд.
Если есть необходимость, выберите или введите новое значение (до 999 в поле Размер буфера, а
затем выберите или введите число (до 5) в поле Количество буферов. Увеличение размера буфера под запоминание команд
может пригодиться в тех случаях, когда в течении сессии приходится вводить большое количество текста. Клавиши Стрелка вверх и
Стрелка вниз позволяют вызывать ранее набранные и сохраненные в буфере команды. Для того, чтобы в буфере не запоминались
одинаковые команды, можно включить флажок Отбрасывать повторения. Значения размера буфера и количество буферов могут обличаться для разных версий Windows.

5. В области Правка установите флажки Выделение мышью и Быстрая вставка. Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки с использованием мышки. Чтобы скопировать, выделите левой кнопкой текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши. Можно вместо выделения мышью, использовать стандартный режим, вызываемый через контекстное меню правой кнопкой мышки. Выбирается пункт Пометить, выделяется копируемый текст и нажимается правая кнопка мышки, которая используется и для копирования и для вставки. Стандартные комбинации клавиш для копирования и вставки в командной строке не работают, за исключением Windows 10 / Sever 2016

При желании, можно изменить вид и размер шрифта, цвет символов и фона, расположение и размер окна командной строки. Например, для того, чтобы в окне командной строки отображались символы черного цвета на белом фоне, нужно установить значение цвета символов, равное 0, а значение цвета фона – 255

В диалоговом окне Изменение свойств (если оно присутствует в данной версии Windows) выберите вариант Сохранить свойства для других окон с тем же именем.

Особенности командной строки в Wimdows 10 и Windows Server 2016

Настройки командной строки в Windows 10 (Windows Server 2016) немного отличаются от настроек предыдущих версий Windows.

Настройки командной строки в Windows 10

При включенном флажке ”Использовать прежнюю версию консоли (Требуется перезапуск)”, настройки ничем не отличаются от тех,
что применялись в среде предыдущих версий Windows. В новой же версии консоли, появляются дополнительные настройки –
становятся доступными для включения флажки параметров, отсутствовавших в более ранних версия системы. Новые
возможности в значительной степени облегчают обработку текста в окне консоли и позволяют использовать большинство стандартных
сочетаний клавиш для копирования, вставки и редактирования. Так, например, при включенном режиме ”Разрешить сочетания клавиш с CONTROL”,
можно использовать стандартные сочетания клавиш, принятые в среде ОС:

– CTRL+C (CTRL+Insert) – скопировать выделенный текст.

– CTRL+V (Shift+Insert) – вставить выделенный текст.

Часть настроек ориентирована на расширение возможностей при использовании выделения текста, обработки строк, истории команд,
динамического изменения внешнего вида и управления перемещением курсора, прозрачностью окна и т.п. с поддержкой множества
горячих клавиш. Подробнее о новых возможностях командной строки в Windows 10 рассказывается в статье
Работа в командной строке ( CMD ) Windows.

Настройка командной строки изменением параметров в реестре Windows.

Изменение внешнего вида и некоторых свойств командной строки можно выполнить не только с помощью определенных ключей
при запуске cmd.exe, но и изменив параметры реестра, предназначенные для командного процессора в разделах:


HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Command Processor
– для всех пользователей.

Одной из наиболее полезных настроек является изменение обработки вводимой командной строки таким образом, чтобы можно было выполнять
подстановку имен файлов и каталогов при нажатии специальной клавиши, как это реализовано в командной оболочке Unix-подобных операционных систем.
Так например, для перехода в каталог home не обязательно набирать команду :

:/>  Windir system32 rundll32 exe

а достаточно ввести cd /h и нажать специальную клавишу Tab – недостающая часть имени ( ome ) будет подставлена в качестве параметра команды смены каталога.
Очень полезная возможность при наборе длинных имен файлов и каталогов.

Аналогичным образом можно настроить и командную строку Windows. Запустите редактор реестра и перейдите в раздел


HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Command Processor

В современных ОС семейства Windows режим автодополнения путей при нажатии клавиши Tab уже настроен, но при необходимости, его можно перенастроить или восстановить.

Код символа Tab равен шестнадцатеричному числу 9 и его нужно задать в формате REG_DWORD для параметров CompletionChar и PathCompletionChar (
например, в Windows XP, значение 0x40 заменить на 0x9 ). Теперь, после перезапуска приложения командной строки, оцените преимущества подстановки части имен, выполнив следующие действия:

– перейти в корень диска C:
CD C:\

– для перехода, например в каталог с длинным именем Program Files наберите

CD Pro и нажмите Tab. В строке ввода должна появиться команда :

CD “Program Files”

Как видим, кроме того, что выполняется подстановка недостающей части имени каталога, в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.

Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее – используется комбинация Shift+Tab

Правка реестра позволяет также изменить внешний вид окна командной строки, например, цвет фона и цвет символов, как это выполняется с помощью команды COLOR или ключа /T при запуске CMD.EXE. Расцветку определяют параметры

HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Command Processor\ DefaultColor
для всех пользователей.

Значения параметров из раздела пользователя имеют больший приоритет, по сравнению с параметрами раздела HKEY_LOCAL_MACHINE

Если параметр DefaultColor имеет значение по умолчанию
( REG_DWORD 0x00000000 ), то цветовой набор определяется значением параметра

На практике, изменение цвета фона окна и цвета символов лучше всего задавать значением параметра типа REG_DWORD:

Младший байт этого параметра определяет цвета фона и текста, каждый из которых задается шестнадцатеричной цифрой. Старший бит определяет яркость, а последующие биты – цвет :

Бит 0 – яркость
Бит 1 – красный ( R )
Бит 2 – зеленый ( G )
Бит 3 – синий ( B )

Значения битов задают комбинацию цветов, так например, для желтого цвета используется установка битов 1 и 2 ( Красный и Зеленый).
Старшие 4 бита ( тетрада ) определяют цвет фона, младшие – цвет текста.
Каждая цифра тетрады может иметь следующие значения:

0 = Черный
1 = Синий
2 = Зеленый
3 = Голубой
4 = Красный
5 = Лиловый
6 = Желтый
7 = Белый
8 = Серый
9 = Светло-синий
A = Светло-зеленый
B = Светло-голубой
C = Светло-красный
D = Светло-лиловый
E = Светло-желтый
F = Ярко-белый

Примеры значений параметра ScreenColors:

F0 – “консоль наоборот” – черные символы на белом фоне.

20 – зеленый фон, черные символы.

A0 – яркий зеленый фон, черные символы.

9F – яркий синий фон, яркие белые символы.

Использование истории вводимых команд.

При работе в командной строке удобно использовать, полностью или частично, ранее введенные команды. Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх – на одну команду назад и Стрелка Вниз – на одну команду вперед. Кроме того, можно использовать функциональные клавиши:

F1 – посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.

F2 – копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru, и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex, если задан пробел, то – ping.

F3 – вызов предыдущей команды.

F4 – удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.

F5 и F8 – вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.

F7 – отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER

F9 – выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7.

Особенности настройки параметров консоли для Windows 10

Перечень новых ключей реестра и их назначение:

ForceV21 включает новые возможности, 0 – отключает. Этот параметр не запоминается в свойствах ярлыка и его значение хранится только в реестре.

LineSelection1 – разрешает выделение строк, 0 – отключает.

FilterOnPaste1 – включает фильтр содержимого буфера обмена при вставке. Позволяет отсечь служебные символы (табуляция, наклонные кавычки и т.п.), которые содержатся в буфере обмена и не могут применяться в командной строке.

LineWrap1 – разрешает перенос строк текста при изменении размера окна консоли.

CtrlKeyShortcutsDisabled0 разрешается использование комбинаций клавиш с CONTROL (CTRL+A, CTRL+C, CTRL+V и т.п.)

ExtendedEdit Keys1 – разрешает использование набора дополнительных клавиш для редактирования.

TrimLeadingZeros1 – при выделении числа двойным кликом, лидирующие нули отбрасываются (000123 – 123)

WindowsAlpha – установка прозрачности окна командной строки от 30% до 100%. Используется значение ключа реестра в виде шестнадцатеричного значения от 0x4C до 0xFF, или десятичного от 76 до 255

WordDelimiters – определяет символ-разделитель, который используется при выделении части текста комбинацией клавиш CTRL+SHIFT+ARROW. По умолчанию используется пробел. Ключ реестра имеет тип данных REG_SZ и может содержать несколько символов-разделителей. Этот параметр не запоминается в свойствах ярлыка и может храниться только в реестре.

Windows Terminal – альтернатива командной строке в Windows 10.

Список команд командной строки – список команд CMD Windows с описанием и примерами.

Командные файлы Windows – примеры создания командных файлов для решения типовых задач администрирования системы.

Работа с сетью в командной строке Windows – примеры использования командной строки для сетевой диагностики и управления сетью.

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

Время на прочтение

GO? How to make a color console in CS

Управляющие последовательности ANSI

ANSI escape sequences или Управляющие последовательности ANSI — это стандарт, дающий возможность управлять курсором, цветами, начертание в текстовых консолях. Такие последовательности воспринимаются отрисовщиком терминала, как команды отображать последующий текст в определенном формате. Есть также последовательность, которая сбрасывает предыдущие команды, и отображение текста становиться обычным. Существует несколько форматов управляющих последовательностей, различающихся возможностями и появившимися в разных версиях кодировок. Поговорим об этих форматах подробнее.

8 основных цветов и стили

Для обычного пользователя разнообразия цветов этого формата будет более чем исчерпывающим. Но прежде чем задумываться о том, что терракотовый цвет гораздо круче красного, и он вам уж точно нужен, давайте разберемся, как устроена самая простая версия управляющей последовательности ANSI для форматирования текста.

:/>  Http прокси россия бесплатно

Чтобы изменить текущий цвет шрифта или фона можно использовать следущий синтаксис:

  • Начинается управляющая последовательность с любого из этих трёх представлений: \x1b[ (hex) или \u001b[ (Unicode) или \033[ (oct)
  • Далее следуют аргументы, разделённые между собой ;(можно указывать в любом порядке)
  • В конце ставится буква m

Возможные аргументы

  • Изменения цвета шрифта

  • Изменения цвета фона

Бонус: другие интересные модификаторы, которые могут поддерживаться не всеми платформами

Давайте поэкспементируем. Для примеров я буду использовать Python.

GO? How to make a color console in CS

Важно заметить, что форматирование повлияло и на консоль питона, а не только на ее вывод. Именно поэтому очень важно закрывать все “тэги” изменения форматирования.

Часто используемые сочетания (copy-paste-able)

Больше цветов

В этом формате синтаксис немного другой:

GO? How to make a color console in CS

Для генерации кодов цветов можно использовать генератор.

А палитру доступных цветов можно увидеть на картинке ниже.

GO? How to make a color console in CS

Совсем много цветов

Этот формат не всегда поддерживается стандартными консолями.

Некотрые будут негодовать: “256 цветов и нет моего любимого терракотового, какой ужас!”. Для таких ценителей существует формат, который уже поддерживает 24 битные цвета (3 канала RGB по 256 градаций).
Для не ценителей поясню, что терракотовый кодируется как — (201, 100, 59) или #c9643b.
Синтаксис в этом формате выглядит вот так:

  • \033[38;2;⟨r⟩;⟨g⟩;⟨b⟩m — цвет текста
  • \033[48;2;⟨r⟩;⟨g⟩;⟨b⟩m — цвет фона

GO? How to make a color console in CS

Использование библиотеки Colorama

Библиотека Colorama позволяет форматировать текст, не запоминая коды цветов. Рассмотрим её использование на примере:

from colorama import init, Fore, Back, Style

init()

print(Fore.RED + 'some red text\n' + Back.YELLOW + 'and with a yellow background')
print(Style.DIM + 'and in dim text\n' + Style.RESET_ALL + 'back to normal now')

GO? How to make a color console in CS

Если в colorama.init() указать параметр autoreset=True, то стиль будет автоматически сбрасываться (в конец каждого print будут добавлены сбрасывающие стили последовательности), поэтому вам не придётся об этом каждый раз вспоминать.

А что не так с Windows?

Просто так синтаксис, описанный в начале статьи, не работает в командной строке Windows. Поддержка цветов появлялась постепенно, причём в странном варианте. В начале программы надо сделать системный вызов, активирующий отрисовку цветов. А в более старых версиях необходимо заменить все ANSI последовательности на системные вызовы.

Но colorama.init() сделает всё за вас в большинстве версий Windows. Однако если вы используете другую операционную систему, то функцию init() вызывать в начале программы не обязательно. Также некоторые IDE на Windows (например, PyCharm) тоже поддерживают цвета без каких-либо махинаций.
А еще Windows не поддерживает многие модификаторы, такие как жирный текст. Подробнее можно почитать на странице Colorama

Termcolor

Ещё одна библиотека для вывода цветного текста с более удачным, на мой взлгяд, синтаксисом.

from termcolor import colored, cprint

text = colored('Hello, Habr!', 'red', attrs=['blink'])
print(text)
cprint('Hello, Habr!', 'green', 'on_red')

Кстати, проблему с Windows всё ещё можно починить с помощью colorama.init()

Выводы

Стандартные 8 цветов позволяют разнообразить вывод в консоль и расставить акценты. 256 цветов намного расширяют возможности, хотя и поддерживаются не всеми консолями. Windows, к сожалению, не поддерживает многие основные модификаторы, например, курсив. Также есть некоторые цвета, которые не прописаны в стандартах, но могут поддерживаться вашей операционной системой. Если вы хотите больше цветов, то вы можете поискать их в Гугле.
Пока что не любой терминал поддерживает 24-битные цвета и все модификаторы, но мы вряд ли увидим сильные изменения в этой сфере. Так что пока нам остаётся выбирать самые красивые варианты из тех, что доступны в любимом терминале.

Время на прочтение

GO? How to make a color console in CS
С наступающим, коллеги. Все знают, что для консоли в windows можно легко задать цвет текста и фона. Но мало кто знает, что остальные 14 цветов тоже можно задать, существенно упростив себе работу с консольными приложениями, поддерживающими цвета в windows — например, git или mercurial. Под катом я в лицах и картинках расскажу о своей борьбе с цветами и о получившейся в результате утилитке на python, которая позволяет раскрасить консоль одной командой, дабы больше не видеть этого бело-синего ужаса powershell.

ANSI Colors

Итак, я хочу поменять все цвета в консоли, а не только текста и фона. Для начала посмотрим, что это за цвета. В linux и osx все просто — есть стандарт «ANSI Colors», который гласит, что если вывести в консоль определенную последовательность символов, то следующий за ней текст будет покрашен во все цвета радуги:

GO? How to make a color console in CS

К сожалению, авторы windows данный стандарт не поддержали, но нечто похожее имеется — 16 цветов, которыми можно раскрашивать текст и фон. Простенькая программа на python показывает, как это выглядит:

from ctypes import *
windll.Kernel32.GetStdHandle.restype = c_ulong
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
for color in xrange(16):
    windll.Kernel32.SetConsoleTextAttribute(h, color)
    print "color {0}".format( color )

GO? How to make a color console in CS

Цвета, мягко выражаясь, печальные. Особенно если сравнивать результаты с цветовой схемой по умолчанию в ubuntu:

GO? How to make a color console in CS

Меняем цвета

GO? How to make a color console in CS

Интрига

Радуемся новым цветам. Через некоторое время понимаем, что у нас Windows 7 или Windows 8 и мы хотим прикрепить консоль в taskbar, дабы вызывать ее через хоткей „win+номер“. Делаем „pin this program to taskbar“, запускаем, и видим ЭТО:

GO? How to make a color console in CS

Откуда взялся этот синий фон, который при раскраске становится черным? Ведь если запустить консоль через „win+r“ — мы видим наши цвета, установленные на предыдущем шаге. Тут кроется самое интересное — когда мы прикрепляем консольное приложение на taskbar, Windows создает для него ярлык (файл с расширением .lnk) и устанавливает для этого ярлыка персональные настройки цветов. Что делать? Берем в руки python, немного COM, и модифицируем настройки ярлыка. Теперь совсем все работает.

Обещанные два клика

Чтобы не растерять квалификацию программиста, я оформил все вышеперечисленное в качестве небольшого модуля на python, который можно использовать в качестве утилиты командной строки. Если у вас уже установлен python, то для установки моего шедевра достаточно выполнить команду:

pip install pywincmdtheme

Если же python у вас не стоит, то рекомендую поставить сборку ActivePython — кроме python она содержит еще и ряд предустановленных расширений, полезных для работы под Windows. Как с помощью утилиты раскрасить консоль под хохлому? Если запустить утилиту без аргументов командной строки, то она попытается найти в директории пользователя файл .Xresources и применить цвета из него. Если же такого файла нет, то будут применены цвета из ubuntu, которые я демонстрировал в примерах выше. Файл .Xresources — это штатный для *nix способ хранения настроек терминала, в частности цветовых схем. Если погуглить, то можно найти красивые готовые схемы.

pywincmdtheme --update-link "%USERPROFILE%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows PowerShell.lnk"

Вроде все. Еще раз с наступающим всех, надеюсь кому-нибудь вышеизложенное пригодится :).

Оставьте комментарий