Как изменить цвет midnight commander

Midnight Commander имеет возможность создания цветовых схем, позволяющих изменять внешний вид всех элементов интерфейса программы. Кроме того, даже если терминал и поддерживает цвета, Midnight Commander может быть принудительно запущен в чёрно-белом режиме; для этого используется ключ -b (или --nocolor). Также можно задавать символы, отображающие части элементов интерфейса.

Цветовые схемы и внешний вид

Midnight Commander имеет возможность создания цветовых схем, позволяющих изменять внешний вид всех элементов интерфейса программы. Кроме того, даже если терминал и поддерживает цвета, Midnight Commander может быть принудительно запущен в чёрно-белом режиме; для этого используется ключ -b (или —nocolor). Также можно задавать символы, отображающие части элементов интерфейса.

Вид каждого элемента интерфейса определяется парой цветов: цветом текста и цветом фона. Всего доступно 16 цветов для текста и 8 цветов для фона:

+--------------------------+---------------------------+
|Цвета, используемые       |Цвета, используемые        |
|как для текста,           |только для текста          |
|так и для фона            |                           |
+===========+==============+===============+===========+
| black     | чёрный       | gray          | серый     |
+-----------+--------------+---------------+-----------+
| red       | красный      | brightred     |           |
+-----------+--------------+---------------+-----------+
| green     | зелёный      | brightgreen   |           |
+-----------+--------------+---------------+-----------+
| brown     | коричневый   | yellow        | жёлтый    |
+-----------+--------------+---------------+-----------+
| blue      | синий        | brightblue    |           |
+-----------+--------------+---------------+-----------+
| magenta   | пурпурный    | brightmagenta |           |
+-----------+--------------+---------------+-----------+
| cyan      | голубой      | brightcyan    |           |
+-----------+--------------+---------------+-----------+
| lightgray | светло-серый | white         | белый     |
+-----------+--------------+---------------+-----------+

Определение цветовой схемы

Цветовая схема по умолчанию определена в исходном коде и не может быть изменена без перекомпиляции программы. При запуске программы она анализируется первой. Затем анализируются цветовые схемы, определённые пользователем. У пользователя имеются четыре возможности переопределить цвета элементов интерфейса Midnight Commander:

  • через секцию [Colors] конфигурационного файла ~/.mc/ini;
  • через секцию описания терминала файла ~/.mc/ini. Для каждого типа терминала можно определить свою цветовую схему;
  • через значение переменной окружения MC_COLOR_TABLE;
  • через параметр командной строки -C (или —colors).

Каждая из этих настроек дополняет или прекрывает предыдущую.

Цветовая схема по умолчанию

Параметр Значение Описание
normal lightgray,blue Основной цвет
reverse black,lightgray Инверсный цвет
gauge white,black Индикатор прогресса
input black,cyan Строка ввода
selected black,cyan Панель: текущий файл
marked yellow,blue Панель: отмеченный файл
markselect yellow,cyan Панель: отмеченный текущий файл
directory white,blue Панель: каталог
executable brightgreen,blue Панель: исполняемый файл
link lightgray,blue Панель: символическая ссылка
stalelink brightred,blue Панель: «брошенная» символическая ссылка
device brightmagenta,blue Панель: файл устройства
core red,blue Панель: core-файл
special black,blue Панель: специальный файл
dnormal black,lightgray Диалоговое окно: основной цвет
dfocus black,cyan Диалоговое окно: элемент, на котором находится фокус ввода
dhotnormal blue,lightgray Диалоговое окно: буква быстрого выбора элемента
dhotfocus blue,cyan Диалоговое окно: буква быстрого выбора элемента, на котором находится фокус ввода
errors white,red Сообщение об ошибке: основной цвет
errdhotnormal yellow,red Сообщение об ошибке: буква быстрого выбора элемента
errdhotfocus yellow,lightgray Сообщение об ошибке: буква быстрого выбора элемента, на котором находится фокус ввода
menu white,cyan Меню: основной цвет
menusel white,black Меню: выбранный пункт меню
menuhot yellow,cyan Меню: буква быстрого выбора невыбранного пункта
menuhotsel yellow,black Меню: буква быстрого выбора выбранного пункта
helpnormal black,lightgray Справка: основной цвет
helpitalic red,lightgray Справка: текст курсивом
helpbold blue,lightgray Справка: текст утолщённый шрифтом
helplink black,cyan Справка: невыбранная перекрёстная ссылка
helpslink yellow,blue Справка: выбранная перекрёстная ссылка
viewunderline brightred,blue Программа просмотра и редактор: подчёркнутый текст
editnormal lightgray,blue Редактор: основной цвет
editbold yellow,blue Редактор: результат поиска
editmarked black,cyan Редактор: выделенный текст
editwhitespace brightblue,blue Редактор: табуляция и пробелы в конце строк
editlinestate white,cyan Редактор: поле номера строки

