Некрасиві горизонтальні лінії, що відображаються в Кейті та Консолі з частковим масштабуванням HiDPI


18

Ось картина проблеми:

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

Зауважте, що всі рядки тексту мають горизонтальні лінії, схожі на підкреслення. Однак це звичайний текстовий редактор (Kate), і він не робить підкреслення. Форматування не застосовується до цього тексту.

Я вибрав текст, щоб рядки краще відображалися на фотографії. Але рядки існують навіть без вибору тексту. Іноді вони набагато товщі і темніше. Іноді вони легкі. Іноді їх взагалі не буде, тільки щоб повернутися навмання.

Консоль має той самий випуск. З білим текстом на чорному тлі Konsole іноді показують різнокольорові горизонтальні лінії. Іноді кожен рядок у Консолі має це негарне та відволікаюче підкреслення. Іноді його має лише частина ліній.

Іноді рядки настільки щільні і непосильні, що важко прочитати текст. В іншому випадку лінії м'які, як на доданій фотографії.

Я вперше побачив цю проблему близько десяти місяців тому на настільному комп’ютері. Я думав, що користувач щойно зробив щось дійсно шалене в налаштуваннях шрифту. Але зараз я бачу проблему на новому ноутбуці без значних змін у налаштуваннях від замовчування.

В обох системах працює повністю оновлений KDE Arch Linux. На цьому ноутбуці я скидаю всі параметри шрифту (у системних налаштуваннях) до значень за замовчуванням. Я також скидаю зовнішній вигляд профілю Konsole до налаштувань за замовчуванням (навіть якщо налаштування вже були за замовчуванням).

Однак горизонтальні лінії не відійдуть.

Програми працюють правильно (крім того, що іноді важко читати текст). Скопійований текст не включає горизонтальні лінії. Команди в Консолі не впливають на появу горизонтальних ліній. Це здається проблемою дисплея, але вона не характерна для будь-якого графічного процесора (впливає на Intel або nvidia) або будь-якого екрана дисплея (я тестувала різні монітори на робочому столі) або для будь-якого іншого, що я можу визначити.

Я спробував різні виправлення на ураженому робочому столі протягом останніх десяти місяців, і я не вирішив його на цій машині.

У мене є кілька інших комп'ютерів Arch KDE, у яких немає проблеми.

Хтось має підказку щодо того, що може спричинити це? Ще хтось це бачив?

Редагувати: Перегляньте звіт про помилку KDE для Konsole:
373232 - Горизонтальні лінії з дробовим масштабуванням HiDPI


Тимчасове рішення: QT_SCREEN_SCALE_FACTORS=1 konsole. Ви можете створити посилання на робочий стіл за допомогою цієї команди.
випити

Відповіді:


9

Повідомляється, що це було вирішено в QTBUG-66036 з версією 5.12. На той час, коли я це пишу, QT в Arch Linux є версією 5.11.2-1. Інші розповсюджені дистрибутиви також не випустили пакунки з Qt 5.12. Однак, коли Qt 5.12 буде випущений, розробники очікують, що це питання буде вирішене.

Щоб перевірити свою версію Qt, ви можете відкрити термінал і ввести:

qmake --version

Вихід буде схожий на цей

QMake version 3.1
Using Qt version 5.11.1 in /usr/lib

Коли ви побачите версію Qt 5.12, тоді ви можете очікувати вирішення. Якщо ні, повідомте розробників на QTBUG-66036 .

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

Кроки до відтворення:

  1. Відображає -> Масштаб -> Коефіцієнт масштабу: 1,3 (або 1,4 і т.д.)
  2. Перезапустити
  3. Відкрийте Konsole або Kate, наберіть речі

Обхід: поверніть масштабний коефіцієнт на 1,0 (або на ціле число, таке як 2 або 3).

Тут є аналогічний звіт про помилки для Konsole

373232 - Горизонтальні лінії з дробовим масштабуванням HiDPI
https://bugs.kde.org/show_bug.cgi?id=373232


4
цей спосіб є абсурдним на 4k + btw
tomasb

2
Так, я погоджуюся з тим, що вирішення проблеми жахливе. Чекаємо правильного виправлення.
BugBuddy

з'ясували, що цілочисельні фактори працюють добре (наприклад, 2.0, 3.0, ...)
tomasb

додайте коментар до звіту про помилки: bugs.kde.org/show_bug.cgi?id=373232
MountainX

3
@tomasb - Якщо ви хочете це виправити, будь ласка, подумайте про те, щоб створити логін, щоб ви могли повідомити розробникам, що він впливає на вас. Якщо ви занадто ліниві зробити це, ви не маєте права скаржитися на те, що обхідне рішення (або що-небудь інше) є "абсурдним". Якщо ви користуєтесь відкритим кодом, будь ласка, знайдіть способи внести свій внесок, навіть якщо тільки голосуючи або коментуючи повідомлення про помилки - будь-що. Будьте частиною спільноти.
BugBuddy

