Bien que le fait que le terminal prenne désormais en charge la modification des couleurs ANSI soit un avantage, je trouve cela ennuyeux de pouvoir ajuster automatiquement les couleurs pour améliorer le contraste, ce qui signifie que les couleurs que je sélectionne finissent souvent par être estompées ou lavées d'une autre manière. . Voici une capture d'écran expliquant le problème:
Cela me dérange parce que j'aime utiliser le même jeu de couleurs dans Terminal et MacVim, et avec cette gestion des couleurs par Terminal, elles ne correspondent pas à celles de MacVim.
Est-ce que quelqu'un connaît une solution à ce problème, outre le passage à iTerm 2 (ce que je préférerais ne pas - j'aime le reste de Terminal, en particulier certaines touches de l'interface graphique telles que la cloche visuelle palpitante). Merci!
Réponses:
Voici le truc que vous devez savoir: les valeurs définies via RGB sont mutilées, pas celles définies via HSB.
J'avais un problème similaire en utilisant le jeu de couleurs Solarized (génial) : MacVim avait une couleur d'arrière-plan plus sombre (et correcte) que Terminal, même si je définissais toutes les valeurs RVB correctes conformément à la spécification Solarized. Vois ici:
En gros, vous devez savoir quelles sont les valeurs de couleur supposées être pour chacune des couleurs du terminal ANSI, du texte et de l'arrière-plan (notez que celui-ci est sous l'onglet Fenêtre), puis les définir via le sélecteur HSB au lieu de RVB. Voir cet exemple:
Pour une raison quelconque (je soupçonne un type de profil ou un ajustement du contraste que vous suggérez), la couleur RVB que vous entrez n'est pas celle que vous obtenez. Vous remarquerez également qu'une fois que vous avez défini les valeurs via HSB, le passage au sélecteur RVB affiche des options différentes de celles que vous attendez. Les conversions de valeurs Solarized s'accordent toutes selon Photoshop; cela semble être quelque chose que le sélecteur de couleur Apple fait pour vous.
la source
Device RGB
Désormais, les couleurs spécifiées par la valeur hexadécimale ne seront pas soumises à la conversion d'espace colorimétrique.
Dans Sierra, le sélecteur d’espace colorimétrique est devenu l’icône représentant un engrenage:
La source
la source
Les profils de couleurs sont certes importants, mais un autre problème se cache: Terminal.app illumine automatiquement les couleurs lorsqu'elles sont affichées sur l'arrière-plan par défaut. Voici, par exemple, les couleurs générées par Terminal.app exécutant le thème de couleur Solarized , mesuré avec DigitalColor Meter en mode sRGB et comparé aux valeurs canoniques Solarized sRGB.
Lorsqu'il est présenté sur un fond noir (ou de toute autre couleur), Terminal.app génère approximativement les couleurs correctes. toutefois, sur l'arrière-plan par défaut, toutes les couleurs, à l'exception du texte en gras par défaut et par défaut, sont beaucoup trop claires.
la source
Ouvrez les paramètres de fenêtre pour votre thème, modifiez la couleur d'arrière-plan, définissez le flou sur 0% et l'opacité sur 100%. Après cela, vos couleurs seront les mêmes que vous le souhaitez. Aussi, vous devriez vérifier chaque couleur que vous choisissez pour le texte pour ces paramètres.
la source
En bref: non, il n'y a pas de moyen supporté pour le désactiver.
Le terminal applique automatiquement un contraste minimum lors de l'affichage d'une couleur ANSI (ou d'un tableau 256 couleurs étendu) sur la couleur d'arrière-plan du terminal, ou lors de l'affichage de la couleur de fond / texte du terminal sur une couleur d'arrière-plan ANSI.
Cela se veut pratique, de sorte que l’on puisse définir une couleur d’arrière-plan ou d’avant-plan et les faire contraster avec les couleurs ANSI sans avoir à ajuster toutes les couleurs ANSI. Cela était particulièrement important dans les versions précédentes de Terminal, pour lesquelles la prise en charge des préférences ne permettait pas de personnaliser les couleurs ANSI.
Les anciennes versions de Terminal appliquaient le contraste minimum pour toutes les combinaisons de couleurs, ce qui signifiait par exemple que le texte ANSI rouge-sur-rouge pouvait être lisible, mais que certains programmes affichaient intentionnellement du texte avec la même couleur d'avant-plan et d'arrière-plan afin de le masquer. (pour afficher des astuces de jeu ou des lignes de frappe, par exemple). De ce fait, les versions les plus récentes de Terminal n’appliquent pas le contraste minimum lors de l’affichage d’une couleur ANSI sur une autre.
Désormais, plutôt que de simplement traiter le cas de la même couleur, Terminal évite d’appliquer le contraste minimum pour toutes les combinaisons de couleurs ANSI, car il est supposé que si l’utilisateur personnalise les couleurs ANSI, il les personnalise pour les contraster comme il convient. . Il est également supposé que ces utilisateurs ajusteront ou prendront en compte les couleurs d'arrière-plan et d'avant-plan du terminal afin de s'adapter au jeu de couleurs souhaité.
Si la solution de contournement consistant à utiliser des couleurs avec des espaces colorimétriques différents — suggérée dans une autre réponse — fonctionne, il est probable que le code de traitement des couleurs soit défectueux, ce qui est supposé fonctionner avec n'importe quelle couleur et peut ne plus fonctionner à l'avenir. quand ce bug est corrigé.
S'il est important pour vous de pouvoir désactiver ou ajuster explicitement le comportement de contraste minimum, nous vous recommandons de le faire savoir à Apple en déposant un rapport à l' adresse https://developer.apple.com/bug-reporting/ à l' aide de n'importe quel identifiant Apple.
la source