Формат описания цветовой схемы пользователя

Также смотрите краткую справку по заданию цветовой схемы в командной строке:

$ mc -H
или
$ mc --help-colors

Формат описания файла настроек внешнего вида (скин-файла)

Загрузка скин-файла

Скин-файл может задаваться следующими способами (в порядке убывания приоритета):

  • параметр командной строки -S <скин> или —skin=<скин>
  • переменная окружения MC_SKIN
  • в конфигурационном файле параметр skin в секции [Midhight Commander]
  • файл ${sysconfdir}/mc/skins/default.ini (например, /etc/mc/skins/default.ini)
  • файл ${datadir}/mc/skins/default.ini (например, /usr/share/mc/skins/default.ini)

Параметры в трёх первых случаях могут содержать абсолютный путь к скин-файлу либо просто название скина (с расширением .ini либо без него). В данном случае поиск скин-файла будет происходить по следующим каталогам (до первого нахождения):

  • ~/.mc/skins/
  • /etc/mc/skins/
  • /usr/share/mc/skins/

Описание секций

[skin]

содержит информацию, относящуюся к самому скин-файлу.

description

кратко описывает скин.

[filehighlight]

содержит описания цветовых пар для групп подсветок имен файлов. Названия параметров в секции должно совпадать с
названиями секций в файле подсветки.

[core]

содержит описание элементов, используемых повсеместно.

_default_

Цвет по умолчанию. Используется во всех остальных секциях (глобальный параметр), если в них нет переопределения

selected

курсор

marked

отмеченные данные

markselect

курсор на отмеченных данных

gauge

цвет заполненной части полоски (progress bar)

input

элемент ввода данных

reverse

инвертированный цвет

[dialog]

содержит описания элементов диалоговых окон (кроме сообщений об ошибках).

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

dfocus

Цвет элемента, находящегося в фокусе

dhotnormal

Цвет хоткеев

dhotfocus

Цвет хоткеев, находящихся в фокусе

[error]

содержит описания элементов диалога об ошибках.

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

errdhotnormal

Цвет хоткеев

errdhotfocus

Цвет хоткеев, находящихся в фокусе

содержит описание элементов, отображающихся в меню. Это касается как системного меню (вызываемого клавишей F9), так и пользовательских меню (F2 в панелях или F11 в редакторе).

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

entry

Цвет пунктов меню

menuhot

Цвет хоткеев

menusel

Цвет выделенного пункта меню

menuhotsel

Цвет хоткеев, находящихся в фокусе

[help]

содержит описания цветов для окна отображения помощи.

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

helpitalic

Цветовыделение элементов с атрибутом italic

helpbold

Цветовыделение элементов с атрибутом bold

helplink

Цвет ссылок

helpslink

Цвет ссылки, находящейся под курсором

[editor]

содержит описания элементов редактора

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

editbold

Цветовыделение элементов с атрибутом bold

editmarked

Цвет выделенного текста

editwhitespace

Подсветка знаков табуляции и «висящих» пробелов

linestate

Цвет области отображения состояния строки.

[viewer]

содержит описания элементов редактора

viewunderline

Цветовыделение элементов с атрибутом underline

Линии для отрисовки рамок

Линии задаются в секции [Lines] в скин-файле. По умолчанию используются одинарные линии, но возможно переназначить на использование любых utf-8 символов, похожих на линии

Описание параметров секции [Lines]:

lefttop

изображение левого верхнего угла рамки

righttop

изображение правого верхнего угла рамки

centertop

изображение ответвления горизонтальной линии вниз

