Goto/offset/voffset (fr)

From Conky PitStop

Jump to: navigation, search

Goto/offset/voffset

 Langue   English   Français   


Préambule

Vous allez devoir travailler un peu sur les "intervalles" pour placer précisément du texte dans votre fenêtre de Conky. Vous avez lu la page "Intervalles" dans Conky j'espère.

Quelques recommandations à prendre en compte :

1. Pour la section avant-TEXT, ces lignes sont nécessaires pour fixer la sortie des pourcentages sur 2 chiffres et l'utilisation d'unités courtes :

short_units yes
pad_percents 2

short_units affichera M à la place de M/b ou G au lieu de G/b. Et pad_percents forcera tous les affichages en % avec des nombres à deux chiffres, sauf si vous utilisez un autre programme comme vnstat pour récupérer des valeurs. Une autre commande utile pour placer les chiffres est ${goto} : cette commande utilise la décimale comme point de référence pour les alignements.

Goto-1.png

2. Si les alignements de texte sont des facteurs critiques pour votre affichage, je répète que des polices à chasse fixe sont importantes.

3. Un autre point à considérer est la police et sa taille. Par exemple, la police "woodbadge" utilisée ci-dessous N'EST PAS une police à chasse fixe et avec une taille de 40, un simple espace est beaucoup plus large qu'avec (par exemple) la police DejaVu Sans Mono:bold:size=9. Pensez à désactiver les polices (avec ${font}) avant de commencer une nouvelle ligne ou avant d'ajouter un espace pour la commande suivante, sauf si vous voulez un plus grand espace.

Par exemple:

${font woodbadge:size=40}Name:  ${font DejaVu Sans Mono:bold:size=9}Bruce
Address: 123 Any St.${font}

s'affichera différemment de

${font woodbadge:size=40}Name:${font DejaVu Sans Mono:bold:size=9}  Bruce
Address: 123 Any St.${font}

à cause du changement de police et de la position de l'espace.

Regardez où est l'espace entre :
   Name: ${font DejaVu Sans Mono:bold:size=9}Bruce
et
   Name:${font DejaVu Sans Mono:bold:size=9} Bruce
C'est la seule différence entre ces deux lignes.

Goto-2.png

Commençons

A présent, que font ${goto}, ${offset} et ${voffset}? Ces commandes placent le texte à des endroits précis dans la fenêtre de Conky.

${goto xx} – utilisé habituellement avec un nombre positif, place le texte à xx pixels à droite de zéro . “Zéro” est important, c'est le côté gauche de votre conky. Donc -xx va déplacer le texte à gauche de zéro (vous risquez donc de ne pas voir votre texte). En résumé, si vous avez un conky de 1000 pixels de large, 0 est le pixel le plus à gauche et 999 le pixel le plus à droite.

${offset xx} déplace le texte de la même manière mais démarre de l'endroit d'où vous l'appelez.

Regardez les trois lignes dans l'exemple ci-dessous (notez la police utilisée) :

Line 1 a son texte en désordre, mais avec ${goto 0} "This is" sera à la bonne place. Et ${goto 54} affichera “text.” à la fin de la phrase.

Lines #2 & 3, montrent ce que ${offset} peut faire.

${font DejaVu Sans Mono:bold:size=9}
Line 1:
${goto 54}text.${goto 0}This is

Line 2:
This is${offset 80}text

Line 3:
${offset 80}text${goto 0}This is
${font}
Goto-3.png

Comme vous le voyez, les lignes 2 & 3 utilisent la même commande “${offset 80}text” mais placent “text” à différents endroits dans la ligne.

Maintenant, regardons ${voffset} de plus près

Avant de regarder cette commande, je vous avertis que "chaque fois" que vous utiliserez cette commande, vous créerez un espace vide en dessous. en voici la raison, disons que vous créez ce conky de 5 lignes :

TEXT
${font DejaVu Sans Mono:bold:size=9}line 1
line 2
line 3
line 4
line 5${font}

Vous créez un conky de 5 lignes (dont la taille est déterminée par la police utilisée) sur votre écran !

