Linhas horizontais feias exibidas em Kate e Konsole com escala fracionária de HiDPI

18

Aqui está uma imagem do problema:

insira a descrição da imagem aqui

Observe que todas as linhas de texto têm linhas horizontais semelhantes ao sublinhado. No entanto, este é um editor de texto simples (Kate) e não é sublinhado. Não há formatação aplicada a este texto.

Selecionei o texto para que as linhas aparecessem melhor em uma foto. Mas as linhas existem mesmo sem selecionar o texto. Às vezes, eles são muito mais espessos e escuros. Às vezes são leves. Às vezes eles não estarão lá, apenas para voltar aleatoriamente.

O Konsole tem o mesmo problema. Com texto branco sobre fundo preto, o Konsole às vezes mostra linhas horizontais multicoloridas. Às vezes, toda linha do Konsole tem esse sublinhado feio e perturbador. Às vezes, apenas uma parte das linhas o possui.

Às vezes, as linhas são tão densas e esmagadoras que é difícil ler o texto. Outras vezes, as linhas são suaves, como na fotografia em anexo.

Vi esse problema pela primeira vez há cerca de dez meses em um computador desktop. Eu pensei que o usuário tinha acabado de fazer algo realmente louco nas configurações de fonte. Mas agora estou vendo o problema em um novo laptop sem alterações significativas nas configurações do padrão.

Ambos os sistemas executam um Arch Linux KDE totalmente atualizado. Neste laptop, redefino todas as configurações de fonte (nas configurações do sistema) para os valores padrão. Também redefino a aparência do perfil do Konsole para as configurações padrão (mesmo que as configurações já estejam com os valores padrão).

No entanto, as linhas horizontais não desaparecem.

Os aplicativos funcionam corretamente (além de ser difícil ler o texto). O texto copiado não inclui as linhas horizontais. Os comandos no Konsole não são afetados pela aparência das linhas horizontais. Parece ser uma falha na tela, mas não é específico a nenhuma GPU (afeta a Intel ou a nvidia) ou a qualquer tela (testei monitores diferentes na área de trabalho) ou a qualquer outra coisa que eu possa determinar.

Tentei várias correções na área de trabalho afetada nos últimos dez meses e também não a resolvi nessa máquina.

Eu tenho vários outros computadores Arch KDE que não têm o problema.

Alguém tem uma idéia do que pode causar isso? Alguém mais viu isso?

Edit: Por favor, veja o relatório de bug do Konsole para o Konsole:
373232 - Linhas horizontais com escala HiDPI fracionária

MountainX-for-Monica
fonte
Solução temporária: QT_SCREEN_SCALE_FACTORS=1 konsole. Você pode criar um link de aplicativo da área de trabalho com este comando.
drinor 26/09/19

Respostas:

9

É relatado que isso foi resolvido no QTBUG-66036 com versão 5.12. No momento em que escrevo isso, o QT no Arch Linux é a versão 5.11.2-1. Outras distribuições comuns também não lançaram pacotes com o Qt 5.12. No entanto, quando o Qt 5.12 é lançado, os desenvolvedores esperam que esse problema seja resolvido.

Para verificar sua versão do Qt, você pode abrir um terminal e digitar:

qmake --version

A saída será semelhante a esta

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

Quando você vê o Qt versão 5.12, pode esperar uma resolução. Caso contrário, informe os desenvolvedores no QTBUG-66036 .

Nesse meio tempo, há uma solução alternativa, conforme descrito no relatório de bug abaixo

Passos para reproduzir:

  1. Exibe -> Escala -> Fator de escala: 1.3 (ou 1.4, etc.)
  2. Reiniciar
  3. Abra o Konsole ou Kate, digite coisas

Solução alternativa: defina o fator de escala de volta para 1,0 (ou para um número inteiro como 2 ou 3).

Há um relatório de bug semelhante para o Konsole aqui

373232 - Linhas horizontais com escala HiDPI fracionária
https://bugs.kde.org/show_bug.cgi?id=373232

