Barevný Midnight Commander
Teprve nedávno jsem začal trochu seriózně používat Midnight Commander, jelikož mi nějak žádný jiný filemanager ne a ne padnout do ruky, a absence vývoje mého oblíbeného Tux Commanderu mně bohužel přinutila začít se poohlížet po konkurenci. U MC jsem ale narazil na omezení počtu barev, závislých na historických 8 resp. 16 barvách terminálu. Sice se barvy daly trochu zpříjemnit barevným profilem emulátoru terminálu, ale stále to byl zápas s nastavením skinu. To jsem ale nevěděl o vývojové podpoře 256 barev, která byla nativně implementována ale až nyní do verze 4.8.0.
16 barev *
S původním vzhledem MC sem se asi jen tak někdo nesrovná že?

Vylepšit se barvy dají upravením barevné palety emulátoru terminálu nebo změnou skinu resp. obojího. Stále je to ale pouhých 16 barev, tedy vlastně 15 protože MC má bug barvy gray, kterou nelze používat jako pozadí jakýchkoli položek. Na obrázku je vidět nastavení barevné palety u Terminatoru, podobné grafické nastavení má třeba Gnome terminal.

Například takto, již stravitelněji, vypadá MC s upravenou paletou.

256 barev *
Chceme-li si MC nastavit k obrazu svému bude nutné si přepnout paletu na 256 barev. Jak na to? Je to velice jednoduché. Nejdříve zkusíme kolik barev podporuje náš terminál
$tput colors
8
Pokud zde vidíte osm, bude nutné přepnout počet barev. Pokud nepoužíváte nějaký exotický shell, přepnete do 256 barev příkazem
export TERM=xterm-256color
Já používám shell Fish, tam je syntaxe trochu jiná
set TERM xterm-256color
Samozřejmě bude třeba tuto podporu barev zapnout trvale. U bashe stačí přidat export proměnné do souboru .bashrc, pokud se najde někdo kdo používá také Fish, tam jsem set přidal do .config/fish/config.fish
Nyní zkusíme počet barev
$tput colors
256
Nyní máme podporu terminálu funkční a MC poběží v 256 barvách. Teď je možné buďto používat jeden ze dvou přednastavených skinů, jeden tmavý a jeden světlý, případně si ho upravit k obrazu svému nebo si klidně vytvořit zcela nový. Jaké skiny jsou k dispozici je vidět z výpisu
ls /usr/share/mc/skins/
darkfar.ini default.ini featured.ini mc46.ini sand256.ini
dark.ini double-lines.ini gotar.ini nicedark.ini xoria256.ini
Zde je vidět, že přibyly dva skiny s více barvami. Spuštění MC se skinem se pak provádí takto
mc -S sand256
… na světlý nebo můžeme spustit MC s tmavým…
mc -S xoria256
Světlý skin je velice příjemný, i když já radši používám spíše tmavé barvy.

Tmavé téma se mi líbí a tak jsem si ho trošku upravil a ještě budu dále upravovat.

Barvy v konfiguračním souboru mají čtyři formáty. Pojmenovaných 16 barev, jak to bylo i v dřívějších verzích mc:
black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray a white
dále název barvy ve formátu color16 – color255, velice užitečný formát rgb000 – rgb555, a nakonec škála šedé barvy gray0 – gray23. Nastavení podle rgb je velice jednoduché a dobře se podle barev orientuje. Chceme-li například čistou červenou nastavíme rgb500 nebo modrou rgb005, a tak dále. Je to takový jednoduchý mixér barev. Je ale jasné, že kombinací nebude tolik, na to musíte použít formát color, z kterého ale není zjevné jakou má číslo barvu.
To jen jako základ pro toho, kdo by si chtěl nějaký skin upravit nebo vytvořit, pro více se informujte v manuálu mc.
Změna uložení konfiguračních souborů *
Je to sice mimo téma, ale nepřímo to souvisí a tak si neodpustím malé upozornění na zásadní změnu, kterou MC prodělalo po upgradu na verzi 4.8.0. Staré konfigurační soubory byly původně v umístění
$HOME/.mc/
S upgradem byly přesunuty podle FDO standardu, a tak se nyní nachází částečně v umístění
$HOME/.local/share/mc/
a také
$HOME/.config/mc/
A abych nezapomněl, upravené skiny si můžete ukládat do adresáře
$HOME/.local/share/mc/skins/
Závěr *
MC je s podporou barev velice příjemný na používání a tak kdo má rád jeho perfektní funkcionalitu, ale vadil mu strohý vzhled, může si už MC přizpůsobit své představě nebo svému tématu desktopu.
Luděk Melichar
Srpen 15th, 2012 on 15:49
Pekne napísané, akosi mi po aktualizácii začal blbnúť môj skin a keďže som ho robil už dávno, zabudol som ako 😉