Walaupun hebat bahwa Terminal sekarang memiliki dukungan bawaan untuk mengubah warna ANSI, saya merasa menjengkelkan karena secara otomatis menyesuaikan warna untuk meningkatkan kontras, yang berarti warna yang saya pilih sering berakhir dengan hanyut atau tidak aktif dengan cara lain . Berikut screenshot yang menjelaskan masalahnya:
Ini mengganggu saya karena saya suka menggunakan skema warna yang sama di Terminal dan MacVim, dan dengan penanganan warna oleh Terminal ini, mereka tidak cocok dengan yang ada di MacVim.
Apakah ada yang tahu solusi untuk ini, selain beralih ke iTerm 2 (yang saya lebih suka tidak - saya suka sisa Terminal, terutama beberapa sentuhan GUI seperti bel visual yang berdenyut). Terima kasih!
Jawaban:
Inilah trik yang perlu Anda ketahui: Nilai yang ditetapkan melalui RGB hancur, yang ditetapkan melalui HSB tidak.
Aku punya masalah yang sama dengan menggunakan (besar) Solarized skema warna: MacVim memiliki lebih gelap (dan benar) warna latar belakang dari Terminal, meskipun saya sedang menyiapkan semua nilai RGB yang benar per spec Solarized. Lihat disini:
Pada dasarnya Anda perlu tahu apa nilai warna Anda seharusnya untuk masing-masing Terminal ANSI, teks, dan Latar Belakang (perhatikan yang ini ada di tab Window) warna dan kemudian atur melalui pemetik HSB alih-alih RGB. Lihat contoh ini:
Untuk alasan apa pun (saya menduga ada beberapa jenis profil, atau mungkin tweak kontras seperti yang Anda sarankan), warna RGB yang Anda masukkan bukanlah yang Anda dapatkan. Anda juga akan melihat bahwa setelah Anda menetapkan nilai melalui HSB, beralih ke pemilih RGB akan menampilkan opsi yang berbeda dari yang Anda harapkan. Konversi nilai Solarized semua setuju sesuai dengan Photoshop; tampaknya menjadi sesuatu yang pemilih warna Apple lakukan untuk Anda.
sumber
Device RGB
Sekarang warna yang ditentukan oleh nilai hex tidak akan dikenai konversi ruang warna.
Di Sierra, color space picker telah berubah menjadi ikon roda gigi:
Sumber
sumber
Profil warna jelas penting, tetapi ada masalah lain yang mengintai di sini: Terminal.app secara otomatis mencerahkan warna apa pun saat ditampilkan di atas latar belakang default. Di sini, misalnya, adalah keluaran warna oleh Terminal.app menjalankan tema warna Solarized , yang diukur dengan DigitalColor Meter dalam mode sRGB, dan dibandingkan dengan nilai sRGB Solarized kanonik.
Ketika disajikan di atas latar belakang hitam (atau warna lain), Terminal.app menghasilkan kira-kira warna yang benar; namun, pada latar belakang default, semua warna kecuali teks tebal default dan standar secara substansial terlalu cerah.
sumber
Buka pengaturan Window untuk tema Anda, beralih warna latar belakang, atur blur ke 0% dan Opacity menjadi 100%. Setelah ini warna Anda akan sama seperti yang Anda inginkan. Anda juga harus memeriksa setiap warna yang Anda pilih untuk parameter ini.
sumber
Singkatnya: tidak, tidak ada cara yang didukung untuk menonaktifkan ini.
Terminal secara otomatis menerapkan kontras minimum ketika menampilkan warna ANSI (atau tabel 256 warna) pada warna latar terminal, atau ketika menampilkan warna foreground / teks terminal pada warna latar ANSI.
Ini dimaksudkan sebagai kenyamanan, sehingga seseorang dapat mengatur warna latar belakang atau latar depan dan membuatnya kontras dengan warna ANSI tanpa harus menyesuaikan semua warna ANSI. Ini sangat penting dalam versi Terminal sebelumnya, yang tidak memiliki dukungan Preferensi untuk menyesuaikan warna ANSI.
Versi lama dari Terminal menerapkan kontras minimum untuk semua kombinasi warna, tetapi itu berarti bahwa, misalnya, teks merah-on-merah ANSI dapat dibaca, tetapi beberapa program sengaja menampilkan teks dengan warna foreground dan background yang sama untuk menyembunyikannya (untuk menampilkan petunjuk permainan atau lelucon, misalnya). Karena itu, versi Terminal yang lebih baru tidak menerapkan kontras minimum ketika menampilkan satu warna ANSI di atas yang lain.
Sekarang, daripada hanya menangani case dengan warna yang sama, Terminal menghindari penerapan kontras minimum untuk semua kombinasi warna ANSI, karena diasumsikan bahwa jika pengguna mengkustomisasi warna ANSI apa pun, mereka akan menyesuaikan semuanya untuk kontras satu sama lain seperti yang diinginkan . Juga diasumsikan bahwa para pengguna akan menyesuaikan atau memperhitungkan latar belakang terminal dan warna foreground agar sesuai dengan skema warna yang diinginkan.
Jika solusi menggunakan warna dengan ruang warna berbeda — disarankan dalam jawaban lain — bekerja, kemungkinan besar bergantung pada bug dalam kode penanganan warna, yang seharusnya bekerja dengan warna apa saja, dan mungkin berhenti bekerja di masa depan ketika bug itu diperbaiki.
Jika dapat secara eksplisit menonaktifkan atau menyesuaikan perilaku kontras minimum penting bagi Anda, saya sarankan memberi tahu Apple dengan mengajukan laporan di https://developer.apple.com/bug-reporting/ menggunakan ID Apple apa pun.
sumber