Чи можна відключити автоматичне підстроювання терміналів кольорів у Леві?


35

Хоча чудово, що зараз у Terminal є вбудована підтримка для зміни кольорів ANSI, мені здається, що це дратує те, що він автоматично регулює кольори для поліпшення контрасту, а значить, кольори, які я насправді вибираю, часто закінчуються вимитими або вимитими якимись іншими способами . Ось скріншот, що пояснює проблему:

скріншот налаштувань кольору OS X Terminal.app

Це помиляє мене, тому що мені подобається використовувати однакову колірну гамму в Terminal та MacVim, і при такій обробці кольорів від Terminal вони не збігаються з тими в MacVim.

Хтось знає про рішення цього питання, окрім переходу на iTerm 2 (що я краще не хотів - мені подобається решта Terminal, особливо деякі дотики GUI, як пульсуючий візуальний дзвін). Спасибі!


1
Хороше запитання - здається, що також слід здійснити коригування для прозорості вікон, не
маючи на

@kopischke, регулювання мінімальної контрастності не враховує непрозорість кольору тла, якщо ви це маєте на увазі.
Кріс Пейдж

Це допоможе, якщо ви опублікуєте скріншот із зображенням очікуваних кольорів на чорному тлі. Число осторонь, я не можу реально побачити різницю між кольоровими зразками у вікні налаштувань та кольорами тексту в терміналі на екрані екрана, тому важко сказати, наскільки істотна різниця.
Кріс Пейдж

Тепер я знаю, чому я зневажаю OS X. Я втратив 6 годин, намагаючись з'ясувати, чому кольорову схему, розроблену на Linux, було перетворено на Mac мого друга - я підозрював проблеми з перетворенням кольорового простору (sRGB проти Apple RGB), але Я б ніколи не здогадувався, що це вина терміналу ... Дякую за підтвердження свого діагнозу.
Jan Warchoł

Поза темою, але iTerm2 дозволяє вам мати візуальний дзвінок, що торкається. Налаштування> Додатково> Візуальний дзвінок блимає на весь екран, а не лише на значок дзвоника.
користувач2551

Відповіді:


23

Ось хитрість, яку вам потрібно знати: значення, встановлені через RGB, піддаються збиткові, а ті, які встановлюються через HSB, не роблять.

У мене була подібна проблема із використанням (чудової) соляризованої кольорової гами: MacVim мав темніший (і правильний) колір фону, ніж Terminal, хоча я встановлював усі правильні значення RGB на специфікацію Solarized. Дивіться тут:

В загальному , ви повинні знати , що ваші значення кольору повинні бути для кожного з терміналу ANSI, тексту і фону (зауважте це один знаходиться на вкладці Window) квітів , а потім встановити їх з допомогою палітри HSB замість RGB. Дивіться цей приклад:

З будь-якої причини (я підозрюю, що типовий профіль профілю чи, можливо, контрастний твіст, як ви пропонуєте), колір RGB, який ви вводите, - це не те, що ви отримуєте. Ви також помітите, що після встановлення значень через HSB, перемикач на вибирач RGB покаже варіанти, інші, ніж ви очікували. Усі перетворення соляризованих значень узгоджуються згідно Photoshop; здається, це щось, що робить для вас вибір кольору Apple.


9
Це неймовірно хороша відповідь.
Джейсон Салаз

Схоже, що RGB не є таким, що він змінений, а лише модифікований налаштуваннями непрозорості вибору відповідно до відповіді від @eirnym - комбінація двох не тільки пояснює це, але і вирішує його двома способами. Чудово!
stuff

2
На параді не дощить, але я не можу підтвердити, що це виправляє проблему - Terminal.app зберігає зміни значень, що вводяться у кольоровому просторі HSB, навіть коли встановлюється фон на правильні значення (включаючи непрозорість 100% та розмиття 0%) спочатку. Яскраві значення, здається, менш схильні до цього, тим неяскравіші. Можливо, підбір кольорів у Terminal.app серйозно баггі, можливо, він намагається бути «розумним» щодо контрасту та діапазону кольорів (я б не ставлю жодного минулого Apple) - як би там не було, рішення вище не працює на моєму система.
kopischke

… Досліджуючи ще деякі проблеми, схоже, коріння полягає у відображенні соляризованих кольорів від незалежного від пристрою (кольорового простору LAB / HSB) до кольорового простору, залежного від пристрою (RGB). Послідовних результатів можна досягти при виборі кольорового простору HSB, як показано вище, але лише при виразному зіставленні на RGB пристрою (у спадному меню за крихітною стрілкою на невеликому кольоровому квадраті зліва від випадаючого простору кольорів). Відмінність значень RGB від таблиць кольорів із соляризацією пояснюється фактом соляризованих карт на sRGB, тоді як вибір кольору завжди неявно відображає RGB ​​пристрою.
kopischke

