wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
17.7k stars 790 forks source link

Color management on the Mac #5824

Closed MetroWind closed 1 month ago

MetroWind commented 3 months ago

Is your feature request related to a problem? Please describe.

On the Mac, when using a monitor that is not sRGB (and have a ICC profile configured in the OS that is not sRGB), the color produced in wezterm is different from that in color-managed programs (basically all other programs on the Mac, including the OS itself). For example I can take #2ecc71, which is just some random color from https://flatuicolors.com/palette/defo. The following screenshot compares the rendering of this color in the browser and in wezterm.

test

Note that in order to display the difference on the web, I have "scaled" the color of the screenshot into sRGB. The point is that they are different. The command I used to display #2ecc71 in the terminal is echo -e "\033[48;2;46;204;113m#2ecc71\n#2ecc71\033[0m"

I could use the color meter app in the OS to validate that they are indeed different. The color in the browser ends up to be #30cc71. It's not exactly #2ecc71 because the ICC profile is not accurate. In order to render that, the color that the OS asks the monitor to display is #71c77a. This is the correct behavior. However if I point the color meter to wezterm, it shows that the color that the OS tells the monitor to display is exactly #2ecc71, which seems to indicate that wezterm has bypassed the OS color management, and the color ends up wrong (because, again, the monitor is not sRGB).

Describe the solution you'd like

Add color management to display the colors correctly.

Describe alternatives you've considered

Additional context

I have only tried Mac. I don’t have a lot of experience working with colors in Windows and Linux.

maxpetretta commented 2 months ago

to further illustrate, here is a side-by-side of alacritty (left) and wezterm (right). both are configured to use monokai pro, and are noticeably different

CleanShot 2024-08-13 at 23 12 40@2x

github-actions[bot] commented 3 weeks ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.