Brzydkie poziome linie wyświetlane w Kate i Konsole z ułamkowym skalowaniem HiDPI


18

Oto zdjęcie problemu:

wprowadź opis zdjęcia tutaj

Zauważ, że wszystkie linie tekstu mają poziome linie podobne do podkreślenia. Jest to jednak zwykły edytor tekstu (Kate) i nie podkreśla. Nie zastosowano formatowania tego tekstu.

Wybrałem tekst, aby wiersze były lepiej widoczne na zdjęciu. Ale linie istnieją nawet bez zaznaczania tekstu. Czasami są znacznie grubsze i ciemniejsze. Czasami są lekkie. Czasami nie będzie ich wcale, tylko po to, by wrócić losowo.

Konsola ma ten sam problem. Z białym tekstem na czarnym tle Konsola czasami wyświetla wielokolorowe poziome linie. Czasami każda linia w Konsoli ma takie brzydkie i rozpraszające uwagę. Czasami ma to tylko część linii.

Czasami linie są tak gęste i przytłaczające, że trudno jest odczytać tekst. Innym razem linie są łagodne, jak na załączonym zdjęciu.

Pierwszy raz widziałem ten problem około dziesięć miesięcy temu na komputerze stacjonarnym. Myślałem, że użytkownik właśnie zrobił coś naprawdę szalonego w ustawieniach czcionek. Ale teraz widzę problem na nowym laptopie bez żadnych istotnych zmian ustawień od domyślnych.

Oba systemy działają w pełni zaktualizowanym Arch Linux KDE. Na tym laptopie resetuję wszystkie ustawienia czcionek (w Ustawieniach systemu) do wartości domyślnych. Zresetowałem również wygląd profilu Konsoli do ustawień domyślnych (nawet jeśli ustawienia były już na wartościach domyślnych).

Jednak linie poziome nie znikną.

Aplikacje działają poprawnie (poza tym, że czasami trudno jest odczytać tekst). Skopiowany tekst nie zawiera linii poziomych. Na poziome linie nie mają wpływu polecenia na Konsole. Wydaje się to być usterką wyświetlacza, ale nie jest specyficzne dla żadnego procesora graficznego (dotyczy Intela lub NVIDII) ani żadnego ekranu (testowałem różne monitory na pulpicie) lub czegokolwiek innego, co mogę określić.

Próbowałem różnych poprawek na dotkniętym pulpicie w ciągu ostatnich dziesięciu miesięcy i nie rozwiązałem go również na tym komputerze.

Mam wiele innych komputerów Arch KDE, które nie mają problemu.

Czy ktoś ma pojęcie, co może to powodować? Czy ktoś jeszcze to widział?

Edycja: Zobacz raport o błędzie KDE dla Konsoli :
373232 - Poziome linie z ułamkowym skalowaniem HiDPI


Tymczasowe rozwiązanie: QT_SCREEN_SCALE_FACTORS=1 konsole. Za pomocą tego polecenia możesz utworzyć łącze do aplikacji komputerowej.
drinor

Odpowiedzi:


9

Podobno problem został rozwiązany w QTBUG-66036 w wersji 5.12. W chwili pisania tego, QT na Arch Linux to wersja 5.11.2-1. Inne popularne dystrybucje również nie wydały pakietów z Qt 5.12. Jednak po wydaniu Qt 5.12 programiści oczekują rozwiązania tego problemu.

Aby sprawdzić wersję Qt, możesz otworzyć terminal i wpisać:

qmake --version

Dane wyjściowe będą wyglądać podobnie do tego

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

Gdy zobaczysz wersję Qt 5.12, możesz spodziewać się rozwiązania. Jeśli nie, powiadom programistów o tym w QTBUG-66036 .

Tymczasem istnieje obejście, jak opisano w poniższym raporcie o błędzie

Kroki ku reprodukcji:

  1. Wyświetla -> Skala -> Skala Współczynnik: 1.3 (lub 1.4 itd.)
  2. Uruchom ponownie
  3. Otwórz Konsole lub Kate, wpisz rzeczy

Obejście: ustaw współczynnik skalowania z powrotem na 1,0 (lub na liczbę całkowitą, taką jak 2 lub 3).

Podobny raport o błędach dla Konsoli znajduje się tutaj

373232 - Poziome linie z ułamkowym skalowaniem HiDPI
https://bugs.kde.org/show_bug.cgi?id=373232


4
to obejście jest absurdalne w 4k + btw
tomasb

2
Tak, zgadzam się, że to obejście jest okropne. Czekamy na właściwą poprawkę.
BugBuddy

stwierdzono, że czynniki całkowite działają dobrze (np. 2,0, 3,0, ...)
tomasb

dodaj komentarz do raportu o błędzie: bugs.kde.org/show_bug.cgi?id=373232
MountainX