centerbottom

изображение ответвления горизонтальной линии вверх

leftbottom

изображение левого нижнего угла рамки

rightbottom

изображение правого нижнего угла рамки

leftmiddle

изображение ответвления вертикальной линии вправо

rightmiddle

изображение ответвления вертикальной линии влево

centermiddle

изображение пересечения вертикальной и горизонтальной линий

horiz

изображение горизонтальной линии

vert

изображение вертикальной линии

thinhoriz

изображение тонкой горизонтальной линии

thinvert

изображение тонкой вертикальной линии

Цветовые схемы и внешний вид

http://midnight-commander.org
Midnight Commander имеет возможность создания цветовых схем, позволяющих изменять внешний вид всех элементов интерфейса программы. Кроме того, даже если терминал и поддерживает цвета, Midnight Commander может быть принудительно запущен в чёрно-белом режиме; для этого используется ключ -b (или —nocolor). Также можно задавать символы, отображающие части элементов интерфейса.

Цвета, используемые в Midnight Commander

Вид каждого элемента интерфейса определяется парой цветов: цветом текста и цветом фона. Всего доступно 16 цветов для текста и 8 цветов для фона:

+--------------------------+---------------------------+
|Цвета, используемые       |Цвета, используемые        |
|как для текста,           |только для текста          |
|так и для фона            |                           |
+===========+==============+===============+===========+
| black     | чёрный       | gray          | серый     |
+-----------+--------------+---------------+-----------+
| red       | красный      | brightred     |           |
+-----------+--------------+---------------+-----------+
| green     | зелёный      | brightgreen   |           |
+-----------+--------------+---------------+-----------+
| brown     | коричневый   | yellow        | жёлтый    |
+-----------+--------------+---------------+-----------+
| blue      | синий        | brightblue    |           |
+-----------+--------------+---------------+-----------+
| magenta   | пурпурный    | brightmagenta |           |
+-----------+--------------+---------------+-----------+
| cyan      | голубой      | brightcyan    |           |
+-----------+--------------+---------------+-----------+
| lightgray | светло-серый | white         | белый     |
+-----------+--------------+---------------+-----------+

Определение цветовой схемы

Цветовая схема по умолчанию определена в исходном коде и не может быть изменена без перекомпиляции программы. При запуске программы она анализируется первой. Затем анализируются цветовые схемы, определённые пользователем. У пользователя имеются четыре возможности переопределить цвета элементов интерфейса Midnight Commander:

  • через секцию [Colors] конфигурационного файла ~/.mc/ini;
  • через секцию описания терминала файла ~/.mc/ini. Для каждого типа терминала можно определить свою цветовую схему;
  • через значение переменной окружения MC_COLOR_TABLE;
  • через параметр командной строки -C (или —colors).

Каждая из этих настроек дополняет или прекрывает предыдущую.

Цветовая схема по умолчанию

Параметр Значение Описание
normal lightgray,blue Основной цвет
reverse black,lightgray Инверсный цвет
gauge white,black Индикатор прогресса
input black,cyan Строка ввода
selected black,cyan Панель: текущий файл
marked yellow,blue Панель: отмеченный файл
markselect yellow,cyan Панель: отмеченный текущий файл
directory white,blue Панель: каталог
executable brightgreen,blue Панель: исполняемый файл
link lightgray,blue Панель: символическая ссылка
stalelink brightred,blue Панель: «брошенная» символическая ссылка
device brightmagenta,blue Панель: файл устройства
core red,blue Панель: core-файл
special black,blue Панель: специальный файл
dnormal black,lightgray Диалоговое окно: основной цвет
dfocus black,cyan Диалоговое окно: элемент, на котором находится фокус ввода
dhotnormal blue,lightgray Диалоговое окно: буква быстрого выбора элемента
dhotfocus blue,cyan Диалоговое окно: буква быстрого выбора элемента, на котором находится фокус ввода
errors white,red Сообщение об ошибке: основной цвет
errdhotnormal yellow,red Сообщение об ошибке: буква быстрого выбора элемента
errdhotfocus yellow,lightgray Сообщение об ошибке: буква быстрого выбора элемента, на котором находится фокус ввода
menu white,cyan Меню: основной цвет
menusel white,black Меню: выбранный пункт меню
menuhot yellow,cyan Меню: буква быстрого выбора невыбранного пункта
menuhotsel yellow,black Меню: буква быстрого выбора выбранного пункта
helpnormal black,lightgray Справка: основной цвет
helpitalic red,lightgray Справка: текст курсивом
helpbold blue,lightgray Справка: текст утолщённый шрифтом
helplink black,cyan Справка: невыбранная перекрёстная ссылка
helpslink yellow,blue Справка: выбранная перекрёстная ссылка
viewunderline brightred,blue Программа просмотра и редактор: подчёркнутый текст
editnormal lightgray,blue Редактор: основной цвет
editbold yellow,blue Редактор: результат поиска
editmarked black,cyan Редактор: выделенный текст
editwhitespace brightblue,blue Редактор: табуляция и пробелы в конце строк
editlinestate white,cyan Редактор: поле номера строки

