Pull to refresh

Цветовой skin для mc в стиле mc-light

Очень давно, обновление за обновлением я тянул за собой файловый менеджер для FreeBSD Midnight Commander (проект mc-light). У него был ряд особенностей, присущих именно ему. Это и часы на главном окне экрана и цветовая расцветка и подсветка строк во внутреннем редакторе.

Именно эти подсветки меня привлекли, код писался вполне приемлемо, конфигурационные файлы были читабельными, стандартная же расцветка mc ну никак не подходила.

И так я тянул очень долго, и после того, как проект mc-light был закрыт. Однако же появились новые функции в mc, я потратил много времени на то, чтобы найти возможность сделать mc таким-же удобным и привычным, как раньше. На многих англо/русскоязычных форумах множество людей были расстроены тем, что mc-light больше не поддерживается, но теперь они смогут вернуть себе потерянное. Чтобы сделать mc более чем на 95.9% похожим на своего сородича, нужно использовать мой skin и syntaxis.

Как выглядит стандартный mc:

mc

Как выглядел mc-light:

mc-light
mc-light2

В последних версиях в mc появилась возможность выбора skins, это помогло создать то, что мне нужно.

После создания нового скина практически все подсветки были внесены в новый скин в неизменном виде. С часами в правом верхнем углу правда пришлось попрощаться, однако же этот недостаток восполняется многими другими нововведениями новой версии mc.

В итоге получился более сочный и живой mc в привычной расцветке. Если вы не пользовались mc-light, можете просто поставить себе этот скин для разнообразия, может быть он прийдется вам по вкусу.

Также внесены некоторые изменения, которых не было в mc, но были в mc-light. Одни из этих вещей — это подсветка IP и MAC адресов, считаю это очень удобным.

Что получилось:

mc-nastya

mc-nastya2

mc-nastya3

Итак, как этого удалось добиться и что нужно сделать, чтобы установить этот скин.

Так как я пользуюсь шелом /bin/sh было неприятной новостью то, что mc-4.8.24 не работает в 12.1-RELEASE-p3 FreeBSD.

После установки из портов или из пакетов, он не работает в этом шеле. Помогает mc -u, но это не то, что нам нужно.

Потому пришлось сменить шел, если для root:
chsh -s /bin/csh root

Скины сами лежат в /usr/local/share/mc/skins/

Их можно было править и там, но это был бы хак и security audit сообщал бы вам об изменении файлов, потому мы делаем все правильно, а именно, скачиваем skin nastya-mc-light.

Копируем файл nastya256.ini в папку пользователя (для рута):
/root/.local/share/mc/skins, папку skins создаем самостоятельно.

Так как используется терминал в 256 цветов, в ~root/.cshrc добавляем строку типа:
setenv TERM xterm-256color

открываем mc

Идем в меню Options -> Appearance и выбираем скин nastya256.

nastya

Ура, половина пути пройдена.

Кстати, там вы можете выбрать для себя какой-то другой понравившийся skin.

Skin желательно устанавливать именно так, или не из другого редактора поправить файл /root/.config/mc/ini на предмет skin=nastya256. Если сделать это через редактор mc, изменения не будут сохранены, пока вы не отключите автосохранение. Проще и удобнее установить skin через меню самого mc.

Осталось подправить только вывод цветов в редакторе, для этого пришлось переделать и добавить некоторые изменения в файл Syntax, sh.syntax и unknown.syntax.

Эти файлы лежат в /usr/local/share/mc/syntax

Чтобы не менять исходников, мы копируем эти три файла в папку ~/.config/mc/mcedit из скачанного вами архива и в принципе все, при следующем запуске mc, редактор подхватит нужные цвета.

Так как в mc-light не было скинов, там все выводилось одной стандартной схемой, в mc же стоит автоопределение файла, который вы открываете на редактирование. К сожалению автоопределение работает не всегда хорошо, и идет выбор синтаксиса unknown.syntax.

Чтобы исправить это недоразумение оба этих файла, и sh.syntax и unknown.syntax я сделал одинаковыми.
При желании вы можете сами подправить цветовую гамму или ссылку на нужный вам синтаксис.

В файле ~/.config/mc/mcedit/Syntax находится ссылка на нужную вам подборку.

Если вы захотите внести изменения вручную, то вносятся они следующим образом:

file .\* unknown
include /root/.config/mc/mcedit/unknown.syntax

Ссылку на unknown.syntax вы можете заменить ссылкой на все тот же sh.syntax. В таком случае, вам будет достаточно одного файла.

Самое важное, что теперь вы можете пользоваться новым скином и правильными подсветками в стиле старого доброго mc-light. В свое время я потратил много времени на поиски, надеюсь кому-то это будет полезно.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.