conky: alignement correct des colonnes

10

Dites que je veux quelque chose comme ce qui suit dans mon .conkyrc

NAME                PID       CPU%      MEM%
${top name 1} ${top pid 1}   ${top cpu 1}    ${top mem 1}
${top name 2} ${top pid 2}   ${top cpu 2}    ${top mem 2}
${top name 3} ${top pid 3}   ${top cpu 3}    ${top mem 3}
${top name 4} ${top pid 4}   ${top cpu 4}    ${top mem 4}

Dois-je aligner les colonnes manuellement en ajoutant de l'espace, ou existe-t-il un moyen de dire à conky d'aligner les choses dans les colonnes. Avec moins de colonnes, je pourrais simplement utiliser $aligncet $alignrmais je ne peux pas le faire ici ...

Seamus
la source

Réponses:

10

Tant que vous vous en tenez aux colonnes alignées à gauche ou à une police non proportionnelle, ça ${goto N}marche.

NAME${goto 100}PID${goto 200}  CPU%${goto 300}MEM%
${top name 1}${goto 100}${top pid 1}${goto 200}${top cpu 1}${goto 300}${top mem 1}

Pour un alignement correct, vous pouvez essayer de jouer avec alignret offset.

Gilles 'SO- arrête d'être méchant'
la source
Comme les noms sont plus longs que les autres colonnes, j'ai utilisé 150 200 250 au lieu de 100 200 300 ...
Seamus
Un certain package est-il nécessaire pour la ${goto x}fonctionnalité? Sur mon système, tout le texte apparaissant après une gotoinstruction (quelle que soit la valeur utilisée pour le décalage de position x) ne s'affiche pas.
user001
2
@ user001 Pas que je sache. Assurez-vous que vous ne remplacez pas la valeur de TERM. Une façon de déboguer ceci est de regarder avec quelles séquences de contrôle Conky émet strace -ewrite -p$(pidof conky). Posez une question si vous ne savez pas comment comprendre cela.
Gilles 'SO- arrête d'être méchant'
conky -Dpourrait également être utile (mettra conky en mode débogage, vous permettant de jeter un œil plus profondément dans son fonctionnement interne et peut-être de vous donner une idée de ce contre quoi votre construction de conky est "allergique")
syntaxerror