3
@tomasb - Jeśli chcesz to naprawić, rozważ utworzenie loginu, aby poinformować programistów, że to na ciebie wpływa. Jeśli jesteś zbyt leniwy, aby to zrobić, nie masz prawa narzekać na to, że obejście (lub cokolwiek innego) jest „absurdalne”. Jeśli używasz oprogramowania typu open source, znajdź sposoby na przyczynianie się, nawet jeśli tylko głosujesz lub komentujesz zgłoszenia błędów - cokolwiek. Bądź częścią społeczności.
BugBuddy,

8

Uaktualnienie do wersji 5.12 jest w porządku, ale wydaje się, że nie rozwiązuje problemu od razu. W ustawieniach profilu Konsoli na karcie zaawansowanej zmień „Odstępy między wierszami” na 1 . To rozwiązało problem z poziomymi liniami.


musiałem go zwiększyć do 5, ale działał dobrze. Dziękuję Ci.
1291

2
Opcja „Odstępy między wierszami” nie jest dostępna w wersji Konsole 19.8.
WeKa

1
Kliknij prawym przyciskiem
myszy

Mogę zmieniać odstępy między wierszami do 8, ale czasami są jeszcze linie. To wcale nie jest poprawka funkcjonalna, ponieważ odstępy psują interfejs.
misantroop,

2

Aby obejść ten problem, możesz zmienić DPI czcionek :

  1. idź do Fonts, zaznacz poleForce Fonts DPI
  2. ustaw na odpowiednią wartość (używam 144na ekranie 2560 x 1440, możesz spróbować 192w 4K)
    • Wyższe DPI przekłada się na większy tekst na ekranie
  3. Ustaw współczynnik skalowania wyświetlacza z powrotem na 1
  4. Wyloguj się i zaloguj do swojego użytkownika (lub uruchom ponownie)

W tym momencie poziome linie powinny zniknąć i powinieneś być w stanie odczytać wszystko na ekranie


1
Jest to jedyne rozwiązanie, które obecnie działa, a także dostosuje skalę elementów interfejsu użytkownika (nie tylko rozmiar czcionki). Dedykowana funkcja „Wyświetlanie skali” jest nadal zepsuta i powoduje, że wiele aplikacji KDE wyświetla się z artefaktami linii.
tiguchi

2

Innym obejściem jest ustawienie odstępu między wierszami na 1 w Ustawienia -> Edytuj bieżący profil ... -> Zaawansowane -> Funkcje terminala. Jest prawie niezauważalny (jeden dodatkowy piksel między liniami), ale rozwiązuje problem.


0

wprowadź opis zdjęcia tutajwprowadź opis zdjęcia tutajwprowadź opis zdjęcia tutajNajlepszym obejściem dla mnie byłoby:

  1. Użyj Breeze Dark.
  2. Skaluj do 1.3,1.4, cokolwiek chcesz.
  3. Użyj alternatywnych GTK. Ponieważ każdy edytor oparty na QT dostanie tę usterkę renderowania tekstu.
  4. W przypadku Konsoli wolę Tilix (który ma najmniej zależności GTK, takie jak 5 MB). W celu integracji terminala Dolphin postępuj zgodnie z https://bbs.archlinux.org/viewtopic.php?id=211524 . Skorzystaj z usługi „Otwórz Tilix tutaj” (możesz pobrać z Dolphin Configuration> Service Menu). Wystarczy utworzyć folder w domu, jak wspomniano powyżej w dokumentacji serwisowej. I zmień domyślny Terminal w ustawieniach KDE> Domyślne aplikacje, abyś mógł Shift + F4 przejść do Tilix z Dolphin.
  5. W przypadku Kate lub Kwrite wolę Gedit lub dowolne IDE, takie jak Brackets, SublimeText lub Atom.

0

Po wykonaniu instrukcji Nico dotyczących zmiany DPI tekstu systemowego na coś wyższego, jak 144, 192 itd., Istnieje sposób, aby ponownie włączyć skalowanie wyświetlacza i sprawić, by Kate wyglądała dobrze. Jednak wyniki mogą się różnić w zależności od środowiska komputerowego.

Ustaw skalowanie wyświetlacza na pożądaną wartość ułamkową (czasami używam 1,5x).

Możesz ustawić zmienną środowiskową QT_SCREEN_SCALE_FACTORS=1dla pojedynczego połączenia z Kate.

QT_SCREEN_SCALE_FACTORS=1 kate

I możesz utworzyć skrypt opakowania dla wszystkich połączeń z 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

Następnie upewnij się, że $HOME/binjest w twoim $PATH. Jeśli nie jest, możesz go dodać

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

Dodaj to, ~/.profileaby było trwałe.

Zauważ, że aby to zadziałało, twoje skrypty domowe muszą znajdować się przed ścieżką oryginalnego pliku wykonywalnego Kate (np. /usr/bin) W $PATHzmiennej środowiskowej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.