Des lignes horizontales laides affichées à Kate et Konsole avec une mise à l'échelle fractionnaire HiDPI

18

Voici une image du problème:

entrez la description de l'image ici

Notez que toutes les lignes de texte ont des lignes horizontales similaires au soulignement. Cependant, il s'agit d'un éditeur de texte brut (Kate) et il ne souligne pas. Aucune mise en forme n'est appliquée à ce texte.

J'ai sélectionné le texte pour que les lignes apparaissent mieux sur une photo. Mais les lignes existent même sans sélectionner le texte. Parfois, ils sont beaucoup plus épais et plus foncés. Parfois, ils sont légers. Parfois, ils ne seront pas là du tout, seulement pour revenir au hasard.

Konsole a le même problème. Avec du texte blanc sur fond noir, Konsole affiche parfois des lignes horizontales multicolores. Parfois, chaque ligne de Konsole a ce soulignement laid et distrayant. Parfois, seule une partie des lignes l'ont.

Parfois, les lignes sont si denses et écrasantes qu'il est difficile de lire le texte. D'autres fois, les lignes sont douces, comme sur la photo ci-jointe.

J'ai vu ce problème pour la première fois il y a environ dix mois sur un ordinateur de bureau. Je pensais que l'utilisateur venait de faire quelque chose de vraiment fou dans les paramètres de police. Mais maintenant, je vois le problème sur un nouvel ordinateur portable sans modification significative des paramètres par défaut.

Les deux systèmes exécutent un Arch Linux KDE entièrement mis à jour. Sur cet ordinateur portable, je réinitialise tous les paramètres de police (dans Paramètres système) aux valeurs par défaut. J'ai également réinitialisé l'apparence du profil Konsole aux paramètres par défaut (même si les paramètres étaient déjà aux valeurs par défaut).

Cependant, les lignes horizontales ne disparaîtront pas.

Les applications fonctionnent correctement (sauf qu'elles sont parfois difficiles à lire du texte). Le texte copié n'inclut pas les lignes horizontales. Les commandes dans Konsole ne sont pas affectées par l'apparition de lignes horizontales. Cela semble être un problème d'affichage, mais il n'est spécifique à aucun GPU (affecte Intel ou nvidia) ou à n'importe quel écran d'affichage (j'ai testé différents moniteurs sur le bureau) ou à tout autre élément que je peux déterminer.

J'ai essayé divers correctifs sur le bureau affecté au cours des dix derniers mois et je ne l'ai pas non plus résolu sur cette machine.

J'ai plusieurs autres ordinateurs Arch KDE qui n'ont pas le problème.

Quelqu'un at-il une idée de ce qui pourrait provoquer cela? Quelqu'un d'autre l'a-t-il vu?

Edit: Veuillez consulter le rapport de bogue KDE pour Konsole:
373232 - Lignes horizontales avec mise à l'échelle fractionnaire HiDPI

MountainX
la source
Solution temporaire: QT_SCREEN_SCALE_FACTORS=1 konsole. Vous pouvez créer un lien d'application de bureau avec cette commande.
drinor

Réponses:

9

Ce problème aurait été résolu dans QTBUG-66036 avec la version 5.12. Au moment où j'écris ceci, QT sur Arch Linux est la version 5.11.2-1. D'autres distributions courantes n'ont pas non plus publié de packages avec Qt 5.12. Cependant, lorsque Qt 5.12 sera publié, les développeurs s'attendent à ce que ce problème soit résolu.

Pour vérifier votre version de Qt, vous pouvez ouvrir un terminal et taper:

qmake --version

La sortie ressemblera à ceci

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

Lorsque vous voyez Qt version 5.12, vous pouvez vous attendre à une résolution. Sinon, informez les développeurs sur QTBUG-66036 .

En attendant, il existe une solution de contournement, comme décrit dans le rapport de bogue ci-dessous

Étapes à reproduire:

  1. Affiche -> Échelle -> Facteur d'échelle: 1,3 (ou 1,4, etc.)
  2. Redémarrer
  3. Ouvrez Konsole ou Kate, tapez des trucs

Solution: redéfinissez le facteur d'échelle sur 1,0 (ou sur un entier tel que 2 ou 3).

Il existe un rapport de bogue similaire pour Konsole ici

373232 - Lignes horizontales avec mise à l'échelle HiDPI fractionnelle
https://bugs.kde.org/show_bug.cgi?id=373232

