1

In midnight commander, changing the appearance via menu, selecting the skin sand256.ini etc. on many Linux setups gives nice colors.

After reversing the sort order of file listing, ideally this is indicated by a real arrow, as if mc was a GUI.

But, the skins kill the special characters and display ??? instead of if you change the skin. Also double lines are wrongly displayed as QQ or whatever.

I saw mc with proper arrows ↑ on my very Manjaro installation but changed some Konsole settings or whatever and now cannot get it back to a proper arrow display that worked just minutes before.

I also used a line in ~/.bashrc, export LANG=en to kill the terrible translation and aspell error message.

Below graphical characters from the skin.ini is displayed wrongly:

[widget-common]
    sort-sign-up = ↑
    sort-sign-down = ↓

[widget-panel]
    hiddenfiles-sign-show = •
    hiddenfiles-sign-hide = ○
    history-prev-item-sign = «
    history-next-item-sign = »
    history-show-list-sign = ^

[widget-scollbar]
    first-vert-char = ↑
    last-vert-char = ↓
    first-horiz-char = «
    last-horiz-char = »
    current-char = ■
    background-char = ▒
1

I also used LANG=en to kill the terrible translation and aspell error message.

That's the problem. The en locale uses the latin1 character set, which doesn't line drawing characters or arrows. To get these characters, you need a Unicode locale, such as en_US.utf8.

If all you wanted was to have messages in English, don't set LANG: English is the default language. Setting LANG is not a good idea anyway because it includes the collation locale, which can have surprising results. Set LC_CTYPE to indicate the character set and encoding (but it's often set automatically by your terminal and best left alone). Set LC_MESSAGES to control the language of messages.

See also What should I set my locale to and what are the implications of doing so?

1

I now could reproduce the situation and describe how to have a proper display in mc:

Create 2 Konsole (i.e. the KDE x-term emulator shipping with many distros) profiles "badstart" and "proper" via "settings/manage profiles". in "badstart" , click "environment/edit" and put in there: TERM=xterm-256color

Set "badstart" as the "default profile" (a heart icon will indicate it).

The "proper" profile just leave untouched, just rename it to "proper" after creating a new profile (it will have TERM=xterm).

Then a menu-entry for mc is needed via kmenuedit: command: mc , enable "advanced tab/run in terminal".

For some weird reason this works only if mc is started from such a K-menu entry, but not if the standard Konsole starter-icon is clicked and mc is typed manually inside the Konsole-text-window bash prompt.

Now, if mc is run via from the KDE menu, it will show up the line-characters messed up (profile "badstart" is active).

Then in Konsole-menu, click: setting/switch profile --> select "proper"

Then by way of some unfathomable automagic, mc will look excellent and all skins display properly.

I presume it has to do with locale misconfiguration of some sort, like Gilles correctly pointed out in the other answer.

Overriding locale settings by having a line in ~/.bashrc

export LANG=en

is a rather poor idea. In Manjaro-settings (not "system-settings"), most "locale" options can be configured via a GUI, allowing non-English keyboard users to have the English language across the OS except keyboard-layout.

Once export LANG=en was killed in the ~/.bashrc, it was even possible to have mc properly displayed in the "badstart" profile. This way, one can have a single-click-256color-mc started, which is hard to do in many KDE configurations.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.