MC - Midnight Commander, and an attempt to theme
I like the KDE's Breeze theme, I also like the dark 'Nordic Green' colour scheme, sadly I have not been happy with how they integrate with my file manager of choice - MC
Midnight Commander is what some will think of as a throwback to a previous time, I happen to think its a freakin' great file manager, and a powerful one at that.
Up until today I have been using the Moderin256 skin as it was the closes match to the the mix of Breeze + Nordic I could find.
Today I use my custom theme, inspired by Breeze + Nordic, its a '16M' aka "truecolour" skin so may not work in the TTY, but I think it looks great in X (yes, I am biased)
I based the theme on 'Seasons - Winter16M' a theme found in the default install of MC
I have tried to keep the colours use by the file types readable as hopefully seen above.
The help pages use both green and contrasting purple, which I don't think causes too mush visual distress, Error Boxes are presented in the same contrasting purple.
My aim was to keep the menu and selection boxes clean and comfortable to read.
I present my theme below for you to use and improve, simply save the text below as an .ini and place it in ~/.local/share/mc/skins/ then select the theme from within MC's appearance menu
# The Four Seasons skins demonstrate how to use direct RGB true colors.
## As a prerequisite, you will need:
# 1) Midnight Commander version 4.8.19 or newer.
# 2) Midnight Commander being compiled against S-Lang (rather than ncurses).
# 3) S-Lang version 2.3.1 or newer.
# 4) A 64-bit operating system. (Future S-Lang version 3 will support
# true colors on 32-bit OSes too. Until then, you can install a patched
# S-Lang and compile MC against it by following the instructions at
# http://midnight-commander.org/wiki/doc-devel/slang-16Mcolors-32bits.)
# 5) A terminal emulator that supports true colors, such as e.g.
# GNOME Terminal and other VTE derivatives, KDE's Konsole,
# iTerm2 for macOS. See https://gist.github.com/XVilka/8346728 for a
# more exhaustive and up to date list.
# 6) The TERM environment variable describing 256 color support, e.g.:
# export TERM=xterm-256color
# or inside screen or tmux:
# export TERM=screen-256color
# Verify by running tput colors, it should report 256.
# 7) The COLORTERM env variable set to either "truecolor" or "24bit", e.g.:
# export COLORTERM=truecolor
#
# 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]
# Dark-Green theme inspired by Nordic,
description = My-MC – RGB
truecolors = true
[Lines]
horiz = ─
vert = │
lefttop = ┌
righttop = ┐
leftbottom = └
rightbottom = ┘
topmiddle = ┬
bottommiddle = ┴
leftmiddle = ├
rightmiddle = ┤
cross = ┼
dhoriz = ═
dvert = ║
dlefttop = ╔
drighttop = ╗
dleftbottom = ╚
drightbottom = ╝
dtopmiddle = ╤
dbottommiddle = ╧
dleftmiddle = ╟
drightmiddle = ╢
[aliases]
Main = #3b4252
MainFg = #d4d4d4
MarkedFg = #b58c2d
HeaderFg = MarkedFg
Selected = #6d8f8e
Dialog = Selected
DialogFocus = #afbad8
Input = Main
PaleFg = #749997
ShadowFg = #6d8f8e
ShadowBg = #415655
Error = #660099
ErrorFocus = #1f2434
Top = #6d8f8e
MenuActive = Top
MenuSelected = Bottom
Bottom = #415655
BottomNumber = #1a2222
BottomNumberFg = #e4e3ed
Help = Selected
HelpBoldFg = ErrorFocus
HelpItalicFg = Error
HelpLinkFg = #51007a
EditorLineNumber = #f1f0f6
EditorWhitespace = EditorLineNumber
EditorRightMargin = EditorLineNumber
EditorBookmark = Bottom
EditorFindAll = Top
EditorVoid = BottomNumber
EditorFrameFg = MainFg
EditorFrameActiveFg = MarkedFg
EditorFrameDragFg = #fff
ViewerBoldFg = HelpBoldFg
ViewerUnderlinedFg = HelpLinkFg
ViewerSelected = EditorBookmark
DiffAdd = #80e080
DiffChangedLine = Selected
DiffGap = #e08080
[core]
_default_ = MainFg;Main
selected = #000;Selected
marked = MarkedFg;;bold
markselect = MarkedFg;Selected;bold
gauge = ;DialogFocus
input = #afbad8;Input
inputunchanged = PaleFg;Input
inputmark = #000;DialogFocus
disabled = PaleFg;Dialog
reverse = #000;Bottom
commandlinemark = #000;DialogFocus
header = HeaderFg
shadow = ShadowFg;ShadowBg
[dialog]
_default_ = #000;Dialog
dfocus = ;DialogFocus
dhotnormal = ;;underline
dhotfocus = ;DialogFocus;underline
dtitle = ;;bold
[error]
_default_ = #fff;Error
errdfocus = ;ErrorFocus
errdhotnormal = ;;underline
errdhotfocus = ;ErrorFocus;underline
errdtitle = ;;bold
[filehighlight]
directory =
executable = #00af00
symlink = #f76058
hardlink =
stalelink = #d70000
device = #87af5f
special = #afaf5f
core = #d7af00
temp = #9e9e9e
archive = #0089bf
doc = #da71e1
source = #af5f00
media = #0087d7
graph = #00afaf
database = #d7875f
[menu]
_default_ = #000;MenuActive
menusel = ;MenuSelected
menuhot = ;;underline
menuhotsel = ;MenuSelected;underline
menuinactive = ;Top
[popupmenu]
_default_ = #000;Dialog
menusel = ;DialogFocus
menutitle = ;;bold
[buttonbar]
hotkey = BottomNumberFg;BottomNumber
button = #000;Bottom
[statusbar]
_default_ = #000;Top
[help]
_default_ = #000;Help
helpbold = HelpBoldFg;;bold
helpitalic = HelpItalicFg;;italic
helplink = HelpLinkFg;;underline
helpslink = Help;HelpLinkFg
[editor]
editbold = MarkedFg;;bold
editmarked = ;Selected
editwhitespace = ;EditorWhitespace
editlinestate = #000;EditorLineNumber
bookmark = #000;EditorBookmark
bookmarkfound = #000;EditorFindAll
editrightmargin = ;EditorRightMargin
editbg = ;EditorVoid
editframe = EditorFrameFg
editframeactive = EditorFrameActiveFg
editframedrag = EditorFrameDragFg
[viewer]
viewbold = ViewerBoldFg;;bold
viewunderline = ViewerUnderlinedFg;;underline
viewselected = #000;ViewerSelected
[diffviewer]
added = ;DiffAdd
changedline = ;DiffChangedLine
changednew = ;DiffAdd
changed = ;DiffGap
removed = ;DiffGap
error = #fff;Error
[widget-panel]
sort-up-char = ▴
sort-down-char = ▾
hiddenfiles-show-char = •
hiddenfiles-hide-char = ○
history-prev-item-char = ◂
history-next-item-char = ▸
history-show-list-char = ▾
filename-scroll-left-char = ◂
filename-scroll-right-char = ▸
[widget-scollbar]
first-vert-char = ▴
last-vert-char = ▾
first-horiz-char = ◂
last-horiz-char = ▸
current-char = ■
background-char = ▒
[widget-editor]
window-state-char = ↕
window-close-char = ✕