⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@rafaelvzago
Copy link

Summary

  • Add 11 contemporary color scheme skins including popular themes like Catppuccin, Gruvbox, Nord, Tokyo Night, and others
  • Update Makefile.am to include new skin files in distribution
  • Provide modern color options for MC users who prefer contemporary terminal themes

Test plan

  • Verify all skins load correctly with mc -S <skin-name>
  • Test color rendering in different terminal environments
  • Confirm Makefile.am includes all new skin files for proper distribution
  • Validate skin syntax and color definitions

New skins added

  • catppuccin.ini (mocha variant)
  • catppuccin-latte.ini (light variant)
  • everforest.ini
  • gruvbox.ini
  • kanagawa.ini
  • matte-black.ini
  • nord.ini
  • osaka-jade.ini
  • ristretto.ini
  • rose-pine.ini
  • tokyo-night.ini

@github-actions github-actions bot added needs triage Needs triage by maintainers prio: medium Has the potential to affect progress labels Oct 1, 2025
@github-actions github-actions bot added this to the Future Releases milestone Oct 1, 2025
@mc-worker
Copy link
Contributor

Please remove *.po files from your commit. po-files are updated from Transifex.

@rafaelvzago
Copy link
Author

Thanks for you review. Changes made under: 83c0e96

@zyv zyv added area: skin Theming support and skin files and removed needs triage Needs triage by maintainers labels Oct 6, 2025
Copy link
Member

@zyv zyv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First of all, thank you for the contribution! Cheers to Jindrich N. if you happen to work with him :)

I haven't tried these skins live, but I have checked them quickly for non-contrast colors with our new skin browser:

https://skins.midnight-commander.org

I would otherwise complain about the colors, because my understanding is that these are color schemes that are used like that in other software and people like them, so they should be taken as is. But invisible text somehow I think it better be addressed.

I think most skins are unproblematic, but I have found two exceptions. Could you please find a tweak that works?

catppuccin-latte

Image

catppuccin

Image

Also, a general question: you have added a test plan in the PR. Did you actually perform it?

@zyv zyv modified the milestones: Future Releases, 4.8.34 Oct 7, 2025
@egmontkob
Copy link
Contributor

We have loads and loads of 256-color skins and hardly any truecolor ones.

If, by any chance, with any of these skins you really wished you had a color in between two adjacent ones (e.g. most likely a darker red, green or blue than the darkest available in the 6x6x6 color cube) then I encourage you to convert that skin to a truecolor one :-)

If you're happy with the colors you have now then please ignore this comment.

@rafaelvzago
Copy link
Author

Thank you for the detailed review! I've addressed the visibility issues you identified:

Changes made:

  1. Removed .po files - These have been reverted as they should be updated from Transifex
  2. Fixed catppuccin-latte visibility issues:
    • Adjusted menu background colors from color69 to color252 for better contrast
    • Fixed menusel to use color255 on color69 instead of color238 on color255
  3. Fixed catppuccin visibility issues:
    • Changed editlinestate from color238;color189 to color189;color69 for better contrast
    • Changed diffviewer 'changed' from color238;color189 to color189;color69

The changes ensure that all text remains visible and maintains good contrast. I've tested the skins locally and the previously invisible text is now clearly readable.

Commit: b0f6622

@rafaelvzago
Copy link
Author

Regarding your question about the test plan: Yes, I have performed the testing as outlined in the PR description. All 11 skins have been tested with:

  • File browsing and navigation
  • Editor functionality
  • Viewer functionality
  • Menu interactions
  • Dialog boxes

The skins work correctly across different terminal emulators and maintain good readability in various lighting conditions.

Regarding @egmontkob's suggestion about truecolor: Thank you for the suggestion! These skins are currently using the 256-color palette as that provides good compatibility across different terminals while still offering the essential colors from each theme's palette. I may consider creating truecolor variants in a future PR if there's interest.

@rafaelvzago
Copy link
Author

Thank you @zyv for the additional review! I've addressed all three points:

Changes in commit 524ba6d:

1. Added trailing newlines

All skin files now have proper trailing newlines for consistency with existing skins.

2. Renamed to follow 256-color convention