BugBuddy
la source
4
cette solution de contournement est absurde sur 4k + btw
tomasb
2
Oui, je conviens que la solution de contournement est terrible. Dans l'attente d'une solution appropriée.
BugBuddy
ont constaté que les facteurs entiers fonctionnent bien (par exemple 2.0, 3.0, ...)
tomasb
veuillez ajouter un commentaire au rapport de bogue: bugs.kde.org/show_bug.cgi?id=373232
MountainX
3
@tomasb - Si vous souhaitez que cela soit corrigé, veuillez envisager de créer un identifiant afin que vous puissiez faire savoir aux développeurs que cela vous affecte. Si vous êtes trop paresseux pour faire cela, vous n'avez pas le droit de vous plaindre que la solution de contournement (ou toute autre chose) soit "absurde". Si vous utilisez l'open source, veuillez trouver des moyens de contribuer, même si vous votez ou commentez uniquement les rapports de bogues - n'importe quoi. Faites partie de la communauté.
BugBuddy
8

La mise à niveau vers Qt 5.12 est très bien, mais ne semble pas résoudre le problème immédiatement. Dans les paramètres du profil Konsole sous l'onglet avancé, remplacez «Espacement des lignes» par 1 . Cela a résolu le problème des lignes horizontales pour moi.

ismay7
la source
a dû l'augmenter à 5, mais a bien fonctionné. Merci.
User1291
2
L'option "Line Spacing" n'est pas disponible dans la version 19.8 de Konsole.
WeKa
1
Clic droit> Modifier le profil actuel ...> Apparence> Divers>
Interligne
Je peux changer l'espacement des lignes jusqu'à 8, mais il y a toujours des lignes parfois. Ce n'est pas du tout une solution fonctionnelle car l'espacement ruine l'interface.
misantroop
2

Comme solution de contournement, vous pouvez modifier le DPI des polices :

  1. allez à Fonts, cochez la caseForce Fonts DPI
  2. réglé sur une valeur appropriée (j'utilise 144sur un écran 2560x1440, vous voudrez peut-être essayer 192en 4K)
    • Un DPI plus élevé se traduit par un texte plus grand sur votre écran
  3. Réglez le facteur de mise à l'échelle de l'affichage sur 1
  4. Déconnectez-vous et connectez-vous à votre utilisateur (ou redémarrez)

À ce stade, les lignes horizontales devraient disparaître et vous devriez pouvoir tout lire sur votre écran

Nico
la source
1
C'est la seule solution qui fonctionne pour le moment, et elle ajustera également l'échelle des éléments de l'interface utilisateur (pas seulement la taille de la police). La fonction dédiée "Scale Display" est toujours en panne et provoque le rendu de plusieurs applications KDE avec des artefacts de ligne.
tiguchi
2

Une autre solution consiste à définir l'espacement des lignes sur 1 sous Paramètres -> Modifier le profil actuel ... -> Avancé -> Fonctions du terminal. Il est presque imperceptible (un pixel supplémentaire entre les lignes), mais résout le problème.

J. Doe
la source
0

entrez la description de l'image icientrez la description de l'image icientrez la description de l'image iciLa meilleure solution serait pour moi:

  1. Utilisez Breeze Dark.
  2. Échelle à 1,3,1,4, tout ce que vous voulez.
  3. Utilisez des alternatives GTK. Parce que tout éditeur basé sur QT aura ce problème de rendu de texte.
  4. Pour Konsole, je préfère Tilix (qui a le moins de dépendances gtk comme 5mb). Pour l'intégration du terminal Dolphin, suivez https://bbs.archlinux.org/viewtopic.php?id=211524 . Utilisez le service "Ouvrir Tilix ici" (vous pouvez le télécharger depuis Configuration Dolphin> Menu Service). Créez simplement un dossier dans votre maison comme le mentionne la documentation de service ci-dessus. Et changez votre terminal par défaut à partir des paramètres KDE> Applications par défaut, de sorte que vous pouvez Shift + F4 dans le Tilix de Dolphin.
  5. Pour Kate ou Kwrite, je préfère Gedit ou n'importe quel IDE comme Brackets ou SublimeText ou Atom.
MPK99
la source
0

Après avoir suivi les instructions de Nico sur la modification du DPI du texte du système en quelque chose de plus élevé comme 144, 192, etc., il existe un moyen de réactiver la mise à l'échelle de l'affichage et de faire en sorte que Kate soit belle. Cependant, les résultats peuvent varier entre les environnements de bureau.

Réglez la mise à l'échelle de l'affichage à la valeur fractionnelle souhaitée (il se trouve que j'utilise 1,5x).

Vous pouvez définir la variable d'environnement QT_SCREEN_SCALE_FACTORS=1pour un seul appel à Kate.

QT_SCREEN_SCALE_FACTORS=1 kate

Et vous pouvez créer un script wrapper pour tous les appels à 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

Assurez-vous ensuite que cela se $HOME/bintrouve dans votre $PATH. Si ce n'est pas le cas, vous pouvez l'ajouter en

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

Ajoutez cela pour ~/.profilele rendre permanent.

Notez que pour que cela fonctionne, vos scripts personnels doivent précéder le chemin de l'exécutable Kate d'origine (par exemple /usr/bin) dans votre $PATHvariable d'environnement.

Tarocco
la source