Dostosuj kolory w Midnight Commander (MC) i zmień wygląd konsoli

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ć:

  1. Uruchom Midnight Commander. Aby rozpocząć, otwórz terminal i wpisz:
    mc
  2. 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 🙂

Joanna

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *