web-dev-qa-db-fra.com

L’ajustement de l’espacement des lignes verticales de la konsole (et des autres applications CLI) est-il possible?

Est-il possible de réduire l'espacement des lignes verticales en konsole?

Sous Paramètres/Avancé, il existe une option Espacement entre les lignes, mais elle ne descend que jusqu'à 0 et même à 0, il y a un espace considérable entre les lignes (c.-à-d. Une trop grande partie de ce que l'on appelle couramment dans la typographie le terme interligne , l’espacement vertical vide entre les lignes de texte). J'utilise la police très conservatrice Inconsolata, qui présente un espacement vertical minimal par rapport à Monospace, mais même avec cette police, l'espacement entre les lignes est toujours trop important, à la taille du point que j'utilise (13).

Existe-t-il un moyen de réduire davantage l’espacement des lignes verticales sans avoir à pirater la police elle-même pour compenser? Beaucoup d'éditeurs le permettent, mais je ne peux trouver aucun moyen de le faire dans Konsole (en dessous de zéro), ou peut-être de tout KDE en général comme une sorte de paramètre système.

1

Pour ceux que cela intéresse, j'ai trouvé un moyen de le faire, mais cela implique la modification des polices. Cela devrait vous faire économiser des heures, voire des jours de recherche sur Google et de frustration, car je sais que j'ai passé énormément de temps à essayer de comprendre tout cela. S'il vous plaît ne vous laissez pas décourager par le mur de texte que sont les étapes. L'ensemble du processus prend littéralement moins de cinq minutes . Je viens de faire beaucoup d'efforts pour l'exprimer complètement, de sorte que cela puisse prendre cinq minutes :) et il y a le moins d'ambiguïté possible en ce qui concerne ce qu'il faut faire et dans quelle séquence.

