Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronize RGB Hex values from official Nord palette #16

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

ericvw
Copy link

@ericvw ericvw commented Mar 27, 2023

Align the ANSI and other iTerm2 colors to the Nord color palette.

The following values have changed in the iTerm2 Settings > Profiles >
Colors panel, noting changes in colors:

Basic Colors
------------
- Foreground    (nord4): #d8dde8 -> #d8dee9
- Background    (nord0): #2e333f -> #2e3440
- Bold          (nord6): #eceef3 -> #eceff4
- Links         (nord5): #e5e8ef -> #e5e9f0
- Selection     (nord2): #4c5569 -> #434c5e
                         (nord3) -> (nord2)
- Selected text (nord4): #d8dde8 -> #d8dee9
- Tab color     (nord1): #3b4151 -> #3b4252

Cursor Colors
-------------
- Cursor       (nord4): #d8dde8 -> #d8dee9
- Cursor text  (nord1): #3b4151 -> #3b4252
- Cursor guide (nord2): #3b4151 -> #434c5e
                        (nord1)    (nord2)

ANSI Colors
-----------
- Normal Black     (nord1): #3b4151  -> #3b4252
- Bright Black     (nord3): #4c5569  -> #4c566a
- Normal Red      (nord11): #be6069  -> #bf616a
- Bright Red      (nord11): #be6069  -> #bf616a
- Normal Green    (nord14): #a3bd8b  -> #a3be8c
- Bright Green:   (nord14): #a3bd8b  -> #a3be8c
- Normal Yellow:  (nord13): #ebca8a  -> #ebcb8b
- Bright Yellow:  (nord12): #ebca8a  -> #d08770
                            (nord13)    (nord12)
- Normal Blue:     (nord9): #81a0c0  -> #81a1c1
- Bright Blue:    (nord10): #81a0c0  -> #5e81ac
                            (nord9)     (nord10)
- Normal Magenta: (nord15): #b48dac  -> #b48ead
- Bright Magenta: (nord15): #b48dac  -> #b48ead
- Normal Cyan:     (nord8): #88bfcf  -> #88c0d0
- Bright Cyan:     (nord7): #8fbbba  -> #8fbcbb
- Normal White:    (nord5): #e5e8ef  -> #e5e9f0
- Bright White:    (nord6): #eceef3  -> #eceff4

The text selection and cursor guide uses nord2 now to align with
"currently active text editor line as well as selection."

Bright Blue uses nord10, the next accent level, for tertiary UI
elements. Using nord12 may be a stretch for Bright Yellow. With both
these changes, all of Frost and Aurora are available.

Closes: #15

@ericvw ericvw requested a review from svengreb as a code owner March 27, 2023 01:40
@ericvw
Copy link
Author

ericvw commented Mar 27, 2023

I noticed the change from "Calibrated" to "sRGB" in the diff, which caused me to research this further.

According to mbadolato/iTerm2-Color-Schemes#349 (comment), the maintainer of iTerm2 recommends sRGB (P3 is not available until iTerm 3.5). Leaving it unspecified or explicitly "Calibrated" is device-specific, which may render differently on other users' displays. By keeping it sRGB and having the RGB Hex values match, each display can calibrate against the sRGB standard values as needed.

@ericvw ericvw marked this pull request as draft March 27, 2023 19:54
@ericvw ericvw force-pushed the sync-rgbhex branch 3 times, most recently from 923c521 to b58fc5d Compare March 27, 2023 20:53
@ericvw ericvw marked this pull request as ready for review March 27, 2023 20:53
@ericvw
Copy link
Author

ericvw commented Mar 27, 2023

I've updated the commit and included the text in the PR description to describe the details of the changes to help facilitate review and discussion.

@ericvw
Copy link
Author

ericvw commented Mar 27, 2023

nordtheme-iterm2-aligned

Here is what the iTerm2 Colors settings look like with the changes in this PR.

@ericvw ericvw force-pushed the sync-rgbhex branch 8 times, most recently from 7265fa2 to 991bff9 Compare March 27, 2023 21:20
@svengreb svengreb self-assigned this Apr 2, 2023
@svengreb svengreb added this to the version-next milestone Apr 2, 2023
@svengreb
Copy link
Member

svengreb commented Apr 2, 2023

Hi @ericvw 👋, thanks for your contribution and the very detailed PR description and research 👍

I could vaguely remember the topic about the color space (sRGB vs. Calibrated) and found a comment from myself in PR #8, which is still open.
Based on your research I'll revisit my findings about this topic, but the arguments of the iTerm2 author himself that you linked to is more or less the best source 😄

I'll review this PR as soon as nordtheme/nord#185 is completed which has the most priority right now to finalize the nordtheme organization migration as finally retire Arctic Ice Studio as Nord and personal brand.

Align the ANSI and other iTerm2 colors to the Nord color palette.

The following values have changed in the iTerm2 Settings > Profiles >
Colors panel, noting changes in colors:

Basic Colors
------------
- Foreground    (nord4): #d8dde8 -> #d8dee9
- Background    (nord0): #2e333f -> #2e3440
- Bold          (nord6): #eceef3 -> #eceff4
- Links         (nord5): #e5e8ef -> #e5e9f0
- Selection     (nord2): #4c5569 -> #434c5e
                         (nord3) -> (nord2)