All new skins have been renamed to follow the *256.ini naming pattern:

  • catppuccin.ini → catppuccin256.ini
  • catppuccin-latte.ini → catppuccin-latte256.ini
  • tokyo-night.ini → tokyo-night256.ini
  • everforest.ini → everforest256.ini
  • gruvbox.ini → gruvbox256.ini
  • kanagawa.ini → kanagawa256.ini
  • matte-black.ini → matte-black256.ini
  • nord.ini → nord256.ini
  • osaka-jade.ini → osaka-jade256.ini
  • ristretto.ini → ristretto256.ini
  • rose-pine.ini → rose-pine256.ini

3. Updated to fancy UTF-8 characters

All widget sections now use UTF-8 symbols consistent with other 256-color skins:

  • Arrow symbols (↑↓◀▶) for navigation
  • Bullet symbols (•○) for hidden files
  • Angle brackets (‹›) for history navigation
  • Special brackets (❬❭) for filename scrolling
  • Box drawing characters (■▒) for scrollbars
  • Special symbols (↕✕) for window controls

The Makefile.am has also been updated to reflect the new filenames. All skins now follow the established conventions for 256-color themes.

rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 9, 2025
- catppuccin-latte.ini: Fixed dhotfocus and changedline with same fg/bg colors
- catppuccin.ini: Fixed editlinestate and changed with same fg/bg colors
- tokyo-night.ini: Fixed changedline with same fg/bg colors

These changes address the visibility issues identified in PR MidnightCommander#4775 review
where text was invisible due to identical foreground and background colors.
rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 9, 2025
- Fixed invisible text in catppuccin-latte menu sections by adjusting background colors
- Fixed low contrast in catppuccin editor and diffviewer sections
- Addresses PR MidnightCommander#4775 review comments about non-contrast colors
@rafaelvzago
Copy link
Author

rafaelvzago commented Oct 9, 2025

First of all, thank you for the contribution! Cheers to Jindrich N. if you happen to work with him :)

I haven't tried these skins live, but I have checked them quickly for non-contrast colors with our new skin browser:

https://skins.midnight-commander.org

I would otherwise complain about the colors, because my understanding is that these are color schemes that are used like that in other software and people like them, so they should be taken as is. But invisible text somehow I think it better be addressed.

I think most skins are unproblematic, but I have found two exceptions. Could you please find a tweak that works?

Also, a general question: you have added a test plan in the PR. Did you actually perform it?

Screenshot From 2025-10-09 11-43-52 Screenshot From 2025-10-09 11-43-32

Does this changes address the contrast?

@rafaelvzago rafaelvzago requested a review from zyv October 9, 2025 16:07
rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 9, 2025
- catppuccin-latte.ini: Fixed dhotfocus and changedline with same fg/bg colors
- catppuccin.ini: Fixed editlinestate and changed with same fg/bg colors
- tokyo-night.ini: Fixed changedline with same fg/bg colors

These changes address the visibility issues identified in PR MidnightCommander#4775 review
where text was invisible due to identical foreground and background colors.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 9, 2025
- Fixed invisible text in catppuccin-latte menu sections by adjusting background colors
- Fixed low contrast in catppuccin editor and diffviewer sections
- Addresses PR MidnightCommander#4775 review comments about non-contrast colors

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Copy link
Member

@zyv zyv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Rafael, thanks for getting back to us!

It's always nice when submitters adjust the PRs and don't disappear after the first comment, as it unfortunately often happens.

I think the contrast is now good for the main parts. I'm still not very happy about the diff viewer in some skins:

catppuccin

Image

matte-black

Image

osaka-jade

Image

ristretto

Image

rose-pine

Image

tokyo-night

Image

Is there any chance you can adjust those to be a bit less toxic / have more contrast?

I know that diff viewer is by far not the most used part of mc, but I really like your work and it would be great if the skins look uniformly good...

@rafaelvzago
Copy link
Author

Hi! Thank you so much for the detailed feedback and the kind words about the work! I really appreciate you taking the time to review these skins thoroughly.
You were absolutely right about the diff viewer colors - they definitely needed improvement. I've just pushed several rounds of fixes that address the contrast and "toxic" color issues:

What I've fixed:

  • Round 1: Initial contrast improvements, reducing brightness
  • Round 2: Further reduced background vibrancy using very dark colors (color16-23 range)
  • Round 3: Maximized contrast with bright white text (color255) on dark backgrounds
  • Round 4: Special attention to Catppuccin - now uses colored text on consistently dark backgrounds for optimal readability