Voici comment ajuster l'espacement des lignes verticales au contenu de votre cœur, dans toutes les applications de l'interface graphique Linux:

  1. Téléchargez et installez FontForge (le paquet devrait s'appeler fontforge avec yum, apt-get, dnf, ou quel que soit votre gestionnaire de paquets que vous utilisez). Il est également disponible dans github si vous aimez faire les choses manuellement: détails d'installation de github
  2. Ouvrez la police que vous souhaitez modifier (Inconsolata dans mon cas). Remarque: avant de modifier une police ou même de créer une nouvelle police, que je vous recommande vivement, copiez les anciennes de /usr/share/fonts/... vers ~/.local/share/fonts et apportez toutes les modifications (ou ajouts de polices) dans votre répertoire local. fonts répertoire auquel vous aurez, en prime, le droit d'écriture, sans avoir besoin d'un accès root (à /usr/share/fonts).
  3. OK, revenons à FontForge, que vous pouvez exécuter en tant que: fontforge après l’installation. Commencez par ouvrir la police à partir du répertoire .local/share/fonts dans lequel vous avez copié la police d'origine. Il suffit de taper .local/share/fonts en supposant que vous avez lancé fontforge à partir de votre répertoire personnel et vous y accéderez. Notez que fontforge n'aime pas le caractère ~ à la place de votre répertoire personnel. Par conséquent, utilisez des chemins d'accès relatifs ou absolus, mais n'utilisez pas ~ lors de l'ouverture du fichier de police. Si vous avez un sous-répertoire pour votre police, cliquez simplement dessus pour l'ouvrir, puis sélectionnez et ouvrez la police elle-même. Avant de changer quoi que ce soit, nous devrions renommer la police. Dans le menu, sélectionnez Element/Font Info ... pour ouvrir la boîte de dialogue Font Information. Allez à la catégorie Général sur le côté gauche et changeons le nom de la police en y ajoutant un suffixe (par exemple, j’ai remplacé Inconsolata par InconsolataDense80, pour indiquer que je vais réduire l’espacement des lignes verticales (c.-à-d., Interligne) à 80 pourcentage de sa valeur actuelle). Assurez-vous que vous apportez cette modification trois fois pour chacun des champs Nom de la police, Nom de famille et Nom pour les humains, respectivement.
  4. Ensuite, sélectionnez la catégorie OS/2 sur la gauche (qui l’aurait jugée ???) et sélectionnez l’onglet Métriques en haut.
  5. Nous allons modifier les valeurs HHead Ascent et Descent, les deux seules valeurs qui affectent l'espacement vertical sous Linux. Bonne chance pour trouver celui-ci par vous-même. Il m'a fallu des siècles pour trouver ces aiguilles proverbiales dans la botte de foin, les diamants bruts, votre analogie de choix :)!
  6. Assurez-vous d’enregistrer (par exemple, écrivez) les valeurs actuelles avant d’apporter des modifications.
  7. Maintenant, pour changer l'espacement vertical, nous devons multiplier les deux valeurs par un facteur en fonction de la quantité que vous souhaitez réduire l'espacement vertical (pour moi, j'ai utilisé 80% des valeurs actuelles). Vous voudrez probablement utiliser le même facteur pour les deux cas dans 99% des cas. Si cela ne fonctionne pas ou provoque un artefact d'affichage, vous pouvez utiliser ultérieurement différents facteurs pour affiner les valeurs individuelles en dernier recours. Artefact peut aussi vouloir dire que vous avez trop réduit les valeurs, et par réduire, je veux dire aller vers zéro (c.-à-d. Réduire leur magnitude, leur valeur absolue, car la descente de HHead peut être négative, vous allez donc l'augmenter de manière significative. sens numérique si vous le multipliez par un facteur d’échelle en pourcentage positif).
  8. Définissez chacune des ascensions et descentes en tête avec les valeurs que vous avez calculées à l'étape 7 (par exemple, 80% de leurs valeurs antérieures est un bon début)
  9. Nous en avons terminé avec la boîte de dialogue Informations sur la police. Cliquez sur le bouton OK .
    1. A ce stade, sauvegardons notre police en tant que fichier .SDF. Faîtes un fichier/enregistrez sous ... et il devrait garder en mémoire le nouveau nom de la police que vous avez précédemment définie.
    2. Maintenant, pour appliquer nos modifications, nous devons (re) générer la police. Sélectionnez Police/Générer des polices ... dans le menu FontForge. Si vous utilisez une police TrueType, assurez-vous que TrueType est sélectionné sous le nom de fichier de la police. Cliquez ensuite sur le bouton Générer. Vous pouvez obtenir plusieurs erreurs détectées que vous pouvez ignorer en toute sécurité. Cliquez sur le bouton Générer de cette boîte de dialogue si cette dernière semble poursuivre la génération de polices.
    3. Vous êtes prêt à partir à ce stade, mais vous devrez réinitialiser le cache de polices. Faites ceci en tapant fc-cache -v -r.
    4. Ouvrez une nouvelle fenêtre konsole (la nouvelle police, voire les modifications apportées à une police existante, n'apparaîtront dans aucune des fenêtres déjà ouvertes).
    5. Sélectionnez la nouvelle police en allant dans Paramètres/Modifier le profil actuel et en sélectionnant l'onglet Apparence. Les options de sélection de police se trouvent sur la page des paramètres. Cliquez sur Sélectionner la police ... et vous devriez voir votre nouvelle police listée et pouvoir la sélectionner. Le changement sera mis en vigueur immédiatement après avoir cliqué sur OK.
    6. Félicitations, vous avez terminé! Si les lignes sont encore trop éloignées ou trop proches, revenez à l'étape 7 et ajustez les valeurs HHead Ascent/Descent à d'autres multiples de leurs originaux. N'oubliez pas de modifier (tous les trois) les valeurs du nom de police pour décrire le pourcentage que vous multipliez, pour référence ultérieure, puis assurez-vous de sauvegarder la police sous un nouveau nom de fichier (et de la générer en tant que nouvelle police sous le nouveau nom, aussi). Enfin, n'oubliez pas de mettre à jour le cache de polices et ouvrez une nouvelle fenêtre pour voir le ou les effets.

Je fais habituellement un ls -l ou ls -lR avant de changer la police dans Konsole afin de pouvoir voir l'effet sur l'interligne des noms de fichiers listés. C'est une bonne idée d'avoir des noms de fichiers qui utilisent des ascendeurs (tels que l) et des descendeurs (tels que "y") placés les uns au dessus des autres, afin que vous puissiez vous assurer que les lignes ne sont pas trop proches et que les ascendeurs et les descendeurs ne se croisent pas. Vous pouvez le faire facilement en créant trois fichiers: 'agjpqy', 'mbdfijlt' et 'zgjpqy'. La première lettre des noms de fichiers consiste simplement à classer les fichiers par ordre alphabétique, comme prévu. Le reste des lettres contient des ascendeurs, des descendeurs ou les deux. Vous pouvez voir si elles se croisent et ajuster l'espacement vertical de la police en fonction de ce qui vous plaît subjectivement (me rappelle l'histoire de Goldilocks et des Trois Ours).

J'espère que cela vous aide et vous évite une charge de temps proverbiale et frustrante. Les utilisateurs avec OCD apprécieront le plus!

1