Алексей Корельский
Существует расхожее мнение, что открытые системы хороши в том числе и тем, что все в них можно настроить под себя. Однако, если судить по внешнему Midnith Comander'а, который знаком, пожалуй, каждому пользователю *nix систем, то может показаться, что далеко не все так радужно. В самом деле, везде мы видим одни и те же сине-белые панели, знакомые еще по ДОС'у с его командиром Нортоном (Norton Comander).Конечно, традиции это хорошо, но лично меня подобное цветовое оформление всегда вызывало напряжение и быструю утомляемость глаз. А ведь способ исправить ситуацию есть! И скрыт он в документации к Midnith Comander'у, достаточно только дать команду: man mc Оригинально, не правда ли? :)
Первый, лежащий на поверхности способ, это запустить mc в черно-белом режиме, для чего служит ключик -b Вот так выглядит результат исполнения комманды mc -b:
Не слишком впечатляет... Тем не менее, иногда и такой хак может оказаться полезным. Но все же душа просит большего. Поэтому углубляемся в чтения мана, и обнаруживаем искомое! Ниже приведен мой вариант перевода куска ман страницы, где как-раз и описываеться методика управления цветовым оформлением файлового менеджера.
{начало переведенного фрагмента}
Midnight Commander предоставляет возможность изменять цветовое оформление. Цветовая схема конфигурируется при помощи переменной окружения MC_COLOR_TABLE или с использованием секции Colors в конфигурационном файле.
В секции Colors цветовая раскладка по умолчанию загружается из переменной base_color, но вы можете задать альтернативную раскладку для терминала используя название этого терминала в качесстве ключа. Пример:
[Colors] base_color=xterm=menu=magenta:marked=,magenta:markselect=,red
Формат для определения цветовой раскладки следующий:
[ключевое слово]=[цвет переднего плана],[цвет заднего плана]:[ключевое слово]= ...
Цвета нужно выбирать из списка "разрешенных" цветов, а ключевыми словами могут быть: normal, selected, marked, markselect, errors, input, reverse, gauge. За цветовое конфигурирование меню используеться ключевые слова: menu, menusel, menuhot, menuhotsel. Для конфигурирования диалогов: dnormal, dfocus, dhotnormal, dhotfocus. За хелпы отвечают: helpnormal, helpitalic, helpbold, helplink, helpslink. Для просмоторщика: viewunderline. Для цветовой подсветки содержимого панелей: executable, directory, link, stalelink, device, special, core. И для редактора: editnormal, editbold, editmarked.
input - определяет цвет используемый для строки ввода в диалогах и запросах. gauge - определяет цвет заполненой части "progress bar'а", который используется чтобы показывать пользователю состояние процесса выполнения файловых операций, например, копирования.
Для меню используется аналогичная схема, только вместо dnormal - menu, вместо dfocus - menusel, dhotnormal - menuhot и dhotfocus - menuhotsel, соответственно.
Ключевые слова для хелпов: helpnormal - для обычного текста, helpitalic - для текста, который выделен наклонным начертанием в страницах помощи, helpbold - для текста, который выделен жирным начертанием в страницах помощи, helplink - для выделения невыбранной, а helpslink - для выбранной выбранной гипер-ссылок.
Ключевые слова для специальной цветовой подсветки: directory - используется для определения цветов каталогов и символических сссылок на каталоги, executable - для исполняемых файлов, link - для символических сссылок на все объекты, кроме каталогов, stalelink - для неверных ссылок, special - для специальных файлов, тиких как сокеты и "трубопроводы" (pipes) и core [затрудняюсь перевести]
Возможные цвета: black (черный), gray (серый), red (красный), brightred (ярко-красный), green (зеленый), brightgreen (ярко-зеленый), brown (коричневый), yellow (желтый), blue (синий), brightblue (ярко-синий), magenta (пурпуный), brightmagenta (ярко-пурпурный), cyan (голубой), brightcyan (ярко-голубой), lightgray (светло-серый) и white (белый). Пример:
[Colors] base_color=normal=white,default:marked=magenta,default
{конец переведенного фрагмента} Таким образом, пользуясь, приведенными рекомендациями я сконструировал следующую цветовую схему:
[Colors] base_color=normal=brown,black:directory=cyan,black:executable=green,black:link=brown,black:stalelink=red,black:special=grey,black:marked=magenta,black:editnormal=brown,black:editmarked=black,lightgray
Вот парочка примеров этой цветовой раскладки в действии:
Все бы было бы прекрансо, но, как всегда, в любой бочке меда найдеться своя ложка дегтя. Дело в том, что функция переопределения цветовой раскладки далеко не всегда работает так, как описано в документации. Поэтому, при составлении цветовых схем, порой приходиться действовать методом тыка и мериться с тем, что некоторые желаемые варианты оказываються недоступными. Остаеться надееться, что со временем данная функция станет более востребованна пользователями и разработчики уделят этой проблеме большее внимание.