From 4df99d834b70d5baf57ebadd7132b9ade18860d7 Mon Sep 17 00:00:00 2001 From: Egmont Koblinger Date: Mon, 5 Jan 2026 15:17:02 +0100 Subject: [PATCH 1/4] skins: Fix frame colors Some of the frame colors were defined incorrectly in commit d1fd6166a. Also, define the viewer's and editor's default color in these skins for consistency with other skins. Signed-off-by: Egmont Koblinger --- misc/skins/seasons-autumn16M.ini | 4 +++- misc/skins/seasons-spring16M.ini | 4 +++- misc/skins/seasons-summer16M.ini | 4 +++- misc/skins/seasons-winter16M.ini | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/misc/skins/seasons-autumn16M.ini b/misc/skins/seasons-autumn16M.ini index 021a92d6a..3211157b5 100644 --- a/misc/skins/seasons-autumn16M.ini +++ b/misc/skins/seasons-autumn16M.ini @@ -160,6 +160,7 @@ helpframe = #000;Help [editor] + _default_ = MainFg;Main editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace @@ -174,11 +175,12 @@ editframedrag = EditorFrameDragFg [viewer] + _default_ = MainFg;Main viewbold = ViewerBoldFg;;bold viewunderline = ViewerUnderlinedFg;;underline viewboldunderline = ViewerBoldFg;;bold+underline viewselected = #000;ViewerSelected - viewframe = #000;Help + viewframe = MainFg;Main [diffviewer] added = ;DiffAdd diff --git a/misc/skins/seasons-spring16M.ini b/misc/skins/seasons-spring16M.ini index f91b2b828..103011cfb 100644 --- a/misc/skins/seasons-spring16M.ini +++ b/misc/skins/seasons-spring16M.ini @@ -160,6 +160,7 @@ helpframe = #000;Help [editor] + _default_ = MainFg;Main editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace @@ -174,11 +175,12 @@ editframedrag = EditorFrameDragFg [viewer] + _default_ = MainFg;Main viewbold = ViewerBoldFg;;bold viewunderline = ViewerUnderlinedFg;;underline viewboldunderline = ViewerBoldFg;;bold+underline viewselected = #000;ViewerSelected - viewframe = #000;Help + viewframe = MainFg;Main [diffviewer] added = ;DiffAdd diff --git a/misc/skins/seasons-summer16M.ini b/misc/skins/seasons-summer16M.ini index 4cade3cb4..3878ab8f5 100644 --- a/misc/skins/seasons-summer16M.ini +++ b/misc/skins/seasons-summer16M.ini @@ -160,6 +160,7 @@ helpframe = #000;Help [editor] + _default_ = MainFg;Main editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace @@ -174,11 +175,12 @@ editframedrag = EditorFrameDragFg [viewer] + _default_ = MainFg;Main viewbold = ViewerBoldFg;;bold viewunderline = ViewerUnderlinedFg;;underline viewboldunderline = ViewerBoldFg;;bold+underline viewselected = #000;ViewerSelected - viewframe = #000;Help + viewframe = MainFg;Main [diffviewer] added = ;DiffAdd diff --git a/misc/skins/seasons-winter16M.ini b/misc/skins/seasons-winter16M.ini index 90a00350c..0767c492e 100644 --- a/misc/skins/seasons-winter16M.ini +++ b/misc/skins/seasons-winter16M.ini @@ -160,6 +160,7 @@ helpframe = #000;Help [editor] + _default_ = MainFg;Main editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace @@ -174,11 +175,12 @@ editframedrag = EditorFrameDragFg [viewer] + _default_ = MainFg;Main viewbold = ViewerBoldFg;;bold viewunderline = ViewerUnderlinedFg;;underline viewboldunderline = ViewerBoldFg;;bold+underline viewselected = #000;ViewerSelected - viewframe = #000;Help + viewframe = MainFg;Main [diffviewer] added = ;DiffAdd From ac80fa3724670cf5bfa057d3ae93cc06a1d28f0a Mon Sep 17 00:00:00 2001 From: Egmont Koblinger Date: Mon, 5 Jan 2026 13:09:42 +0100 Subject: [PATCH 2/4] skins: Remove some obsolete comments, fix some typos Signed-off-by: Egmont Koblinger --- misc/skins/featured-plus.ini | 2 -- misc/skins/featured.ini | 2 -- misc/skins/modarcon16-defbg-thin.ini | 2 +- misc/skins/modarcon16-thin.ini | 2 +- misc/skins/modarcon16root-defbg-thin.ini | 2 +- misc/skins/modarcon16root-thin.ini | 2 +- misc/skins/modarin256-defbg-thin.ini | 2 +- misc/skins/modarin256-thin.ini | 2 +- misc/skins/modarin256root-defbg-thin.ini | 2 +- misc/skins/modarin256root-thin.ini | 2 +- misc/skins/xoria256-thin.ini | 5 ----- misc/skins/xoria256.ini | 5 ----- misc/skins/xoria256root-thin.ini | 5 ----- 13 files changed, 8 insertions(+), 27 deletions(-) diff --git a/misc/skins/featured-plus.ini b/misc/skins/featured-plus.ini index 36a159fa9..d66992115 100644 --- a/misc/skins/featured-plus.ini +++ b/misc/skins/featured-plus.ini @@ -1,5 +1,3 @@ -# Please, use this skin in UTF-8 system codepage only. - [skin] description = Enhanced standard skin with alternative directory and file select/mark colors diff --git a/misc/skins/featured.ini b/misc/skins/featured.ini index a33aa1170..c663cc255 100644 --- a/misc/skins/featured.ini +++ b/misc/skins/featured.ini @@ -1,5 +1,3 @@ -# Please, use this skin in UTF-8 system codepage only. - [skin] description = Enhanced standard skin diff --git a/misc/skins/modarcon16-defbg-thin.ini b/misc/skins/modarcon16-defbg-thin.ini index 165fca235..183732736 100644 --- a/misc/skins/modarcon16-defbg-thin.ini +++ b/misc/skins/modarcon16-defbg-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarcon16-thin.ini b/misc/skins/modarcon16-thin.ini index 8fb775952..241552556 100644 --- a/misc/skins/modarcon16-thin.ini +++ b/misc/skins/modarcon16-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarcon16root-defbg-thin.ini b/misc/skins/modarcon16root-defbg-thin.ini index 956f7a0dc..fbbdfd7f2 100644 --- a/misc/skins/modarcon16root-defbg-thin.ini +++ b/misc/skins/modarcon16root-defbg-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarcon16root-thin.ini b/misc/skins/modarcon16root-thin.ini index a383a5b2c..25cf51fab 100644 --- a/misc/skins/modarcon16root-thin.ini +++ b/misc/skins/modarcon16root-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarin256-defbg-thin.ini b/misc/skins/modarin256-defbg-thin.ini index 4d979ac58..ab117661e 100644 --- a/misc/skins/modarin256-defbg-thin.ini +++ b/misc/skins/modarin256-defbg-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarin256-thin.ini b/misc/skins/modarin256-thin.ini index 789654d1c..3aad78afc 100644 --- a/misc/skins/modarin256-thin.ini +++ b/misc/skins/modarin256-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarin256root-defbg-thin.ini b/misc/skins/modarin256root-defbg-thin.ini index 794402964..15631a919 100644 --- a/misc/skins/modarin256root-defbg-thin.ini +++ b/misc/skins/modarin256root-defbg-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/modarin256root-thin.ini b/misc/skins/modarin256root-thin.ini index 9479f73ad..f686b47c9 100644 --- a/misc/skins/modarin256root-thin.ini +++ b/misc/skins/modarin256root-thin.ini @@ -28,7 +28,7 @@ # modarcon16root # modarcon16root-defbg # - like everything running in a 16-color terminal, these skins look ugly -# and are no subsitute for the 256-color versions. As some terminals don't +# and are no substitute for the 256-color versions. As some terminals don't # support using dark gray as background color, i used a black background # and adjusted the remaining colors accordingly. # diff --git a/misc/skins/xoria256-thin.ini b/misc/skins/xoria256-thin.ini index c54669596..8e30f2a24 100644 --- a/misc/skins/xoria256-thin.ini +++ b/misc/skins/xoria256-thin.ini @@ -2,16 +2,11 @@ # based on the Xoria256 color scheme for the Vim editor # (https://www.vim.org/scripts/script.php?script_id=2140) -# Note you'll need mc > 4.7.5 for this scheme to work (256 colors support) -# Hint: compile from the git repository - # Author : Alexander Glyzov (isee@inbox.ru) # Last Change : Jan 11, 2011 # Special Thanks to Dmitriy Zotikov -- author of the Vim Xoria256 color scheme. - - [skin] description = Xoria256-Thin 256colors = true diff --git a/misc/skins/xoria256.ini b/misc/skins/xoria256.ini index cbfb8130e..a52915042 100644 --- a/misc/skins/xoria256.ini +++ b/misc/skins/xoria256.ini @@ -2,16 +2,11 @@ # based on the Xoria256 color scheme for the Vim editor # (https://www.vim.org/scripts/script.php?script_id=2140) -# Note you'll need mc > 4.7.5 for this scheme to work (256 colors support) -# Hint: compile from the git repository - # Author : Alexander Glyzov (isee@inbox.ru) # Last Change : Jan 11, 2011 # Special Thanks to Dmitriy Zotikov -- author of the Vim Xoria256 color scheme. - - [skin] description = Xoria256 256colors = true diff --git a/misc/skins/xoria256root-thin.ini b/misc/skins/xoria256root-thin.ini index 28de5bb9d..b1fb66cba 100644 --- a/misc/skins/xoria256root-thin.ini +++ b/misc/skins/xoria256root-thin.ini @@ -2,16 +2,11 @@ # based on the Xoria256 color scheme for the Vim editor # (https://www.vim.org/scripts/script.php?script_id=2140) -# Note you'll need mc > 4.7.5 for this scheme to work (256 colors support) -# Hint: compile from the git repository - # Author : Alexander Glyzov (isee@inbox.ru) # Last Change : Jan 11, 2011 # Special Thanks to Dmitriy Zotikov -- author of the Vim Xoria256 color scheme. - - [skin] description = Xoria256root-Thin 256colors = true From cdff812c55f13d7e24dff1445282a7cf784b6acd Mon Sep 17 00:00:00 2001 From: Egmont Koblinger Date: Mon, 5 Jan 2026 13:08:45 +0100 Subject: [PATCH 3/4] Ticket #4885, #4896: skins: Move documentation to a separate file Also slightly reword and update the documentation. Signed-off-by: Egmont Koblinger --- doc/man/mc.1.in | 313 +---------------- misc/skins/Makefile.am | 8 +- misc/skins/README.txt | 554 +++++++++++++++++++++++++++++++ misc/skins/julia256root.ini | 2 +- misc/skins/sand256.ini | 51 --- misc/skins/seasons-autumn16M.ini | 8 - misc/skins/seasons-spring16M.ini | 8 - misc/skins/seasons-summer16M.ini | 8 - misc/skins/seasons-winter16M.ini | 8 - 9 files changed, 564 insertions(+), 396 deletions(-) create mode 100644 misc/skins/README.txt diff --git a/doc/man/mc.1.in b/doc/man/mc.1.in index 1dd2ee72b..11348dab1 100644 --- a/doc/man/mc.1.in +++ b/doc/man/mc.1.in @@ -3721,319 +3721,12 @@ or without it). Search of skin\-file will occur in (to the first one found): .br .PP -For getting extended info, refer to: -.IP -.\"LINK2" -Description of section and parameters -.\"Skins sections" -.br -.\"LINK2" -Color pair definitions -.\"Skins colors" -.br -.\"LINK2" -Color and attribute aliases -.\"Skins aliases" -.br -.\"LINK2" -Draw lines -.\"Skins lines" -.br -.\"LINK2" -Compatibility -.\"Skins oldcolors" -.br - -.\"NODE " Skins sections" -.SH " Description of section and parameters" - -Section -.B [skin] -contain metainfo for skin\-file. Parameter -.I description -contain short text about skin. - -.PP -Section -.B [filehighlight] -contain descriptions of color pairs for filenames highlighting. -Name of parameters must be equal to names of sections into -filehighlight.ini file. -See -.\"LINK2" -Filenames Highlight -.\"Filenames Highlight" -for getting more info. - -.PP -Section -.B [core] -describes the elements that are used everywhere. -.TP -.I _default_ -Default color pair. Used in all other sections if they not contain -color definitions -.TP -.I selected -cursor -.TP -.I marked -selected data -.TP -.I markselect -cursor on selected data -.TP -.I gauge -color of the filled part of the progress bar -.TP -.I input -color of input lines used in query dialogs -.TP -.I inputmark -color of input selected text -.TP -.I inputunchanged -color of input text before first modification or cursor movement -.TP -.I commandlinemark -color of selected text in command line -.TP -.I reverse -reverse color -.PP -Section -.B [dialog] -describes the elements that are placed on dialog windows (except error dialogs). -.TP -.I _default_ -Default color for this section. Used [core]._default_ if not specified -.TP -.I dfocus -Color of active element (in focus) -.TP -.I dhotnormal -Color of hotkeys -.TP -.I dhotfocus -Color of hotkeys in focused element - -.PP -Section -.B [error] -describes the elements that are placed on error dialog windows -.TP -.I _default_ -Default color for this section. Used [core]._default_ if not specified -.TP -.I errdhotnormal -Color of hotkeys -.TP -.I errdhotfocus -Color of hotkeys in focused element - -.PP -Section -.B [menu] -describes the elements that are placed in menu. This section describes -system menu (called by F9) and user\-defined menus (called by F2 in panels -and by F11 in editor). -.TP -.I _default_ -Default color for this section. Used [core]._default_ if not specified -.TP -.I entry -Color of menu items -.TP -.I menuhot -Color of menu hotkeys -.TP -.I menusel -Color of active menu item (in focus) -.TP -.I menuhotsel -Color of menu hotkeys in focused menu item -.TP -.I menuinactive -Color of inactive menu - -.PP -Section -.B [help] -describes the elements that are placed on help window. -.TP -.I _default_ -Default color for this section. Used [core]._default_ if not specified -.TP -.I helpitalic -Color pair for element with -.B italic -attribute -.TP -.I helpbold -Color pair for element with -.B bold -attribute -.TP -.I helplink -Color of links -.TP -.I helpslink -Color of active link (on focus) - -.PP -Section -.B [editor] -describes the colors of elements placed in editor. -.TP -.I _default_ -Default color for this section. Used [core]._default_ if not specified -.TP -.I editbold -Color pair for element with -.B bold -attribute -.TP -.I editmarked -Color of selected text -.TP -.I editwhitespace -Color of tabs and trailing spaces highlighting -.TP -.I editlinestate -Color for line state area - -.PP -Section -.B [viewer] -describes the colors of elements placed in viewer. -.TP -.I viewunderline -Color pair for element with -.B underline -attribute - -.\"NODE " Skins colors" -.SH " Color pair definitions" -Any parameter in skin\-file contain definition of color pair. -.PP -Color pairs described as two colors and the optional attributes -separated by ';'. First field sets the foreground color, second -field sets background color, third field sets the attributes. -Any of the fields may be omitted, in this case value will be -taken from default color pair (global color pair or from default -color pair of this section). -.PP -Example: -.br -.nf -[core] - # green on black - _default_=green;black - # green (default) on blue - selected=;blue - # yellow on black (default) - # underlined yellow on black (default) - marked=yellow;;underline -.fi +The format of skin files is described in +.BR %pkgdatadir%/skins/README.txt . -.PP -Possible colors (names) and attributes are described in -.\"LINK2" -Colors\&. -.\"Colors" -section. - -.\"NODE " Skins aliases" -.SH " Color and attribute aliases" -This optional section might define aliases for single colors (not color pairs) -as well as combination of attributes; in other words, for semicolon\-separated -fragments of parameters. Aliases can refer to other aliases as long as they -don't form a loop. -.PP -Example: -.br -.nf -[aliases] - myfavfg=green - myfavbg=black - myfavattr=bold+italic -[core] - _default_=myfavfg;myfavbg;myfavattr -.fi - -.\"NODE " Skins lines" -.SH " Draw lines" -Lines sets in section -.B [Lines] -into skin\-file. By default single lines are used, but you may redefine -to usage of any utf\-8 symbols (like to lines, for example). - -.PP -Descriptions of parameters -.BR [Lines] : -.TP -.I lefttop -left\-top line fragment. -.TP -.I righttop -right\-top line fragment. -.TP -.I centertop -down branch of horizontal line -.TP -.I centerbottom -up branch of horizontal line -.TP -.I leftbottom -left\-bottom line fragment -.TP -.I rightbottom -right\-bottom line fragment -.TP -.I leftmiddle -right branch of vertical line -.TP -.I rightmiddle -left branch of vertical line -.TP -.I centermiddle -cross of lines -.TP -.I horiz -horizontal line -.TP -.I vert -vertical line -.TP -.I thinhoriz -thin horizontal line -.TP -.I thinvert -thin vertical line - - -.\"NODE " Skins oldcolors" -.SH " Compatibility" - -Appointment of color by skin\-files fully compatible with -the appointment of the colors described in -.\"LINK2" -Colors\&. -.\"Colors" -section. -.PP -In this case, reassignment of colors has priority over the skin file and is -complementary. - -.\"NODE "Filenames Highlight" .SH "Filenames Highlight" Section [filehighlight] in current skin\-file contains key names as -highlight groups and values as color pairs. Color pairs is documented -in -.\"LINK2" -Skins -.\"Skins" -section. +highlight groups and values as color pairs. .PP Rules of filenames highlight are placed in %pkgdatadir%/filehighlight.ini file (~/.config/mc/filehighlight.ini). diff --git a/misc/skins/Makefile.am b/misc/skins/Makefile.am index 92ed8ec2e..4eb2374b8 100644 --- a/misc/skins/Makefile.am +++ b/misc/skins/Makefile.am @@ -1,6 +1,6 @@ skindir = $(pkgdatadir)/skins -skin_DATA = \ +SKINS = \ dark.ini \ darkfar.ini \ default.ini \ @@ -41,5 +41,9 @@ skin_DATA = \ yadt256-defbg.ini \ yadt256.ini +skin_DATA = \ + README.txt \ + $(SKINS) + EXTRA_DIST = \ - $(skin_DATA) + $(skin_DATA) diff --git a/misc/skins/README.txt b/misc/skins/README.txt new file mode 100644 index 000000000..9c7e57eb4 --- /dev/null +++ b/misc/skins/README.txt @@ -0,0 +1,554 @@ +This is an overview of the capabilities of skin files. + +See the FAQ for instructions on setting up 256 color or truecolor support in +your terminal. + + +Header section +============== + + [skin] + Skin files should define this header section. + + description + A brief text description of the skin. Currently not used by mc. + + 256colors + Set the value to "true" if the skin uses 256 color extension, but + does not use truecolor extension. It is a convention to also + include "256" in the filename. + + truecolors + Set the value to "true" if the skin uses truecolor extension, + perhaps along with 256 color extension (but do not set "256colors" + in that case). It is a convention to also include "16M" in the + filename. + + +Color and attribute sections +============================ + +These sections define the foreground and background colors, and other +graphical attributes to be used in various contexts. See later in this +document for the available color and attribute names. + +If a certain keyword is missing from the file, it falls back to the +"_default_" value of the same section. If that is also missing then it further +falls back to the "[core]" section's "_default_". + +If a keyword is present but its value does not specify all three of the +foreground color, background color and attributes, then the same fallback rule +applies individually to each of these three properties. + + [core] + This section describes the elements that are used everywhere. + + _default_ + Default color + + selected + The file under the cursor + + marked + Files marked using the Insert or Ctrl-T key + + markselect + A file that is both marked and is under the cursor + + gauge + Filled part of the progress bar + + input + Input lines used in query dialogs + + inputmark + Input selected text (e.g. Shift-Arrows) + + inputunchanged + Input text before first modification or cursor movement + + disabled + Disabled UI elements, e.g. in Find File and some Options dialogs + + commandlinemark + Selected text in command line + + reverse + Text on the top of the frame (typically the directory name, but + could also be "Quick view" or "Directory tree"), if the given + panel is active + + header + Header entries of panels (e.g. Name, Size, Modify time) + + inputhistory + Button to open the history window of various input fields + + commandhistory + Button to open the command history window + + shadow + Shadow cast by dialogs + + frame + Frame + + + [filehighlight] + Filename highlighting. Name of parameters must be equal to names of + sections into filehighlight.ini file. See the manual page's Filenames + Highlight section for more info. + + directory + executable + symlink + hardlink + stalelink + device + special + core + temp + archive + doc + source + media + graph + database + Colors of the given file type + + + [dialog] + Non-error dialog windows. + + _default_ + + dfocus + Active element (in focus) + + dhotnormal + Hotkeys + + dhotfocus + Hotkey of the active element + + dselnormal + Selected items in non-focused dropdown lists, e.g. in Find File + results after Tab'bing away + + dselfocus + Selected item in focused dropdown lists, e.g. in Find File results + or skin selector + + dtitle + Title + + dframe + Frame + + + [error] + Error dialog windows. + + _default_ + errdfocus + errdhotnormal + errdhotfocus + errdtitle + errdframe + Like their counterpart in "[dialog]" + + + [menu] + Dropdown menu (F9). + + _default_ + Inactive items + + menusel + Active item (in focus) + + menuhot + Hotkeys + + menuhotsel + Hotkey of the active item + + menuinactive + The menubar when the menu is not invoked + + menuframe + Frame + + + [popupmenu] + Popup menu (user menu: F2 in panels, F11 in editor; also Alt-E for + codepage). + + _default_ + Inactive items + + menusel + Active item (in focus) + + menutitle + Title + + menuframe + Frame + + + [buttonbar] + The bottom row. + + hotkey + Function key number + + button + Action's brief label + + + [statusbar] + Editor's, viewer's, diffviewer's top bar + + _default_ + Default color + + + [help] + Help window (F1). + + _default_ + Default color + + helpbold + Element originally intended to be displayed in bold + + helpitalic + Element originally intended to be displayed in italic + + helplink + Links + + helpslink + Active link (on focus) + + helpframe + Frame + + + [editor] + Built-in editor, or mcedit. + + _default_ + Default color + + editbold + Element with bold attribute (e.g. found text) + + editmarked + Selected text + + editwhitespace + Tabs and trailing spaces + + editnonprintable + Non-printable characters + + editrightmargin + Right margin + + editlinestate + Line state area + + editbg + Area not covered by any editor window (in multi-window mode) + + editframe + Frame of non-active editor window (in multi-window mode) + + editframeactive + Frame of active editor window (in multi-window mode) + + editframedrag + Frame of editor window being moved or resized (in multi-window + mode) + + bookmark + Lines bookmarked manually + + bookmarkfound + Lines as the result of "Find all" + + + [viewer] + Built-in viewer, or mcview. + + _default_ + Default color + + viewbold + Bold text in manual pages (roff documents) + + viewunderline + Underlined text in manual pages (roff documents) + + viewboldunderline + Bold and underlined text in manual pages (roff documents) + + viewselected + Selected text (e.g. search result) + + viewframe + Frame (e.g. in panel's "Quick view") + + + [diffviewer] + Built-in diff viewer, or mcdiff. + + added + changedline + changednew + changed + removed + error + According to what happens to a line of text + + +Character sections +================== + +The following keys define characters to be shown at various positions on the +display. The characters in the skin files need to be encoded in UTF-8. + + [Lines] + Frame characters used all throughout mc. + + horiz + vert + lefttop + righttop + leftbottom + rightbottom + topmiddle + bottommiddle + leftmiddle + rightmiddle + cross + Light frames, or inner lines of frames. Typically represented by + single lines. + + dhoriz + dvert + dlefttop + drighttop + dleftbottom + drightbottom + dtopmiddle + dbottommiddle + dleftmiddle + drightmiddle + Heavy frames, used for major boxes. Often identical to light + frames, but often double lines are used. For "d*middle", the short + stem is supposed to be light (matching "horiz", "vert" etc.). + + + [widget-panel] + Characters used on the main panels. + + sort-up-char + sort-down-char + Ascending vs. descending sorting (in the header row) + + hiddenfiles-show-char + hiddenfiles-hide-char + Whether dot files are shown or hidden (in the top border) + + history-prev-item-char + history-next-item-char + history-show-list-char + Arrows related to directory history (in the top border) + + filename-scroll-left-char + filename-scroll-right-char + Long, truncated, scrollable file names + + + [widget-scrollbar] + Symbols of the scrollbar. Not yet implemented. + + up-char + down-char + left-char + right-char + Endpoints of vertical and horizontal scrollbars + + thumb-char + track-char + The look of the scrollbar itself + + + [widget-editor] + Symbols managing multple windows of the editor + + window-state-char + Maximize or unmaximize an editor window + + window-close-char + Close an exitor window + + +Aliases section +=============== + + [aliases] + This optional section can define aliases for single colors (not color + pairs), or for combination of attributes; in other words, for + semicolon-separated fragments of parameters. + + This can make it easier to develop skins, or a set of similar skins, + that reuse the same color in multiple contexts. + + Aliases can refer to other aliases as long as they don't form a loop. + + Example: + [aliases] + myfavfg = green + myfavbg = black + myfavattr = bold+italic + [core] + _default_ = myfavfg;myfavbg;myfavattr + + Aliases can refer to other aliases as long as they don't form a loop. + + +Color pair and attribute definitions +==================================== + +Keywords defining the colors and attributes have the following syntax: + + keyword = foreground_color;background_color;attributes + +Omitted values are each subjected to the fallback rules described above. + +Example: + [core] + # green text on blue background + _default_ = green;blue + + # green (default) text on black background + selected = ;black + + # yellow text on blue (default) background + marked = yellow + + # yellow text on blue (default) background, underlined + markselect = yellow;;underline + + +Default colors +-------------- + +The color name "default" refers to the terminal's default colors. That is, if +used in foreground color position then it refers to the terminal's default +foreground color, and if used in background color position then it's the +terminal's default background. + +This is mostly useful for creating a transparent skin where the terminal's +(or desktop's) background color or background picture remains visible. + + +Legacy 16 color mode +-------------------- + +If you aim for the highest compatibility with terminals, you should restrict +your skin to the standard 16 colors (in addition to the terminal's defaults). +These colors each have two names: the preferred human-friendly one, and a +technical one referring to their color index. + + black = color0 gray = color8 + red = color1 brightred = color9 + green = color2 brightgreen = color10 + brown = color3 yellow = color11 + blue = color4 brightblue = color12 + magenta = color5 brightmagenta = color13 + cyan = color6 brightcyan = color14 + lightgray = color7 white = color15 + +With 8 color terminal settings (such as TERM=linux or TERM=xterm), bright +foreground colors (second column) are emulated in mc by enabling the bold +attribute, and the colors are mapped to their darker counterpart (first +column). In turn, the terminal may (or may not) interpret the bold flag as +brighter foreground color, thus reverting to the originally specified bright +foreground. + +Even in terminals that support more colors (such as TERM=xterm-256color), the +first 8 foreground colors combined with the bold attribute might be converted +to their brighter counterpart. This depends on choice of the terminal or a +setting thereof, mc having no control over it. + +Plus, the exact color values heavily depend on the user's chosen palette. + +For all these reasons, a skin using these colors can look quite different +across systems. + + +256 color extension +------------------- + +Almost all graphical terminal emulators support the 256 color extension. + +By adding "256colors = true" to the "[skin]" section, you get access to 240 +additional colors (a 6x6x6 color cube and a 24 color grayscale ramp) on top of +the standard 16 and the default colors. + +Colors of the 6x6x6 cube are called "rgb000" to "rgb555", all three digits +ranging from 0 to 5, corresponding to the R, G and B color components. +Alternatively, you can use their technical color index: "color16" to +"color231". + +Colors of the grayscale ramp are "gray0" to "gray23", or "color232" to +"color255". + +There are scripts available that display these colors in the terminal (e.g. +"256colors2.pl" shipped in Xterm's source code), as well as web pages showing +them (e.g. https://www.ditig.com/256-colors-cheat-sheet). + + +Truecolor extension +------------------- + +A wide range of terminals support the truecolor extension. + +By adding "truecolors = true" to the "[skin]" section (instead of the +"256colors" keyword), you get access to 2^24 (about 16 million) direct colors +on top of the 256 palette and the default ones. + +Truecolors are referred to by the standard "#rrggbb" or "#rgb" notation. The +short form is interpreted by repeating each hex digit, e.g. "#5AF" is a +shorthand for "#55AAFF". + + +Attributes +---------- + +The third value can specify special attributes to apply. Supported attributes +are: + + bold + underline + italic + reverse + blink + +Append more with a plus sign, e.g. "bold+italic". + +Omitting the field makes it use the fallback value as described above. Use any +unrecognized word (e.g. "none" or "default") to prevent fallback and disable +all attributes. + +Support for each attribute is subject to the underlying terminal. "bold", if +combined with the first 8 palette colors, often converts those colors to their +brighter counterpart. "reverse" has a wide range of interpretations across +terminals, the only case you should use it is when a "default" color is +involved, otherwise you can just directly set the desired colors. + diff --git a/misc/skins/julia256root.ini b/misc/skins/julia256root.ini index c1c65be62..f87854c39 100644 --- a/misc/skins/julia256root.ini +++ b/misc/skins/julia256root.ini @@ -1,5 +1,5 @@ # Dark skin with calm colors and good contrast. Mix of the standard & xoria256 skins. -# Color referance https://www.ditig.com/publications/256-colors-cheat-sheet + [skin] description = Dark skin with calm colors and good contrast (root) 256colors = true diff --git a/misc/skins/sand256.ini b/misc/skins/sand256.ini index 6f2f0bdba..f38a496e2 100644 --- a/misc/skins/sand256.ini +++ b/misc/skins/sand256.ini @@ -1,54 +1,3 @@ -# This skin demonstrates how to use 256 colors in mc. -# -# See the FAQ for instructions on setting up 256 colors. -# -# Each of the 256 colors has two names, you can use whichever you prefer. -# -# One possibility is to use the names "color0" to "color255" to access every -# color directly based on their number. -# -# The first 16 colors ("color0" to "color15") can also be specified by their -# names (these names are already being used by mc for 8/16 color terminals): -# black gray -# red brightred -# green brightgreen -# brown yellow -# blue brightblue -# magenta brightmagenta -# cyan brightcyan -# lightgray white -# Note that with 8 color terminal settings (such as TERM=xterm), colors of -# the second column are emulated using the bold attribute (which many -# terminals display as bright colors) for the foreground, and mapped to the -# basic 8 colors for the background. With 16 color terminal settings, the -# actual implementation of bright colors varies across terminals. Most -# terminals show true bright colors for foreground and background. However, -# some terminals show the colors from the first column instead (that is, -# you only have 8 colors), but make them bold. Yet others make them bold -# and bright at the same time. So it is safer to use the rest of the colors -# (color16 to color255). -# -# Colors of the 6x6x6 cube ("color16" to "color231") can alternatively be -# referred to as "rgb000" to "rgb555", all three digits ranging from 0 to 5, -# corresponding to the R, G and B color components. -# -# The 24 grayscale colors ("color232" to "color255") have the aliases "gray0" -# to "gray23". -# -# In addition to the 256 colors, the special word "default" means the -# default foreground or background color of your terminal, while "base" means -# mc's main colors. A missing value means falling back to the _default_ of the -# given section. -# -# Following the foreground and background colors, the third (optional) value -# can specify special attributes to enable. Valid values are bold, underline, -# italic, reverse and blink. Append more with a plus sign, e.g. "bold+italic". -# Leaving the field empty makes it fall back to the attributes of _default_. -# Use any other word (e.g. "none") to prevent fallback and disable all flags. -# -# Italic support requires a recent enough ncurses (>= 5.9.20130831) or slang -# (>= 2.3). All attributes are subject to support by the terminal emulator. - [skin] description = Sand skin using 256 colors 256colors = true diff --git a/misc/skins/seasons-autumn16M.ini b/misc/skins/seasons-autumn16M.ini index 3211157b5..aa4f3b602 100644 --- a/misc/skins/seasons-autumn16M.ini +++ b/misc/skins/seasons-autumn16M.ini @@ -1,12 +1,4 @@ # The Four Seasons skins demonstrate how to use direct RGB true colors. -# -# See the FAQ for instructions on setting up true colors. -# -# True colors are referred to by the standard #rrggbb or #rgb notation, the -# short form is interpreted by doubling each hex digit. -# -# In addition to these, you can use the basic 8 (non-light) colors and -# the attributes. However, you can't use the 256 indexed colors. [skin] # Falling leaves, beautiful forests, Halloween pumpkins. diff --git a/misc/skins/seasons-spring16M.ini b/misc/skins/seasons-spring16M.ini index 103011cfb..33be9c450 100644 --- a/misc/skins/seasons-spring16M.ini +++ b/misc/skins/seasons-spring16M.ini @@ -1,12 +1,4 @@ # The Four Seasons skins demonstrate how to use direct RGB true colors. -# -# See the FAQ for instructions on setting up true colors. -# -# True colors are referred to by the standard #rrggbb or #rgb notation, the -# short form is interpreted by doubling each hex digit. -# -# In addition to these the 256 palette colors are still available, and -# obviously so are the attributes. See the sand256.ini skin file for details. [skin] # Blooming. diff --git a/misc/skins/seasons-summer16M.ini b/misc/skins/seasons-summer16M.ini index 3878ab8f5..593afebec 100644 --- a/misc/skins/seasons-summer16M.ini +++ b/misc/skins/seasons-summer16M.ini @@ -1,12 +1,4 @@ # The Four Seasons skins demonstrate how to use direct RGB true colors. -# -# See the FAQ for instructions on setting up true colors. -# -# True colors are referred to by the standard #rrggbb or #rgb notation, the -# short form is interpreted by doubling each hex digit. -# -# In addition to these the 256 palette colors are still available, and -# obviously so are the attributes. See the sand256.ini skin file for details. [skin] # Sunshine, ocean, beach, beachball, sunshades, ice cream. diff --git a/misc/skins/seasons-winter16M.ini b/misc/skins/seasons-winter16M.ini index 0767c492e..d12d8e9b8 100644 --- a/misc/skins/seasons-winter16M.ini +++ b/misc/skins/seasons-winter16M.ini @@ -1,12 +1,4 @@ # The Four Seasons skins demonstrate how to use direct RGB true colors. -# -# See the FAQ for instructions on setting up true colors. -# -# True colors are referred to by the standard #rrggbb or #rgb notation, the -# short form is interpreted by doubling each hex digit. -# -# In addition to these the 256 palette colors are still available, and -# obviously so are the attributes. See the sand256.ini skin file for details. [skin] # The sun is shining and the grass is green, From 6e1299747bdcc713ff97334389a66dafcc6ba69f Mon Sep 17 00:00:00 2001 From: Egmont Koblinger Date: Sun, 11 Jan 2026 14:55:38 +0100 Subject: [PATCH 4/4] Ticket #3726: Fix man page about default colors Signed-off-by: Egmont Koblinger --- doc/man/mc.1.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/man/mc.1.in b/doc/man/mc.1.in index 11348dab1..bc3e173f2 100644 --- a/doc/man/mc.1.in +++ b/doc/man/mc.1.in @@ -3649,9 +3649,8 @@ is used for popup menu title. .PP The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, -cyan, brightcyan, lightgray and white. And there is a special keyword -for transparent background. It is 'default'. The 'default' can only be -used for background color. Another special keyword "base" means mc's main +cyan, brightcyan, lightgray and white; as well as "default" for the terminal's +default foreground or background color. Another special keyword "base" means mc's main colors. When 256 colors are available, they can be specified either as color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example: .PP