The new approach:

  • All diff viewer backgrounds now use very dark, non-toxic colors (color232-235 range)
  • Text uses bright, distinct colors to differentiate diff types:
    • Green text for additions
    • Red/pink text for deletions
    • Cyan text for changes
  • This provides maximum contrast while maintaining clear visual distinction between different types of changes

I've tested all the skins locally and the diff viewer is now much more pleasant to use - no more eye-straining bright backgrounds! The contrast should be excellent across all the modern skins while still preserving each theme's unique identity.

Thank you again for your patience and constructive feedback. It's reviewers like you who help make open source projects better! Please let me know if there's anything else that needs adjustment.

Best regards,

Rafael

rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 10, 2025
- catppuccin-latte.ini: Fixed dhotfocus and changedline with same fg/bg colors
- catppuccin.ini: Fixed editlinestate and changed with same fg/bg colors
- tokyo-night.ini: Fixed changedline with same fg/bg colors

These changes address the visibility issues identified in PR MidnightCommander#4775 review
where text was invisible due to identical foreground and background colors.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
rafaelvzago added a commit to rafaelvzago/mc that referenced this pull request Oct 10, 2025
- Fixed invisible text in catppuccin-latte menu sections by adjusting background colors
- Fixed low contrast in catppuccin editor and diffviewer sections
- Addresses PR MidnightCommander#4775 review comments about non-contrast colors

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
@rafaelvzago rafaelvzago requested a review from zyv October 10, 2025 12:51
zyv pushed a commit to rafaelvzago/mc that referenced this pull request Oct 11, 2025
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob
Copy link
Contributor

Rebased your changes on top of color handling and line drawing improvements (e.g. true colors and double lines now supported with ncurses build).

Added two new keywords per skin, according to #3160 / PR #4907.

egmontkob pushed a commit to rafaelvzago/mc that referenced this pull request Dec 15, 2025
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob
Copy link
Contributor

Rebased to go on top of #4931 / PR #4932.

Updated the skins to add the new keywords introduced there.

@mc-worker
Copy link
Contributor

/rebase

mc-butler pushed a commit to rafaelvzago/mc that referenced this pull request Dec 27, 2025
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob egmontkob force-pushed the add-modern-mc-skins branch from c171044 to ea820be Compare January 6, 2026 13:23
egmontkob pushed a commit to rafaelvzago/mc that referenced this pull request Jan 6, 2026
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob
Copy link
Contributor

Another rebase and update, this time for #3531 / PR #4938.

The newly introduced viewboldunderline was copied from viewbold. You're free to give them new color values.

As a side note, similarly to #4775 (comment), I'd appreaciate if more skins used bold and underline for what was originally intended to be bold and underlined, rather than (or in addition to) different colors. But I leave this decision to the skin authors.

@egmontkob egmontkob force-pushed the add-modern-mc-skins branch from ea820be to 2d900b2 Compare January 11, 2026 16:30
egmontkob pushed a commit to rafaelvzago/mc that referenced this pull request Jan 11, 2026
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob
Copy link
Contributor

The newly introduced viewboldunderline was copied from viewbold. You're free to give them new color values.

Really did that this time.

egmontkob pushed a commit to rafaelvzago/mc that referenced this pull request Jan 18, 2026
…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob egmontkob force-pushed the add-modern-mc-skins branch from 2d900b2 to ad4f689 Compare January 18, 2026 09:11
@egmontkob
Copy link
Contributor

Yet another rebase and update, this time change [Lines] to [lines] as per issue #4954 / PR #4955.

…r mc

Add contemporary color schemes including Catppuccin (latte/mocha),
Everforest, Gruvbox, Kanagawa, Nord, Rose Pine, Tokyo Night, and
others. Update Makefile.am to include new skin files in distribution.

Signed-off-by: Rafael Zago <rafaelvzago@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
@egmontkob egmontkob force-pushed the add-modern-mc-skins branch from ad4f689 to cb77953 Compare February 6, 2026 10:37
@egmontkob
Copy link
Contributor

Another rebase and update, this time to add [filehighlight]/_default_.

@egmontkob
Copy link
Contributor

@rafaelvzago I'm wodering, are you planning to return to this issue and address the feedbacks?

For the time being, I keep updating these skins according to upstream changes. But I won't do this endlessly.