BugBuddy
fonte
4
que solução é absurdo em 4k + btw
tomasb
2
Sim, concordo que a solução alternativa é terrível. Ansioso para uma correção adequada.
BugBuddy
descobriram que os factores inteiros funcionam bem (por exemplo, 2.0, 3.0, ...)
tomasb
por favor, adicione um comentário ao relatório de bug: bugs.kde.org/show_bug.cgi?id=373232
MountainX-for-Monica
3
@tomasb - Se você quiser consertar isso, considere criar um login para que os desenvolvedores saibam que isso afeta você. Se você tem preguiça de fazer isso, não tem o direito de reclamar sobre a solução alternativa (ou qualquer outra coisa) ser "absurda". Se você usa código-fonte aberto, encontre maneiras de contribuir, mesmo votando ou comentando relatórios de erros - qualquer coisa. Faça parte da comunidade.
BugBuddy
8

A atualização para o Qt 5.12 é boa, mas não parece corrigir o problema imediatamente. Nas configurações de perfil do Konsole, na guia Avançado, altere "Espaçamento entre Linhas" para 1 . Isso corrigiu o problema com linhas horizontais para mim.

ismay7
fonte
teve que aumentá-lo para 5, mas funcionou bem. obrigado.
usar o seguinte comando
2
A opção "Espaçamento entre linhas" não está disponível no Konsole versão 19.8.
WeKa 7/09/19
1
Clique com o
botão direito do mouse
Posso alterar o espaçamento entre linhas até 8, mas ainda há linhas algumas vezes. Não é uma correção funcional, pois o espaçamento arruina a interface.
misantroop
2

Como solução alternativa, você pode alterar o DPI das fontes :

  1. vá para Fonts, marque a caixaForce Fonts DPI
  2. definido como um valor apropriado (eu uso 144em uma tela de 2560 x 1440, convém tentar 192em 4K)
    • DPI mais alto traduz para texto maior na tela
  3. Defina o fator de escala de exibição de volta para 1
  4. Efetue logout e login no seu usuário (ou reinicie)

Nesse ponto, as linhas horizontais devem desaparecer e você deve poder ler tudo na tela

nico
fonte
1
Essa é a única solução que funciona no momento e também ajustará a escala dos elementos da interface do usuário (não apenas o tamanho da fonte). O recurso dedicado "Escala de exibição" ainda está quebrado e faz com que vários aplicativos do KDE sejam renderizados com artefatos de linha.
Tiguchi # 22/19
2

Outra solução alternativa é definir o espaçamento entre linhas como 1 em Configurações -> Editar perfil atual ... -> Avançado -> Recursos do terminal. É quase imperceptível (um pixel extra entre linhas), mas corrige o problema.

J. Doe
fonte
0

insira a descrição da imagem aquiinsira a descrição da imagem aquiinsira a descrição da imagem aquiA melhor solução alternativa para mim é:

  1. Use o Breeze Dark.
  2. Escale para 1.3,1.4, o que você quiser.
  3. Use alternativas GTK. Porque qualquer editor baseado em QT terá essa falha de renderização de texto.
  4. Para o Konsole, prefiro o Tilix (que possui menos dependências gtk como 5mb). Para integração do terminal Dolphin, siga https://bbs.archlinux.org/viewtopic.php?id=211524 . Use o serviço "Abrir Tilix aqui" (você pode fazer o download em Dolphin Configuration> Service Menu). Basta criar uma pasta em sua casa, como mencionado na documentação do serviço acima. E altere seu Terminal padrão nas configurações do KDE> Aplicativos Padrão, para que você possa Shift + F4 no Tilix a partir do Dolphin.
  5. Para Kate ou Kwrite, prefiro o Gedit ou qualquer IDE, como Brackets, SublimeText ou Atom.
MPK99
fonte
0

Depois de seguir as instruções de Nico sobre como alterar o DPI do texto do sistema para algo mais alto, como 144, 192 etc., existe uma maneira de ativar o dimensionamento da exibição novamente e fazer com que o Kate pareça bem. No entanto, os resultados podem variar entre os ambientes da área de trabalho.

Defina a escala de exibição para o valor fracionário desejado (eu uso 1,5x).

Você pode definir a variável de ambiente QT_SCREEN_SCALE_FACTORS=1para uma única chamada para Kate.

QT_SCREEN_SCALE_FACTORS=1 kate

E você pode criar um script de wrapper para todas as chamadas para o 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

Então verifique se $HOME/binestá no seu $PATH. Caso contrário, você pode adicioná-lo

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

Adicione isso para ~/.profiletorná-lo permanente.

Observe que, para que isso funcione, seus scripts pessoais devem vir antes do caminho do executável original do Kate (por exemplo /usr/bin) em sua $PATHvariável de ambiente.

Tarocco
fonte