4 votes

Terminal.app changeant magiquement les valeurs des couleurs

Terminal.app effectue des changements de couleur très étranges qui rendent impossible une correspondance cohérente des couleurs, et je me demande s'il existe un moyen de le désactiver ou de mieux le contrôler. C'est cette "magie" qui fait que le violet s'affiche à la place du bleu, par exemple, même lorsque la couleur ansi du thème est définie sur le bleu ordinaire.

Ce comportement semble lié au réglage de la couleur de fond... le réglage de n'importe quelle couleur de fond (avec la capacité terminfo setab) désactive le décalage de couleur "magique", tandis qu'une réinitialisation de l'attribut (sgr0) le réactive.

Voici mon test (définit le premier plan, imprime quelques blocs remplis d'unicode, définit explicitement l'arrière-plan en noir, imprime à nouveau) :

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

Avec le thème par défaut, il imprime du violet (magic) puis du bleu (ansi). Donc, ma première tentative a été d'échantillonner la couleur violette, et de mettre à jour les préférences pour utiliser ce violet au lieu du bleu... tout devrait être cohérent maintenant, non ?

Au passage suivant, j'obtiens un violet légèrement plus vif, puis le violet que j'ai entré. Au début, j'ai pensé que j'avais mal entré la couleur, mais comme je continuais à éclaircir la couleur pour qu'elle corresponde à ce qu'affichait Terminal.app sans l'arrière-plan défini explicitement, le Terminal.app a continué à s'éclaircir aussi -- jusqu'à devenir blanc !

À partir de là, il me semble que Terminal.app met automatiquement à l'échelle les couleurs affichées sur l'écran de l'ordinateur. par défaut de la couleur d'arrière-plan par un certain facteur, mais il laisse les couleurs sur n'importe quel arrière-plan explicitement défini seules, ce qui rend impossible la correspondance des deux couleurs (sauf le blanc et le noir).

Pour information, l'arrière-plan de la fenêtre est réglé sur un noir totalement opaque.

Existe-t-il un moyen de se débarrasser de ce comportement ? Je pense que cela mérite un rapport de bogue, mais je suis curieux de savoir s'il y a quelque chose qui m'échappe.

0 votes

Il s'agit d'un duplicata de apple.stackexchange.com/q/29487/6883 . Voir ma réponse ici : apple.stackexchange.com/a/216159/6883 . En bref : non, vous ne pouvez pas désactiver ce comportement. Si la possibilité de contrôler ce comportement est importante pour vous, je vous recommande de le faire savoir à Apple en déposant un rapport à l'adresse suivante developer.apple.com/bug-reporting en utilisant n'importe quel identifiant Apple.

2voto

John Doe Points 46

Afin d'obtenir le bon schéma de couleurs, l'arrière-plan doit être explicitement déclaré dans LSCOLOR (gnu) ou LS_COLOR (linux) et correspondre à la couleur non-ANSI définie dans votre Terminal.app (c'est-à-dire Fenêtre > Arrière-plan > Couleur et effets).

Donc, quelque chose comme LSCOLORS=eadafafacafafacacaeaea fonctionnerait alors que quelque chose comme LSCOLORS=exdxfxfxcxfxfxcxcxexex ne le ferait pas.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X