Es ist zwar großartig, dass das Terminal jetzt eine integrierte Unterstützung für das Ändern der ANSI-Farben bietet, aber ich finde es ärgerlich, dass die Farben automatisch angepasst werden, um den Kontrast zu verbessern, was bedeutet, dass die Farben, die ich tatsächlich auswähle, häufig verwaschen oder auf andere Weise verwaschen werden . Hier ist ein Screenshot, der das Problem erklärt:
Das stört mich, weil ich in Terminal und MacVim gerne dasselbe Farbschema verwende und bei dieser Behandlung von Farben durch Terminal nicht mit denen in MacVim übereinstimmen.
Kennt jemand eine Lösung für dieses Problem, außer auf iTerm 2 umzusteigen (was ich lieber nicht möchte - ich mag den Rest des Terminals, insbesondere einige GUI-Berührungen wie die pulsierende visuelle Glocke)? Vielen Dank!
Antworten:
Hier ist der Trick, den Sie kennen müssen: Die über RGB eingestellten Werte werden entstellt, die über HSB eingestellten nicht.
Ich hatte ein ähnliches Problem mit dem (großartigen) Solarized- Farbschema: MacVim hatte eine dunklere (und korrekte) Hintergrundfarbe als Terminal, obwohl ich alle korrekten RGB-Werte gemäß der Solarized-Spezifikation festgelegt hatte. Siehe hier:
Grundsätzlich müssen Sie wissen , was Ihre Farbwerte sein soll für jeden der Terminal - ANSI, Text und Hintergrund (beachten Sie, das eine auf der Registerkarte Fenster ist) Farben und sie dann über den HSB - Picker statt RGB eingestellt. Siehe dieses Beispiel:
Aus welchem Grund auch immer (ich vermute eine Art Profil, oder vielleicht eine Kontrasteinstellung, wie Sie vorschlagen), ist die RGB-Farbe, die Sie eingeben, nicht die, die Sie erhalten. Sie werden auch feststellen, dass nach dem Festlegen der Werte über HSB beim Wechsel zur RGB-Auswahl andere Optionen als erwartet angezeigt werden. Die Solarized-Wertumrechnungen stimmen alle mit Photoshop überein. Es scheint etwas zu sein, das der Apple Color Picker für Sie erledigt.
quelle
Device RGB
Jetzt werden die durch den Hex-Wert angegebenen Farben nicht mehr der Farbraumkonvertierung unterzogen.
In Sierra wurde der Farbraumwähler in das Zahnradsymbol geändert:
Quelle
quelle
Farbprofile sind auf jeden Fall wichtig, aber hier lauert ein weiteres Problem: Terminal.app hellt automatisch alle Farben auf, wenn sie über dem Standardhintergrund angezeigt werden. Hier sind zum Beispiel die von Terminal.app ausgegebenen Farben aufgeführt , die das Farbschema Solarisiert ausführen , das mit dem DigitalColor Meter im sRGB-Modus gemessen und mit den kanonischen sRGB-Werten für Solarisiert verglichen wurde.
Wenn Terminal.app über einem schwarzen Hintergrund (oder einer anderen Farbe) dargestellt wird, werden ungefähr die richtigen Farben erzeugt. Auf dem Standardhintergrund sind jedoch alle Farben mit Ausnahme des Standard- und des Standard-Fettdrucks wesentlich zu hell.
quelle
Öffnen Sie die Fenstereinstellungen für Ihr Thema, schalten Sie die Hintergrundfarbe um, setzen Sie Unschärfe auf 0% und Deckkraft auf 100%. Danach sind Ihre Farben so, wie Sie möchten. Außerdem sollten Sie für diese Parameter jede Farbe, die Sie für den Text auswählen, überprüfen.
quelle
Kurz gesagt: Nein, es gibt keine unterstützten Mittel, um dies zu deaktivieren.
Das Terminal wendet automatisch einen Mindestkontrast an, wenn eine ANSI-Farbe (oder eine erweiterte 256-Farben-Tabelle) auf der Hintergrundfarbe des Terminals angezeigt wird oder wenn die Vordergrund- / Textfarbe des Terminals auf einer ANSI-Hintergrundfarbe angezeigt wird.
Dies soll eine Annehmlichkeit sein, so dass man eine Hintergrund- oder Vordergrundfarbe einstellen und sie mit den ANSI-Farben kontrastieren kann, ohne alle ANSI-Farben anpassen zu müssen. Dies war besonders in früheren Versionen von Terminal wichtig, in denen keine Unterstützung für Voreinstellungen zum Anpassen der ANSI-Farben vorhanden war.
In älteren Versionen von Terminal wurde der Mindestkontrast für alle Farbkombinationen angewendet. Dies bedeutete jedoch, dass z. B. ANSI-Rot-auf-Rot-Text lesbar war. Einige Programme zeigen jedoch absichtlich Text mit derselben Vordergrund- und Hintergrundfarbe an, um ihn auszublenden (Zum Beispiel zum Anzeigen von Spieltipps oder Witzpointen). Aus diesem Grund wenden neuere Versionen von Terminal nicht den Mindestkontrast an, wenn eine ANSI-Farbe auf einer anderen angezeigt wird.
Anstatt nur den gleichen Farbfall zu behandeln, vermeidet das Terminal die Anwendung des Mindestkontrasts für alle Kombinationen von ANSI-Farben, da davon ausgegangen wird, dass der Benutzer alle ANSI-Farben so anpasst, dass sie wie gewünscht miteinander kontrastieren . Es wird auch angenommen, dass diese Benutzer die Hintergrund- und Vordergrundfarben des Terminals anpassen oder berücksichtigen, um sie an das gewünschte Farbschema anzupassen.
Wenn die in anderen Antworten vorgeschlagene Problemumgehung für die Verwendung von Farben mit unterschiedlichen Farbräumen funktioniert, hängt dies wahrscheinlich von einem Fehler im Farbverarbeitungscode ab, der mit einer beliebigen Farbe funktionieren soll und möglicherweise in Zukunft nicht mehr funktioniert wenn dieser Fehler behoben ist.
Wenn es für Sie wichtig ist, das Verhalten bei minimalem Kontrast explizit zu deaktivieren oder anzupassen, empfehlen wir Ihnen, Apple darüber in Kenntnis zu setzen, indem Sie einen Bericht unter https://developer.apple.com/bug-reporting/ mit einer beliebigen Apple-ID einreichen .
quelle