Maintenant, utilisons ${voffset} et déplacons les lignes vers le haut :

${font DejaVu Sans Mono:bold:size=9}line 1
${voffset -15}${goto 54}line 2
${voffset -15}${goto 108}line 3
${voffset -15}${goto 162}line 4
${voffset -15}${goto 216}line 5${font}

Vous utilisez donc 5 lignes de code, même si vous avez déplacé la "position de l'affichage", c'est tout ce que vous avez fait : "déplacer le position de l'affichage" comme ceci :

Goto-4.png

Et c'est pour cette raison que nous pouvons avoir des choses comme ceci (cf Barres et textes):

Goto-05.png

La suite de ${voffset xx}

${voffset xx}

Prenons un exemple :

Goto-6.png

NOTE: Cet exemple provient d'un de mes conkys, j'ai enlevé la commande ${color} pour plus de lisibilité.

TEXT
${font woodbadge:size=40}IP:${font}
${font DejaVu Sans Mono:bold:size=9}Up:${upspeed eth0} k/s ${totalup eth0}
${addr eth0}
Down:${downspeed eth0} k/s ${totaldown eth0}${font}

Comme vous le voyez, j'utilise une "grosse" police pour afficher le texte "IP:" et les trois lignes suivantes qui affichent les vitesses d'upload et de download et l'adresse IP sont dans une police plus petite, à chasse fixe.

Vous avez donc 4 lignes à afficher à l'écran :

IP:
Up: 0 K/s 2.68M
xxx.xxx.xxx.xxx
Down: 0 k/s 9.34M

Mais nous voulons tout afficher sur la même ligne, on utilisera 3 ${goto xx} et 1 ${voffset xx}. Pourquoi 1 seul ${voffset} vous demandez-vous ! C'est simple, une fois utilisé, il déplace "tout ce qui suit" vers le bas ou vers le haut.

On commence donc avec ${goto} pour déplacer la 4ème ligne après le texte "IP:". Pourquoi commencer par la dernière ligne ? “Down” à plus de caractères que “Up”, c'est donc lui qui sera le plus prêt de "IP:", donc on le place en premier.

TEXT
${font woodbadge:size=40}IP:$font
${font DejaVu Sans Mono:bold:size=9}Up:{upspeed eth0} k/s ${totalup eth0}
${addr eth0}
${goto 85}Down:{downspeed eth0} k/s ${totaldown eth0}


Pas mal ! Faisons de même pour la 3ème ligne puis avec la ligne 2, je place le ${goto} après la commande ${font}, c'est une habitude, ça na pas trop d'importance.

TEXT
${font woodbadge:size=40}IP:$font
${font DejaVu Sans Mono:bold:size=9}${goto 99}Up:{upspeed eth0} k/s ${totalup eth0}
${goto 85}${addr eth0}
${goto 85}Down:{downspeed eth0} k/s ${totaldown eth0}

Bien, maintenant toutes les ligns s'affichent à droite de "IP:". Il faut à présent les déplacer vers le haut avec ${voffset} jusqu'à obtenir un affichage correct. Placer ${voffset} sur la deuxième ligne montera toutes les lignes suivantes.

TEXT
${font woodbadge:size=40}IP:$font
${font DejaVu Sans Mono:bold:size=9}${voffset -45}${goto 99}Up:{upspeed eth0} k/s ${totalup eth0}
${goto 85}${addr eth0}
${goto 85}Down:{downspeed eth0} k/s ${totaldown eth0}

Voilà à quoi ça ressemble dans mon conky, avec le code complet :

TEXT
${color2}${font woodbadge:size=40}IP:${font}${color}
${font DejaVu Sans Mono:bold:size=9}${voffset -45}${goto 99}${color9}Up:${color}${upspeed eth0} k/s ${totalup eth0}
${goto 85}${addr eth0}
${goto 85}${color3}Down:${color}${downspeed eth0} k/s ${totaldown eth0}${color}${font}


Goto-7.png
Merci à Jackzor & djyoung4, pour m'avoir indiquer les points suivants :

Comme je le disais au début de la page :

short_units yes
pad_percents 2
TEXT