- Selected text (nord4): #d8dde8 -> #d8dee9
- Tab color     (nord1): #3b4151 -> #3b4252

Cursor Colors
-------------
- Cursor       (nord4): #d8dde8 -> #d8dee9
- Cursor text  (nord1): #3b4151 -> #3b4252
- Cursor guide (nord2): #3b4151 -> #434c5e
                        (nord1)    (nord2)

ANSI Colors
-----------
- Normal Black     (nord1): #3b4151  -> #3b4252
- Bright Black     (nord3): #4c5569  -> #4c566a
- Normal Red      (nord11): #be6069  -> #bf616a
- Bright Red      (nord11): #be6069  -> #bf616a
- Normal Green    (nord14): #a3bd8b  -> #a3be8c
- Bright Green:   (nord14): #a3bd8b  -> #a3be8c
- Normal Yellow:  (nord13): #ebca8a  -> #ebcb8b
- Bright Yellow:  (nord12): #ebca8a  -> #d08770
                            (nord13)    (nord12)
- Normal Blue:     (nord9): #81a0c0  -> #81a1c1
- Bright Blue:    (nord10): #81a0c0  -> #5e81ac
                            (nord9)     (nord10)
- Normal Magenta: (nord15): #b48dac  -> #b48ead
- Bright Magenta: (nord15): #b48dac  -> #b48ead
- Normal Cyan:     (nord8): #88bfcf  -> #88c0d0
- Bright Cyan:     (nord7): #8fbbba  -> #8fbcbb
- Normal White:    (nord5): #e5e8ef  -> #e5e9f0
- Bright White:    (nord6): #eceef3  -> #eceff4

The text selection and cursor guide uses nord2 now to align with
"currently active text editor line as well as selection."

Bright Blue uses nord10, the next accent level, for tertiary UI
elements. Using nord12 may be a stretch for Bright Yellow. With both
these changes, all of Frost and Aurora are available.
@sa7mon
Copy link

sa7mon commented Jun 9, 2023

Hi, can this be reviewed?

ericvw added a commit to ericvw/nordtheme-vim that referenced this pull request May 20, 2024
ericvw added a commit to ericvw/nordtheme-vim that referenced this pull request May 20, 2024
@clach04
Copy link

clach04 commented Aug 31, 2024

@ericvw I'm not an iTerm2 user (I don't have a Mac) but just wanted to say (belated) thank you for the clear PR and explanation text. This is useful for other terminal users.

You rock! 🏆

@clach04
Copy link

clach04 commented Sep 2, 2024

@ericvw I think the blue colors in your explanation are switched:

  • Normal Blue: (nord9): #81a0c0 -> #81a1c1
  • Bright Blue: (nord10): #81a0c0 -> #5e81ac
    (nord9) (nord10)

Taking your comments and placing them into Putty I get:

image

Switching the two blues I get:

image

Which I think is easier to read (see some of the directory names). Obviously, it's a personal opinion, so no wrong answers here :-). But thank you again for the notes.

@ericvw
Copy link
Author

ericvw commented Sep 3, 2024

@clach04, There is an interaction between the colors specified in the terminal emulator and those derived from dircolors, which affects the output of color-supported ls.

My attempt with the colors for iTerm2 was to have some differentiating colors between regular and bright blue; I don't have a strong opinion on which ones should be chosen. However, you bring up a good point that the terminal colors chosen should be in harmony with dircolors.

I believe my dircolors setup is based primarily on the Solarized project, which doesn't utilize many background colors for ls, which is why I have yet to come across blue text against a green background.

@clach04
Copy link

clach04 commented Sep 4, 2024

@ericvw yeah dir_colors is a whole minefield of its own, I've been putting off customizing this for a while :-)

When I'm assessing a theme for a terminal the first thing I check is text with pyshow_colors2.py script and then directory colors - before I get into tools like vim. It just so happened that the dircolors is what made be notice this initially

The big thing that convinced me they were reversed/switched was the little bar chart.

Here is the default Putty color scheme:

image

Note the bottom row is a lighter version of the darker top row.

For the Nord theme, blue is reversed:

image

@ericvw
Copy link
Author

ericvw commented Oct 11, 2024

@clach04, I revisited your idea of switching the normal and bright blue colors and gave this more thought.

It makes sense that the lighter version of the colors should be the bright variant — it makes logical sense.

However, when I switched the blue colors around, vim and neovim were incorrect because the Nordtheme ports expect nord9 to be normal blue. Otherwise, the guidance specified in https://www.nordtheme.com/docs/colors-and-palettes is broken.

While I agree in spirit that the blues should be switched, where nord9 is the bright blue variant, in practice, this seems like a more significant hurdle because all the other CLI Nordtheme ports would need to be updated accordingly to be in harmony with how the terminal colors are specified.

@clach04
Copy link

clach04 commented Oct 19, 2024

That makes total sense @ericvw , that would be a lot of other changes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: review
Development

Successfully merging this pull request may close these issues.

RGB Hex values don't match Nord palette values
4 participants