Midnight Commander (MC) to popularny menedżer plików działający w trybie tekstowym, dostępny na wielu systemach uniksowych, w tym Linux czy macOS. Posiada interfejs podzielony na dwa panele, dzięki czemu użytkownik może z łatwością przeglądać katalogi, przenosić, kopiować i modyfikować pliki. Dzięki tekstowemu interfejsowi użytkownika, MC działa świetnie na serwerach zdalnych, na których nie jest dostępne środowisko graficzne, co czyni go niezastąpionym narzędziem dla administratorów systemów i programistów.
Zmiana kolorów mc
Jedną z głównych zmian, jakiej dokonują programiści pracujący z midnight commander jest zmiana kolorów interfejsu. W tym artykule dowiesz się, jak możesz dostosować kolory do własnych wymagań 🙂
Wybór schematu kolorystycznego z wbudowanych opcji
MC zazwyczaj posiada kilka dostępnych skórek, z których możesz wybrać najbardziej dla siebie odpowiednią. Aby to zrobić:
- Uruchom Midnight Commander. Aby rozpocząć, otwórz terminal i wpisz:
mc
- Gdy MC jest już uruchomione:
Naciśnij F9, aby wejść do menu głównego.
Wybierz Opcje (lub „Options” w wersji angielskiej).
Następnie wybierz Wygląd („Appearance”).
Zobaczysz listę dostępnych schematów kolorów. Możesz przetestować każdy z nich, wybierając go i naciskając Enter.
Tworzenie własnego schematu kolorów
Jeśli chcesz stworzyć własny schemat kolorów, otwórz plik ~/.config/mc/ini w swoim ulubionym edytorze tekstowym, np. nano:nano ~/.config/mc/ini
Znajdź sekcję (lub utwórz, jeśli nie istnieje) [Colors] i zdefiniuj własny schemat kolorów. Na przykład:
base_color=normal=white,black:selected=gray,white:marked=yellow,blue:markselect=blue,yellow
Te ustawienia oznaczają:
normal – kolor tekstu i tła (biały tekst na czarnym tle)
selected – kolor zaznaczonego tekstu i tła (szary tekst na białym tle)
marked – kolor tekstu i tła oznaczonego elementu (aby oznaczyć element uzyj klawisza Insert) (żółty tekst na niebieskim tle)
markselect – kolor tekstu i tła zaznaczonego oznaczonego elementu (niebieski tekst na żółtym tle)
Kolory, jakich możesz użyć to: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray i white.
Więcej informacji na temat kolorów uzyskasz wpisując w konsoli polecenie:mc --help-color
Po ustawieniu odpowiednich kolorów zapisz zmiany w pliku (w przypadku nano zapiszesz je jako CTRL+O, aby wyjść z pliku wciśnij CTRL+X).
Zrestartuj mc
Tworzenie własnego zestawu kolorów w postaci 'skórki’:
Jeśli potrzebujesz więcej swobody w zmianie kolorów mc, możesz stworzyc własną skórkę.
W tym celu wejdź do folderu ~/.local/share/mc/skins
(lub utwórz go, jeśli nie istnieje) i utwórz własny plik, np. my_skin.ini
Upewnij się, że plik ma odpowiednie uprawnienia do zapisu:chmod 644 ~/.local/share/mc/skins/my_skin.ini
Powyższe sprawi, że Twoja skórka będzie dostępna dla użytkownika, na którym obecnie pracujesz.
Jeśli chcesz, aby skórka była dostępna globalnie, dodaj ją do folderu midnight commandera (zazwyczaj pod ścieżką /usr/share/mc/skins
)
W pliku my_skin.ini
dodaj ustawienia kolorów dla poszczególnych elementów interfejsu:
- core,
- menu,
- dialog,
- popupmenu,
- error,
- filehighlight,
- buttonbar,
- statusbar,
- help,
- editor,
- viewer,
- diffviewer.
Ponownie, możesz skorzystać z podpowiedzi dla kolorów midnight commandera:mc --help-color
Wyświetli on słowa kluczowe, których możesz użyć przy ustawianiu własnych kolorów:
Keywords:
Global: errors, disabled, reverse, gauge, header
input, inputmark, inputunchanged, commandlinemark
bbarhotkey, bbarbutton, statusbar
File display: normal, selected, marked, markselect
Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,
errdhotfocus
Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive
Popup menus: pmenunormal, pmenusel, pmenutitle
Editor: editnormal, editbold, editmarked, editwhitespace,
editlinestate, editbg, editframe, editframeactive
editframedrag
Viewer: viewnormal,viewbold, viewunderline, viewselected
Help: helpnormal, helpitalic, helpbold, helplink, helpslink
Dla ułatwienia, zostawiam plik z ustawieniami kolorystycznymi mojej skórki (głównie w kolorach czarnym, białym oraz niebieskim), wraz z opisem poszczególnych opcji:
#
# JL skin
#
[skin]
description = JL Skin
256colors = false
[core]
_default_ = white;default // text color (foreground/background)
selected = white;blue // selected item color (foreground/background)
marked = white;brightblue // marked item color (foreground/background) - Insert key
markselect = black;blue;;bold // marked and selected item (foreground/background)
gauge = white;blue // progress bar colors
input = white;black // color of the text input areas
inputmark = white;brightblue;bold // color of marked (or selected) text within an input area
inputunchanged = blue;white // color of an input area that hasn't changed or been modified
commandlinemark = white;brightblue;bold // color of marked text within the command line specifically
reverse = white;brightblue // color swap, where the foreground and background colors are switched
header = white;black // header color (foreground/background)
disabled = gray;lightgray
errors = white;red // errors colors (foreground/background)
[menu]
_default_ = white;default // menu colors (foreground/background)
menusel = white;blue;bold // focus menu element (foreground/background)
menuhot = white;default // menu element dropdown colors (foreground/background)
menuhotsel = white;black // menu text first letter color
menuinactive = white // menu incative text color
[dialog] // F9
_default_ = white;blue // text color / bg color
dhotnormal = black // text first letter color
dfocus = blue;white;bold // element focus colors (foreground/background)
dhotfocus = blue;white // element dropdown colors (foreground/background)
dtitle = white;;bold // dialog title color
[popupmenu] // F2
_default_ = white;blue // popup colors (foreground/background)
menusel = blue;white;bold // popup focus colors (foreground/background)
menutitle = white;;bold // popup title color
[error]
_default_ = white;brightred // error message colors (foreground/background)
errdfocus = red;white;bold // error element focus colors (foreground/background)
errdhotnormal = black // error message text first letter color
errdhotfocus = red;white // error element dropdown colors (foreground/background)
errdtitle = white // error title color
[filehighlight] // set colors for different file types
directory = blue;;bold // directory color
executable = gray // executable files
symlink = yellow // symlinks color
hardlink = yellow // hardlins color
stalelink = yellow // stalelinks color
device = red // e.g. hard drives, terminals, and other devices
special = red // e.g. socket files, named pipes (FIFOs), or block devices
core = red
temp = magenta // temporary files
archive = yellow // archive files color
doc = white // documentation files that provide details, instructions, or other information, e.g .css, .json, .md files
source = white // source files
media = white // media files
graph = gray //
database = red // database files
[buttonbar]
button = white;blue // color configuration for the entire button on the button bar (F1-10 Keys)
hotkey = blue;;bold // color configuration for the hotkeys (highlighted shortcut keys) on the button bar
[statusbar]
_default_ = black;white // color for the status bar in Midnight Commander.
// The status bar is usually found just above the command line input at the bottom of the interface.
// It provides contextual information, messages, or hints based on the current operation or selected item.
[help]
_default_ = white;black // help text color (foreground/background)
helpitalic = white;;italic // help italic text
helpbold = blue;bold // help bold text
helplink = blue;underline // help link color
helpslink = blue;underline;bold // help current link style
helptitle = white;;bold // help title color
[editor]
_default_ = white;black // editor colors (foreground/background)
editbold = white;;bold // color configuration for bold text within the editor
editmarked = white;blue;bold // color of marked or selected text within the editor.
editwhitespace = white;blue // color of whitespace characters, such as spaces or tabs
editlinestate = black;white // color of line state indicators, often used to show if a line has been modified, especially in context with version control or differential comparisons
[viewer]
_default_ = white;black // viewer colors (foreground/background)
viewbold = ;;bold // viewer bold text
viewunderline = ;;underline // viewer underline text
viewselected = white;blue;bold // viewer selected text
[diffviewer]
changedline = white;brightblue // color of a line in the file that has been modified
changednew = white;brightblue // color scheme for newly changed lines.
changed = white;brightred // color scheme for newly removed lines
added = black;brigtcyan // lines that are present in the new file/data but were not in the original
removed = black;red // ines that were in the original file/data but are not in the new one
error = white;red // lines or sections where the diff viewer encountered an error or inconsistency that it couldn't resolve
[Lines] // obramowanie paneli
horiz = ─
vert = │
lefttop = ┌
righttop = ┐
leftbottom = └
rightbottom = ┘
topmiddle = ┬
bottommiddle = ┴
leftmiddle = ├
rightmiddle = ┤
cross = ┼
dhoriz = ─
dvert = │
dlefttop = ┌
drighttop = ┐
dleftbottom = └
drightbottom = ┘
dtopmiddle = ─
dbottommiddle = ─
dleftmiddle = ├
drightmiddle = ┤
Moja skórka wygląda tak:
Dostosowywanie kolorów w Midnight Commander umożliwia indywidualne ustawienie wyglądu tego menedżera plików, co może zwiększyć komfort pracy i efektywność użytkowania. Jest to dość prosty i intuicyjny proces, z którym poradzą sobie nawet mniej doświadczeni deweloperzy. Poprzez modyfikację pliku konfiguracyjnego lub korzystanie z wbudowanego menu, użytkownicy mogą eksperymentować z różnymi paletami kolorów, dostosowując MC do własnych preferencji estetycznych. Bez względu na to, czy dążysz do poprawy czytelności, czy po prostu chcesz nadać narzędziu bardziej osobisty charakter, z Midnight Commander ustawisz preferowane kolory w prosty sposób 🙂