Si bien es genial que Terminal ahora tenga soporte incorporado para cambiar los colores ANSI, me resulta molesto que ajuste automáticamente los colores para mejorar el contraste, lo que significa que los colores que elijo a menudo terminan borrados o apagados de alguna otra manera . Aquí hay una captura de pantalla que explica el problema:
Esto me molesta porque me gusta usar el mismo esquema de color en Terminal y MacVim, y con este manejo de colores por Terminal, no coinciden con los de MacVim.
¿Alguien sabe de una solución a esto? ¡Gracias!
Respuestas:
Aquí está el truco que necesita saber: los valores establecidos a través de RGB se alteran, los establecidos a través de HSB no.
Tuve un problema similar al usar el (excelente) esquema de color Solarized : MacVim tenía un color de fondo más oscuro (y correcto) que Terminal, a pesar de que estaba configurando todos los valores RGB correctos según la especificación Solarized. Mira aquí:
Básicamente lo que necesita saber cuáles son sus valores de color supone que para cada una de la terminal ANSI, de texto y de fondo (tenga en cuenta que éste es en la pestaña de ventana) y luego los colores establecidos a través del selector HSB en lugar de RGB. Ver este ejemplo:
Por alguna razón (sospecho que hay algún tipo de perfil, o tal vez un ajuste de contraste como sugieres), el color RGB que ingresas no es el que obtienes. También notará que una vez que haya configurado los valores a través de HSB, cambiar al selector RGB mostrará opciones diferentes de lo que esperaría. Todas las conversiones de valor solarizado están de acuerdo con Photoshop; parece ser algo que el selector de color de Apple está haciendo por ti.
fuente
Device RGB
Ahora los colores especificados por el valor hexadecimal no estarán sujetos a la conversión del espacio de color.
En Sierra, el selector de espacio de color ha cambiado al ícono de ajustes:
Fuente
fuente
Los perfiles de color son definitivamente importantes, pero hay otro problema que acecha aquí: Terminal.app ilumina automáticamente cualquier color cuando se muestra sobre el fondo predeterminado. Aquí, por ejemplo, están los colores emitidos por Terminal.app ejecutando el tema de color Solarized , medido con DigitalColor Meter en modo sRGB, y comparado con los valores canónicos de sRGB Solarized.
Cuando se presenta sobre un fondo negro (o cualquier otro color), Terminal.app produce aproximadamente los colores correctos; sin embargo, en el fondo predeterminado, todos los colores excepto el texto en negrita predeterminado y predeterminado son sustancialmente demasiado brillantes.
fuente
Abra la configuración de la ventana para su tema, cambie el color de fondo, configure el desenfoque en 0% y la opacidad en 100%. Después de esto, sus colores serán los mismos que desee. También debe verificar cada color que elija para el texto de estos parámetros.
fuente
En resumen: no, no hay medios compatibles para desactivar esto.
El terminal aplica automáticamente un contraste mínimo al mostrar un color ANSI (o tabla extendida de 256 colores) en el color de fondo del terminal, o al mostrar el color de primer plano / texto del terminal en un color de fondo ANSI.
Esto está destinado a ser una conveniencia, para que uno pueda establecer un color de fondo o primer plano y hacer que contrasten con los colores ANSI sin tener que ajustar todos los colores ANSI. Esto fue especialmente importante en versiones anteriores de Terminal, que carecían de soporte de preferencias para personalizar los colores ANSI.
Las versiones anteriores de Terminal aplicaban el contraste mínimo para todas las combinaciones de colores, pero eso significaba que, por ejemplo, el texto ANSI rojo sobre rojo podría ser legible, pero algunos programas muestran texto intencionalmente con el mismo color de primer plano y fondo para ocultarlo. (por ejemplo, para mostrar sugerencias de juegos o frases de broma). Debido a eso, las versiones más recientes de Terminal no aplican el contraste mínimo cuando se muestra un color ANSI sobre otro.
Ahora, en lugar de solo abordar el caso del mismo color, Terminal evita aplicar el contraste mínimo para todas las combinaciones de colores ANSI, porque se supone que si el usuario personaliza cualquier color ANSI, los personalizará para contrastar entre sí según lo desee . También se supone que esos usuarios ajustarán o tendrán en cuenta el fondo del terminal y los colores de primer plano para adaptarse a su esquema de color deseado.
Si la solución de usar colores con diferentes espacios de color, sugeridos en otras respuestas, funciona, es probable que dependa de un error en el código de manejo del color, que se supone que funciona con cualquier color, y puede dejar de funcionar en el futuro cuando ese error se corrige.
Si es importante para usted deshabilitar o ajustar explícitamente el comportamiento de contraste mínimo, le recomiendo avisar a Apple presentando un informe en https://developer.apple.com/bug-reporting/ utilizando cualquier ID de Apple.
fuente