… Що означає, що підбирач кольорів OS X був розроблений для людей, які насправді знають, про що йдеться про цей кольоровий простір (тобто графічні дизайнери), а не нас, що термінали бурчать :). [так, ОТ, я знаю]
kopischke

10

вибираючи "Device RGB" зі спадного списку Apple Color Picker

  1. Відкрийте інструмент вибору кольору
  2. Виберіть вкладку повзунків
  3. Клацніть на зразок під лупою, ліворуч від випадаючого повзунка
  4. Виберіть Device RGB

Тепер кольори, визначені шестигранним значенням, не будуть піддаватися перетворенню простору кольорів.

У Сьєррі підбірник простору кольорів змінився на значок шестірні: Вибір простору кольорів Сьєрра

Джерело


2
Класно - дякую за це! Для всієї дизайнерської майстерності Apple абсолютно не очевидно, що натискання на це відкриє меню.
Райан Длугош

Примітка: якщо цей спосіб використання кольорів з різними кольоровими просторами працює, ймовірно, покладається на помилку в коді обробки кольорів, який повинен працювати з будь-яким кольором, і може припинити роботу в майбутньому, коли ця помилка буде виправлена.
Кріс Пейдж

1
Цей трюк спрацював для мене; хитрість HSB не зробила.
Джей

4

Кольорові профілі, безумовно, важливі, але тут стоїть ще одна проблема: Terminal.app автоматично яскравіше будь-якого кольору, коли відображається над фоном за замовчуванням. Ось, наприклад, наведені кольори, виведені Terminal.app, що виконує тему кольорів Solarized , виміряну за допомогою DigitalColor Meter в режимі sRGB та порівнявши з канонічними значеннями sRGB Solarized.

Якщо він представлений на чорному (або будь-якому іншому кольорі) тлі, Terminal.app створює приблизно правильні кольори; однак на тлі за замовчуванням всі кольори, за винятком стандартного та напівжирного жирного тексту, є надто яскравими.

кольоровий тест у Terminal.app.  Кольори є такими, як очікувалося, коли вони представлені на кольоровому тлі, але яскравіші, коли вони представлені на тлі за замовчуванням.


Оголошено, бо це не відповідь. Здається, це коментар до питання.
Кріс Пейдж

2
Як ви створили цю кольорову таблицю? Виглядає супер зручно.
Люк Девіс

2

Відкрийте параметри вікна для вашої теми, перемкніть колір фону, встановіть розмиття на 0% та непрозорість на 100%. Після цього ваші кольори будуть такими, як ви хочете. Також слід перевірити кожен колір, який ви вибрали для тексту, для цих параметрів.

введіть тут опис зображення


Оголошення, оскільки це не стосується питання, що стосується мінімальної контрастності терміналу і не впливає на непрозорість фону.
Кріс Пейдж

2

Якщо коротко: ні, немає жодних підтримуваних засобів для відключення цього.

Термінал автоматично застосовує мінімальний контраст під час відображення кольору ANSI (або розширеної 256-кольорової таблиці) на кольорі тла терміналу або під час відображення переднього / кольорового тексту терміналу в кольорі фону ANSI.

Це призначено для зручності, щоб можна було встановити колір тла або переднього плану та контрастувати з кольорами ANSI, не змінюючи всі кольори ANSI. Це було особливо важливо для більш ранніх версій Terminal, у яких бракувало підтримки Preferences для налаштування кольорів ANSI.

Старіші версії Terminal застосовували мінімальний контраст для всіх кольорових комбінацій, але це означало, що, наприклад, текст ANSI з червоним червоним кольором може бути читабельним, але деякі програми навмисно відображають текст із тим самим кольором переднього плану та фоном, щоб приховати його (наприклад, для відображення підказок про ігри або жартівливих пунктилів). Через це новіші версії Terminal не застосовують мінімальний контраст при відображенні одного кольору ANSI на іншому.

Тепер, замість того, щоб просто звертатися до одноколірного випадку, Terminal уникає застосування мінімальної контрастності для всіх комбінацій кольорів ANSI, оскільки передбачається, що якщо користувач налаштовує будь-які кольори ANSI, він налаштує їх усі, щоб вони контрастували один з одним за бажанням . Також передбачається, що ці користувачі будуть коригувати або враховувати кольори фону та переднього плану терміналу, щоб відповідати бажаній колірній гамі.

Якщо вирішення використання кольорів з різними кольоровими просторами, запропонованими в інших відповідях, - працює, ймовірно, покладається на помилку в коді обробки кольорів, який повинен працювати з будь-яким кольором, і може припинити роботу в майбутньому коли ця помилка виправлена

Якщо для вас важлива можливість явного відключення або коригування поведінки мінімальної контрастності, я рекомендую повідомити Apple, подавши звіт за адресою https://developer.apple.com/bug-reporting/, використовуючи будь-який Apple ID.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.