Формат описания цветовой схемы пользователя

Также смотрите краткую справку по заданию цветовой схемы в командной строке:

$ mc -H
или
$ mc --help-colors

Формат описания файла настроек внешнего вида (скин-файла)

Загрузка скин-файла

Скин-файл может задаваться следующими способами (в порядке убывания приоритета):

  • параметр командной строки -S <скин> или —skin=<скин>
  • переменная окружения MC_SKIN
  • в конфигурационном файле параметр skin в секции [Midhight Commander]
  • файл ${sysconfdir}/mc/skins/default.ini (например, /etc/mc/skins/default.ini)
  • файл ${datadir}/mc/skins/default.ini (например, /usr/share/mc/skins/default.ini)

Параметры в трёх первых случаях могут содержать абсолютный путь к скин-файлу либо просто название скина (с расширением .ini либо без него). В данном случае поиск скин-файла будет происходить по следующим каталогам (до первого нахождения):

  • ~/.mc/skins/
  • /etc/mc/skins/
  • /usr/share/mc/skins/

Описание секций

[skin]

содержит информацию, относящуюся к самому скин-файлу.

description

кратко описывает скин.

[filehighlight]

содержит описания цветовых пар для групп подсветок имен файлов. Названия параметров в секции должно совпадать с названиями секций в файле подсветки.

[core]

содержит описание элементов, используемых повсеместно.

_default_

Цвет по умолчанию. Используется во всех остальных секциях (глобальный параметр), если в них нет переопределения

selected

курсор

marked

отмеченные данные

markselect

курсор на отмеченных данных

gauge

цвет заполненной части полоски (progress bar)

input

элемент ввода данных

reverse

инвертированный цвет

[dialog]

содержит описания элементов диалоговых окон (кроме сообщений об ошибках).

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

dfocus

Цвет элемента, находящегося в фокусе

dhotnormal

Цвет хоткеев

dhotfocus

Цвет хоткеев, находящихся в фокусе

[error]

содержит описания элементов диалога об ошибках.

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

errdhotnormal

Цвет хоткеев

errdhotfocus

Цвет хоткеев, находящихся в фокусе

содержит описание элементов, отображающихся в меню. Это касается как системного меню (вызываемого клавишей F9), так и пользовательских меню (F2 в панелях или F11 в редакторе).

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

entry

Цвет пунктов меню

menuhot

Цвет хоткеев

menusel

Цвет выделенного пункта меню

menuhotsel

Цвет хоткеев, находящихся в фокусе

[help]

содержит описания цветов для окна отображения помощи.

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

helpitalic

Цветовыделение элементов с атрибутом italic

helpbold

Цветовыделение элементов с атрибутом bold

helplink

Цвет ссылок

helpslink

Цвет ссылки, находящейся под курсором

[editor]

содержит описания элементов редактора

_default_

Цвет по умолчанию для данной секции. Если не указан, то используется [core]._default_

editbold

Цветовыделение элементов с атрибутом bold

editmarked

Цвет выделенного текста

editwhitespace

Подсветка знаков табуляции и «висящих» пробелов

linestate

Цвет области отображения состояния строки.

[viewer]

содержит описания элементов редактора

viewunderline

Цветовыделение элементов с атрибутом underline

Линии для отрисовки рамок

