wiki:ru/doc/common/skins

Version 4 (modified by slavazanko, 15 years ago) (diff)

--

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

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).

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

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

ПараметрЗначениеОписание
normallightgray,blueОсновной цвет
reverseblack,lightgrayИнверсный цвет
gaugewhite,blackИндикатор прогресса
inputblack,cyanСтрока ввода
selectedblack,cyanПанель: текущий файл
markedyellow,blueПанель: отмеченный файл
markselectyellow,cyanПанель: отмеченный текущий файл
directorywhite,blueПанель: каталог
executablebrightgreen,blueПанель: исполняемый файл
linklightgray,blueПанель: символическая ссылка
stalelinkbrightred,blueПанель: "брошенная" символическая ссылка
devicebrightmagenta,blueПанель: файл устройства
corered,blueПанель: core-файл
specialblack,blueПанель: специальный файл
dnormalblack,lightgrayДиалоговое окно: основной цвет
dfocusblack,cyanДиалоговое окно: элемент, на котором находится фокус ввода
dhotnormalblue,lightgrayДиалоговое окно: буква быстрого выбора элемента
dhotfocusblue,cyanДиалоговое окно: буква быстрого выбора элемента, на котором находится фокус ввода
errorswhite,redСообщение об ошибке: основной цвет
errdhotnormalyellow,redСообщение об ошибке: буква быстрого выбора элемента
errdhotfocusyellow,lightgrayСообщение об ошибке: буква быстрого выбора элемента, на котором находится фокус ввода
menuwhite,cyanМеню: основной цвет
menuselwhite,blackМеню: выбранный пункт меню
menuhotyellow,cyanМеню: буква быстрого выбора невыбранного пункта
menuhotselyellow,blackМеню: буква быстрого выбора выбранного пункта
helpnormalblack,lightgrayСправка: основной цвет
helpitalicred,lightgrayСправка: текст курсивом
helpboldblue,lightgrayСправка: текст утолщённый шрифтом
helplinkblack,cyanСправка: невыбранная перекрёстная ссылка
helpslinkyellow,blueСправка: выбранная перекрёстная ссылка
viewunderlinebrightred,blueПрограмма просмотра и редактор: подчёркнутый текст
editnormallightgray,blueРедактор: основной цвет
editboldyellow,blueРедактор: результат поиска
editmarkedblack,cyanРедактор: выделенный текст
editwhitespacebrightblue,blueРедактор: табуляция и пробелы в конце строк
editlinestatewhite,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

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