Цветовые схемы и внешний вид
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
Цвет хоткеев, находящихся в фокусе
[menu]
содержит описание элементов, отображающихся в меню. Это касается как системного меню (вызываемого клавишей 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
изображение тонкой вертикальной линии