Линии задаются в секции [Lines] в скин-файле. По умолчанию используются одинарные линии, но возможно переназначить на использование любых utf-8 символов, похожих на линии

Описание параметров секции [Lines]:

lefttop

изображение левого верхнего угла рамки

righttop

изображение правого верхнего угла рамки

centertop

изображение ответвления горизонтальной линии вниз

centerbottom

изображение ответвления горизонтальной линии вверх

leftbottom

изображение левого нижнего угла рамки

rightbottom

изображение правого нижнего угла рамки

leftmiddle

изображение ответвления вертикальной линии вправо

rightmiddle

изображение ответвления вертикальной линии влево

centermiddle

изображение пересечения вертикальной и горизонтальной линий

horiz

изображение горизонтальной линии

vert

изображение вертикальной линии

thinhoriz

изображение тонкой горизонтальной линии

thinvert

изображение тонкой вертикальной линии

Источник

В Midnight Commander много предустановленных скинов (цветовых схем). В версии 4.8.26 доступно 36 цветовых схем «из коробки».

Цветовую схему можно выбрать в меню:

Настройки — Оформление

Однако в интерфесе MC нет возможности тонко настроить выбранный скин. Приходится пользоваться теми, темами, что есть с такими настройками, которые они задают. Но, все-таки, настройки скинов можно самостоятельно поменять.

Сами скины лежат в каталоге:

/usr/share/mc/skins

Файлы скина представляют из себя INI-файлы. (И если в них заглянуть, то можно заметить, что в них настраиваются не только цвета, но и символы, видимые на экране. Например там настраиваются символы линий).

Цвета кодируются так:

элемент = цветСимвола;цветЗаднегоФона;начертание

Часть начертание вместе с точкой с запятой можно не указывать. Но если ее указать, то доступные значения — bold, чтобы символы выводились жирным шрифтом.

Внимание! Наличие модификатора bold может сильно искажать цвета! Вместо черного на белом фоне вполне может отображать серый на белом.

Цвета могут задаваться по именам. Чистые цвета имеют названия:

black

white

gray

red

blue

green

yellow

Так же, найдены следующие обозначения цветов:

brown

magenta

cyan

lightgray

brightred

brightgreen

brightmagenta

brightcyan

brightblue

На просторах интернета можно найти такую таблицу:

+—————————+———————————+

|Цвета, используемые |Цвета, используемые |

|как для текста, |только для текста |

|так и для фона | |

+===========+==============+===============+=================+

| black | чёрный | gray | серый |

+————+—————+—————+——————+

| red | красный | brightred | розовый |

+————+—————+—————+——————+

| green | зелёный | brightgreen | светлозеленый |

+————+—————+—————+——————+

| brown | коричневый | yellow | жёлтый |

+————+—————+—————+——————+

| blue | синий | brightblue | светлосиний |

+————+—————+—————+——————+

| magenta | пурпурный | brightmagenta | светлопурпурный |

+————+—————+—————+——————+

| cyan | голубой | brightcyan | голубой |

+————+—————+—————+——————+

| lightgray | светло-серый | white | белый |

+————+—————+—————+——————+

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

Помимо имен цветов могут использоваться номера цветов. Для 16-ти цветной палитры можно использовать имена цветов color0 … color16.

Для 256-цветной палитры изпользуются имена color16 … color255. Как по номеру цвета понять какой это цвет — пока неясно. В любом случае, по-умолчанию используется 16-ти цветная палитра. Для использования 250-цветной палитры требуется в разделе [skin] выставить опцию:

256colors = true

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

Настройка — Настроить профиль — Внешний вид — Цветовая схема и шрифт

Обычно, чтобы увидеть чистые цвета, надо выбрать преднастроенную палитру Белый на черном. Палитра Breeze будет давать в консоли подвеченные/выцвевшие/выгоревшие цвета, которые смотрятся очень бледными.

Хинт: узнать информацию о настройке цветов можно с помощью команды:

mc —help-color

Для применения настроек, внесенных в INI-файл текущей цветовой схемы, надо выйти из MC и повторно его запустить.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить цвет list style css
  • Как изменить цвет layout kivy
  • Как изменить цвет label при активном input
  • Как изменить цвет label python
  • Как изменить цвет label html

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии