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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
@rafaelvzago rafaelvzago requested a review from zyv October 10, 2025 12:51
…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 <[email protected]>
Signed-off-by: Yury V. Zaytsev <[email protected]>
@zyv zyv force-pushed the add-modern-mc-skins branch from d9f6bde to 7a7a94e Compare October 11, 2025 08:27
@zyv zyv requested a review from aborodin October 11, 2025 08:28
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 your latest changes - I’ve quickly tested them and I think that the diff viewer looks fantastic now!

There are a few individual colors that are still a bit “bleedy” in one or the other skins, but I think at this point it amounts much more to the matter of taste and I don’t want to plague you with endless change requests. Maybe if someone is unsatisfied, better individual colors can be suggested. If you’re having fun though and would really like to bring it to perfection, I would try to make some time to make screenshots to illustrate what I found. Just let me know. Otherwise, I’m happy to commit it as is.

And to pat you back on your shoulder, it’s the contributors like you that are still making the open source work fun and satisfying… ;-)

P.S. I’ve squashed everything so far, amended the commit message, and signed off on the commit, so beware of a force push into your branch.

All the best,
Yury

@mc-worker mc-worker removed the request for review from aborodin October 11, 2025 09:11
@zyv
Copy link
Member

zyv commented Oct 18, 2025

@rafaelvzago I have finally managed to go through all the skins again and record the remaining colors that, in my opinion, are still unfortunate. Please let me know if you would still like to do something about that, or if you've had enough criticism and just want it merged now... I think that the skins now look really good, just my perfectionist self would really like to remove the last traces of the toxic / non-contrast colors :)

catppuccin256.ini

Screenshot 2025-10-18 at 10 52 12

catppuccin-latte256.ini

Screenshot 2025-10-18 at 10 55 38

kanagawa256.ini

Screenshot 2025-10-18 at 10 58 51

matte-black256.ini

Screenshot 2025-10-18 at 11 00 28

osaka-jade256.ini

Screenshot 2025-10-18 at 11 02 16

rose-pine256.ini

Screenshot 2025-10-18 at 11 03 37

tokyo-night256.ini

Screenshot 2025-10-18 at 11 03 37

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