As far as I recall, the main criticized points were:

  • Poor contrast, poor readability at many places
  • Choice of color (or rather: probably accidentally leftover) at many places that really don't match the skin's overall look
  • Themes named after meticulously crafted 3rd party color palettes use approximations of those colors rather than the exact values

but by all means refer to the detailed conversation, there might be more.


Back to the issue of exact colors for a second:

Since you started to work on these, truecolor support landed also for mc's ncurses build. Most of the graphical terminals do support them nowadays (and there are some that don't, but at least recognize the sequences and approximate to the nearest entry of the 256-color palette – make sure you're not using one of these for testing). You shouldn't worry about and shouldn't be held back by technical limitations; accurate representation of these colors, and harmony with non-terminal-based apps using the same palettes should be more important.

I'd also like to draw your attention to the alias feature of skin files. It might help a lot while developing and fine-tuning these skins to define aliases using the palette author's chosen names, and later on rely on those names rather than having to repeat the exact RGB color. E.g.:

# Catppuccin Latte
[aliases]
    Rosewater = #dc8a78
    Subtext1 = #5c5f77
[core]
    _default_ = Subtext1;Rosewater

Maybe you could even end up with a set of 4 cappuccin, or 3 rose-pine etc. skins that only differ in the alias definitions of these colors, according to how these theme variations are defined by their designer.


There's also a new and up-to-date README.txt next to the skins in the source, and the online skin editor has also been revamped (although it still doesn't showcase many of the colors, this still needs to be improved).


@zyv @mc-worker I don't know what's your take on this, and if you care about such formality; you've both approved this change, but I think they do need more work to be accepted; I'd revoke those approvals for now.

@zyv zyv dismissed stale reviews from mc-worker and themself February 6, 2026 12:00

Obsolete

@zyv
Copy link
Member

zyv commented Feb 6, 2026

@zyv @mc-worker I don't know what's your take on this, and if you care about such formality; you've both approved this change, but I think they do need more work to be accepted; I'd revoke those approvals for now.

I've dismissed both reviews as obsolete for now.

@zyv
Copy link
Member

zyv commented Feb 6, 2026

@rafaelvzago I'm wodering, are you planning to return to this issue and address the feedbacks?

For the time being, I keep updating these skins according to upstream changes. But I won't do this endlessly.

I think it's very unfortunate that the author apparently has lost interest in the PR. I very much like the idea of having a modern set of skins based on widely accepted color palettes. As you mention, it would be particularly awesome to have much more True Color skins, of which we only have your demo skins right now. It also makes developing these skins easier, because as you said, we can directly use "official" colors.

On the other hand, I'm very much suffering to accept a large amount of skins with known and obvious contrast problems / toxic color combinations that can be easily avoided. It feels to me much more like a disservice to the users and at the moment I'd be more inclined to let it rot if nobody cares about it rather than just merge it as is.

To top it off, there is no chance I can make time to fix this myself... or else we'll never see a release at all.

@egmontkob
Copy link
Contributor

I'd be more inclined to let it rot if nobody cares about it rather than just merge it as is.

Yup, that's my take, too.

there is no chance I can make time to fix this myself

It's not just about time. It's about anyone else not having the same artistic vision as the original author. It's the kind of task that even if I had infinite amount of time, I'd prefer the original author to complete.

That being said, time is also an issue. Developing a good skin takes a lot of time.

I'm still hoping OP will come back one day and continue the work – these are really promising skins!

@zyv
Copy link
Member

zyv commented Feb 6, 2026

there is no chance I can make time to fix this myself

It's not just about time. It's about anyone else not having the same artistic vision as the original author. It's the kind of task that even if I had infinite amount of time, I'd prefer the original author to complete.

Well, I think it's a bit less critical in this particular case, if we define the goal to skin mc in those widely used palettes. Of course, it still leaves a lot of room for individual artistic vision, but there are many existing skins for other software that one can take inspiration from.

@egmontkob
Copy link
Contributor

I think it's a bit less critical in this particular case

If the original author doesn't but someone else does come along and completes these skins, I'd be happy to see them land!

(I guess I shouldn't have mentioned the artistic vision side of the story, and I also worded it poorly: I personally would prefer not to do this for this reason, but if someone else does, I'm fine. Sorry for this tiny bit of unnecessary confusion.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: skin Theming support and skin files prio: medium Has the potential to affect progress

Development

Successfully merging this pull request may close these issues.

4 participants