8

Оновлення до Qt 5.12 добре, але, схоже, проблему не вирішують відразу. У налаштуваннях профілю Konsole на вкладці «Додаткові» змініть «Простір між лініями» на 1 . Це вирішило проблему з горизонтальними лініями для мене.


довелося збільшити його до 5, але добре працювало. Дякую.
Користувач1291

2
У версії Konsole 19.8 опція "Простір між лініями" недоступна.
WeKa

1
Клацніть правою кнопкою миші> Редагувати поточний профіль ...> Зовнішній вигляд> Різне> Міжрядковий інтервал
ooXei1sh

Я можу змінити міжрядковий інтервал до 8, але іноді все ще є рядки. Це зовсім не функціональне виправлення, оскільки інтервал руйнує інтерфейс.
misantroop

2

Як вирішення, ви можете змінити DPI шрифтів :

  1. перейти до Fonts, встановити прапорецьForce Fonts DPI
  2. встановити відповідне значення (я використовую 144на екрані 2560x1440, ви можете спробувати 192у 4K)
    • Вища версія DPI - це переклад на більший текст на екрані
  3. Встановіть коефіцієнт масштабування дисплея назад на 1
  4. Вийти та увійти до свого користувача (або перезапустити)

У цей момент горизонтальні лінії не мають бути вичерпаними, і ви зможете прочитати все на екрані


1
Це єдине рішення, яке працює на даний момент, і воно також буде коригувати масштаб елементів інтерфейсу (не лише розмір шрифту). Спеціальна функція "Відображення масштабу" все ще порушена і призводить до відображення кількох програм KDE за допомогою лінійних артефактів.
tiguchi

2

Іншим способом вирішення є встановлення міжрядкового інтервалу на 1 у розділі Налаштування -> Редагувати поточний профіль ... -> Додатково -> Особливості терміналу. Це майже непомітно (один додатковий піксель між рядками), але вирішує проблему.


0

введіть тут опис зображеннявведіть тут опис зображеннявведіть тут опис зображенняНайкраще рішення для мене:

  1. Використовуйте Бриз темний.
  2. Шкала до 1,3,1,4, що завгодно.
  3. Використовуйте альтернативи GTK. Тому що будь-який редактор, заснований на QT, отримає цей глюк передачі тексту.
  4. Для Konsole я віддаю перевагу Tilix (який має найменш gtk залежності, як 5 Мб). Для інтеграції терміналів Dolphin перейдіть за посиланням https://bbs.archlinux.org/viewtopic.php?id=211524 . Використовуйте послугу "Відкрити Tilix тут" (Ви можете завантажити з Конфігурація дельфінів> Меню сервісу). Просто створіть папку у своєму будинку, як згадується вище. І змініть свій термінал за замовчуванням у налаштуваннях KDE> Програми за замовчуванням, щоб ви могли переключити + F4 у Tilix від Dolphin.
  5. Для Kate або Kwrite я віддаю перевагу Gedit або будь-який IDE, наприклад, Brackets або SublimeText або Atom.

0

Дотримуючись вказівок Ніко щодо зміни системного тексту DPI на щось вище, наприклад, 144, 192 і т.д., є спосіб знову ввімкнути масштабування дисплея і зробити так, щоб Кейт виглядала добре. Однак результати можуть відрізнятися в різних робочих середовищах.

Встановіть масштабування дисплея на потрібне дробове значення (я буваю, що використовую 1,5x).

Ви можете встановити змінну середовища QT_SCREEN_SCALE_FACTORS=1для одного дзвінка до Kate.

QT_SCREEN_SCALE_FACTORS=1 kate

І ви можете зробити сценарій обгортки для всіх дзвінків до Кейт

#!/bin/bash
cd $HOME
# Add home binaries directory & cd into it
mkdir -p bin && cd bin
# Symlink Kate executable as kate0
ln -s $(which kate) kate0
# Create the wrapper script
echo '#!/bin/bash' > kate
# This tells Kate to use a 1x scale factor, and to pass all arguments from wrapper
echo 'QT_SCREEN_SCALE_FACTORS=1 kate0 "$@"' >> kate
# Make the wrapper script executable
chmod +x kate

Потім переконайтеся, що $HOME/binце у вас $PATH. Якщо це не так, ви можете додати його

export PATH="$HOME/bin:$PATH"

Додайте це, щоб ~/.profileзробити його постійним.

Зауважте, що для того, щоб це працювало, ваші домашні сценарії повинні перейти до шляху оригінального виконуваного файлу Kate (наприклад /usr/bin) у $PATHзмінній вашого середовища.

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