Цветовые схемы и внешний вид
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
изображение тонкой вертикальной линии
Цветовые схемы и внешний вид
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 и повторно его запустить.