База знаний по Open Source
Yandex поиск по всему сайту
Авторизация

Цветовые схемы и внешний вид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

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

Источник