sont deux variables très utiles et il y en a une autre qui sera du meilleur effet sur votre conky si vous utilisez les "Processus"

short_units yes
pad_percents 2
top_name_width 7
TEXT

top_name_width – largeur pour les valeurs de $top_name (la valeur par défaut est de 15 caractères).

… donc "top_name_width 7" limitera les noms des processus à 7 caractères et permettra un alignement exact des valeurs avec $goto.

Le conky ci-dessous affichera les processus qui sont affichés dans la fenêtre de droite. J'adore comme les décimales sont bien alignées !

default_color FFDEAD #NavajoWhite
color0 FFFFF0 #Ivory
color1 CD5C5C #IndianRed #00CED1 DarkTurquoise #FFA07A LightSalmon #00FFFF Cyan
color2 FF8C00 #Darkorange #D2691E #Chocolate
color3 7FFF00 #Chartreuse
color4 778899 #LightSlateGrey
color5 DCDCDC #Gainsboro
color6 00BFFF #DeepSkyBlue
#    colours below used by colorize script
color7 48D1CC #MediumTurquoise
color8 FFFF00 #Yellow
color9 FF0000 #Red
 
pad_percents 2
top_name_width 7
minimum_size 120 100
 
TEXT
${goto 10}${color4}${cpubar cpu0 25,160}
${voffset -33}${goto 20}${color0}${font dodger:size=15}CPU${font}${goto 120}${voffset -3}${font DejaVu Sans Mono:size=12}${cpu cpu0} %${font}
${voffset 10}${goto 10}${color3}Name${goto 85}CPU${goto 135}MEM${color}
${voffset 5}${goto 10}${top name 1}${goto 70}${top cpu 1}${goto 120}${top mem 1}
${goto 10}${top name 2}${goto 70}${top cpu 2}${goto 120}${top mem 2}
${goto 10}${top name 3}${goto 70}${top cpu 3}${goto 120}${top mem 3}
${goto 10}${top name 4}${goto 70}${top cpu 4}${goto 120}${top mem 4}
${goto 10}${top name 5}${goto 70}${top cpu 5}${goto 120}${top mem 5}
${goto 10}${top name 6}${goto 70}${top cpu 6}${goto 120}${top mem 6}
${goto 10}${top name 7}${goto 70}${top cpu 7}${goto 120}${top mem 7}
${goto 10}${top name 8}${goto 70}${top cpu 8}${goto 120}${top mem 8}
${goto 10}${top name 9}${goto 70}${top cpu 9}${goto 120}${top mem 9}
${goto 10}${voffset 33}${color4}${membar 25,160}
${voffset -33}${goto 20}${color0}${font dodger:size=15}MEM${font}${goto 120}${voffset -3}${font DejaVu Sans Mono:size=12}${memperc} %${font}
${voffset 10}${goto 10}${color3}Name${goto 85}CPU${goto 135}MEM${color}
${voffset 5}${goto 10}${top_mem name 1}${goto 70}${top_mem cpu 1}${goto 120}${top_mem mem 1}
${goto 10}${top_mem name 2}${goto 70}${top_mem cpu 2}${goto 120}${top_mem mem 2}
${goto 10}${top_mem name 3}${goto 70}${top_mem cpu 3}${goto 120}${top_mem mem 3}
${goto 10}${top_mem name 4}${goto 70}${top_mem cpu 4}${goto 120}${top_mem mem 4}
${goto 10}${top_mem name 5}${goto 70}${top_mem cpu 5}${goto 120}${top_mem mem 5}
${goto 10}${top_mem name 6}${goto 70}${top_mem cpu 6}${goto 120}${top_mem mem 6}
${goto 10}${top_mem name 7}${goto 70}${top_mem cpu 7}${goto 120}${top_mem mem 7}
${goto 10}${top_mem name 8}${goto 70}${top_mem cpu 8}${goto 120}${top_mem mem 8}
${goto 10}${top_mem name 9}${goto 70}${top_mem cpu 9}${goto 120}${top_mem mem 9}${font}${color}
Personal tools
Namespaces
Variants
Actions
Navigation
English
Français
Toolbox