Terminal.app cambiando mágicamente los valores de color [duplicar]

3

Terminal.app hace un cambio de color muy extraño que hace que sea imposible hacer coincidir los colores de manera consistente, y me pregunto si hay alguna forma de desactivarlo o controlarlo mejor. La "magia" es lo que muestra el color púrpura en lugar del azul, por ejemplo, incluso cuando el color del ansi para el tema se establece en azul claro.

Este comportamiento parece estar relacionado con la configuración del color de fondo ... la configuración de cualquier color de fondo (con la capacidad de establecer terminos) desactiva el cambio de color "mágico", mientras que un restablecimiento de atributo (sgr0) lo habilita nuevamente. >

Esta es mi prueba (establece el primer plano, imprime algunos bloques rellenos de Unicode, establece explícitamente el fondo en negro, imprime de nuevo):

b=$'\xE2\x96\x88' && bs=$b$b$b$b$b$b$b$b &&
  tput setaf 4 && echo -n "$bs" &&
  tput setab 0 && echo "$bs"

Con el tema predeterminado, se imprime púrpura (magia) y luego azul (ansi). Entonces, mi primer intento fue probar el color púrpura y actualizar las preferencias para usar ese color púrpura en lugar del azul ... todo debería ser coherente ahora, ¿verdad?

En la siguiente ejecución, obtengo un púrpura ligeramente más brillante y luego el púrpura al que ingresé. Al principio pensé que solo había puesto el color en el color incorrecto, pero al seguir iluminando la configuración de color para que coincida con lo que Terminal.app mostraba sin el fondo establecido explícitamente, la Terminal.app seguía haciéndose más brillante también - ¡Hasta el final hasta que fuera blanco!

A partir de esto, me parece que Terminal.app está escalando automáticamente los colores mostrados en el color de fondo predeterminado por algún factor, pero deja los colores en cualquier fondo establecido explícitamente solo; haciendo imposible que los dos colores coincidan (excepto el blanco y el negro).

FWIW, el fondo de la ventana está configurado en negro totalmente opaco.

¿Hay alguna manera de deshacerse de este comportamiento? Estoy pensando que esto es tal vez digno de informe de errores, pero tengo curiosidad por saber si hay algo que me falta.

    
pregunta danwyand 20.11.2014 - 18:12

1 respuesta

1

Para obtener el esquema de color correcto, el fondo debe declararse explícitamente dentro de LSCOLOR (gnu) o LS_COLOR (linux) y coincidir con el conjunto que no es ANSI en su Terminal.app (es decir, Ventana > Fondo > Color y efectos).

Entonces, algo como LSCOLORS=eadafafacafafacacaeaea funcionaría, mientras que algo como LSCOLORS=exdxfxfxcxfxfxcxcxexex no.

    
respondido por el John Doe 21.07.2015 - 22:34

Lea otras preguntas en las etiquetas