De vraies icônes météo dans conky

Suite à mon précédent billet sur Conky, Torp, un des lecteurs de ce blog m’a fait part cet été dans les commentaires de son souhait de remplacer les pictogrammes météo par de vraies icônes dont parle la documentation d’Ubuntu-fr. Comme il s’agissait de la période des vacances, je n’ai pas trouvé le temps d’explorer ce sujet. Torp est parvenu à force de recherches et de visites sur le Forum Ubuntu-fr à trouver SA solution et à se faire un sympathique Conky.

J’ai donc à mon tour cherché à reproduire ce type de conky car, il faut bien l’avouer, ces images sont beaucoup plus sympathiques que les pictogrammes.

Je suis alors moi aussi allé me promener sur le forum Ubuntu-fr afin de lire les posts que Torp m’avait indiqué, notamment les posts 879 et 880 de la page 36 et les posts d’Usm77 des pages 31 et 32 afin de me mettre au travail.

La réalisation de ce Conky a été longue et fastidieuse car la difficulté est d’une part de placer harmonieusement ces images dans le conky et d’autre part d’insérer ce dernier en fonction du fond d’écran mais avec un peur de patience, le résultat obtenu mérite que l’on y consacre un peu de temps.

Toutes les les icônes météo se trouvent déjà (si vous avez installé ConkyForecast) dans votre dossier usr/share/conkyforecast/image sauf celle représentant le thermomètre. Vous pouvez donc si vous la voulez la télécharger sur votre PC…

.. et l’enregistrer dans un dossier pix que vous créerez dans votre dossier .conky (le chemin ~/.conky/pix/thermo1.png sera important pour la suite).

Ce dossier étant créé, il va falloir modifier le fichier conkyForecast.template en ouvrant un terminal et en entrant la commande

gedit ~/.conky/conkyForecast.template

Mon conkyForecast.template se présente de la manière suivante :

${voffset 5}${goto 10}${font ConkyWeather:style=Bold:size=60}${image [--datatype=WI] -p 0,40 -s 90x90}${font}
${image $HOME/.conky/pix/thermo1.png -p 0,150 -s 40x40}${goto 60}${voffset 15}${font Bitstream Vera Sans Mono:style=Bold:size=16}[--datatype=HT --hideunits --centeredwidth=3]${font}
#/[--datatype=LT --hideunits --centeredwidth=3]
${voffset 10}${goto 10}${image [--datatype=BI] -p 0,205 -s 45x45}${goto 50}${voffset 25}${font Bitstream Vera Sans Mono:style=Bold:size=12}[--datatype=WS --imperial]
${goto 50}${font Bitstream Vera Sans Mono:style=Bold:size=12} [--datatype=WD]${font}  ${voffset -175}${goto 100}${color1}${font Bitstream Vera Sans Mono:style=Bold:size=15 les t}[--datatype=CT]${font}
# datatype OB=Station / CN=Ville
${voffset 20}${goto 120}${color3}Ville : $alignr${color1}[--datatype=CN]
${goto 120}${color3}Précipitations : $alignr${color1}[--datatype=PC --startday=0]
${goto 120}${color3}UV : $alignr${color1}[--datatype=UI] - [--datatype=UT]
${goto 120}${color3}Humidité : $alignr${color1}[--datatype=HM]
${goto 120}${color3}Point de rosée : $alignr${color1}[--datatype=DP]
${goto 120}${color3}Lever/Coucher : $alignr${color1}[--datatype=SR] / [--datatype=SS]
${goto 120}${color3}Pression : $alignr${color1}[--datatype=BR] - [--datatype=BD]
${goto 120}${color3}Lune : $alignr${color1}[--datatype=MP]
${color1}${voffset 40}${goto 25}[--datatype=DW --startday=1 --shortweekday]${offset 55}[--datatype=DW --startday=2 --shortweekday]${offset 55}[--datatype=DW --startday=3 --shortweekday] ${offset 55}[--datatype=DW --startday=4 --shortweekday]
${goto 30}${image [--datatype=WI --startday=1] -p 10,335 -s 45x45}
${goto 30}${image [--datatype=WI --startday=2] -p 95,335 -s 45x45}
${goto 30}${image [--datatype=WI --startday=3] -p 175,335 -s 45x45}
${goto 30}${image [--datatype=WI --startday=4] -p 265,335 -s 45x45}
${goto 15}[--datatype=HT --startday=1 --hideunits --centeredwidth=3]/[--datatype=LT --startday=1 --hideunits --centeredwidth=3]${goto 95}[--datatype=HT --startday=2 --hideunits --centeredwidth=3]/[--datatype=LT --startday=2 --hideunits --centeredwidth=3]${goto 180}[--datatype=HT --startday=3 --hideunits --centeredwidth=3]/[--datatype=LT --startday=3 --hideunits --centeredwidth=3]${goto 265}[--datatype=HT --startday=4 --hideunits --centeredwidth=3]/[--datatype=LT --startday=4 --hideunits --centeredwidth=3]
${image [--datatype=MI] -p 170,240 -s 35x35}
${voffset 5}${goto 5}${color3}Dernière mise à jour météo: ${color1}[--datatype=LU]${font}

Vous remarquerez que les images sont appelées par les commandes de type ${image [--datatype=WI --startday=1] -p 10,335 -s 45x45} où l’on retrouve dans l’ordre l’icône à utiliser (ne pas y toucher), la position de l’image et enfin sa taille. C’est sur ces deux derniers paramètres qu’il faut régulièrement intervenir afin de trouver les positions idéales de chaque image.

La ligne ${image $HOME/.conky/pix/thermo1.png -p 0,150 -s 40x40}${goto 60}${voffset 15}${font Bitstream Vera Sans Mono:style=Bold:size=16}[--datatype=HT --hideunits --centeredwidth=3]${font} va chercher l’image du thermomètre. Si vous l’avez mise ailleurs que dans le dossier pix indiqué précédemment, il suffit d’indiquer VOTRE chemin.

Une fois les icônes placées, il faut faire coïncider les jours de la semaine avec ces dernières. Il s’agit de la ligne

${color1}${voffset 40}${goto 25}[--datatype=DW --startday=1 --shortweekday]${offset 55}[--datatype=DW --startday=2 --shortweekday]${offset 55}[--datatype=DW --startday=3 --shortweekday] ${offset 55}[--datatype=DW --startday=4 --shortweekday]

{goto25} indique le retrait du premier jour et les {offset 55} l’espacement à respecter entre chaque jour.

Pour l’alignement des températures mini/maxi indiquées sous chaque icône, les modifications devront êtres apportées dans la ligne

${goto 15}[--datatype=HT --startday=1 --hideunits --centeredwidth=3]/[--datatype=LT --startday=1 --hideunits --centeredwidth=3]${goto 95}[--datatype=HT --startday=2 --hideunits --centeredwidth=3]/[--datatype=LT --startday=2 --hideunits --centeredwidth=3]${goto 180}[--datatype=HT --startday=3 --hideunits --centeredwidth=3]/[--datatype=LT --startday=3 --hideunits --centeredwidth=3]${goto 265}[--datatype=HT --startday=4 --hideunits --centeredwidth=3]/[--datatype=LT --startday=4 --hideunits --centeredwidth=3]

où chaque {goto xx} indique le retrait de chaque température.

Ces réglages se révèlent donc  relativement longs et fastidieux puisque si l’on ne veut pas faire d’erreur, il faut à chaque modification enregistrer le fichier, arrêter le conky ([Alt]+[F2] killall conky), redémarrer le conky ([Alt]+[F2] conky) et ce jusqu’à obtention du résultat escompté.

J’ai ensuite modifier mon fichier .conkyrc afin de le « caler » avec mon fond d’écran « The Oneiric Ocelot » (disponible ici) en entrant dans un terminal la commande

gedit ~/.conkyrc


Voici ce .conkyrc modifié :

# Configuration du Conky
# édité par Claude Picot : http://www.clapico.com/
# Inscrivez yes si vous souhaitez que Conky soit intégré à votre fond d'écran
background yes
# X font quand Xft n'est pas actif
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
# Inscrivez yes pour utiliser xft
use_xft yes
# Police à utiliser (Xft doit être actif)
xftfont Ubuntu Mono:size=11
# Text alpha quand Xft est utilisé
xftalpha 0.8
# Intervalle de rafraichissement en secondes
update_interval 1.0
# Nombre de fois où Conky dois se mettre à jour avant de quitter.
# Inscrivez 0 si vous ne souhaitez pas que Conky s'arrête.
total_run_times 0
# Créez une fenêtre indépendante au lieu d'utiliser le bureau (requis dans nautilus)
own_window no
# Réduire l'effet de scintillement
double_buffer yes
# Taille minimum de la zone de texte
minimum_size 420 0
maximum_width 420
# afficher les ombres
draw_shades yes
# afficher les contours
draw_outline no
# afficher les contours autour des textes
draw_borders no
# afficher les contours autour des graphiques
draw_graph_borders yes
# Espacement des séparations ?
stippled_borders 8
# Espacement des marges
border_margin 4
# largeur des contours
border_width 1
# Couleur par défaut du conky, ombres et contours
default_color white
default_shade_color black
default_outline_color white
# Utiliser sa propre fenêtre
own_window yes
# Effet de transparence
own_window_transparent yes
#Type de fenêtre
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Emplacement du texte
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right
# Ecart entre les bords du Conky et les bords de l'écran (permet de positionner le Conky sur l'écran)
gap_x 60
gap_y 35
# Soustraire là mémoire tampon à la mémoire utilisée
no_buffers yes
# Texte en Majuscules
uppercase no
# Nombre d'echantillons (processeurs pour faire la moyenne)
# Indiquez 1 si vous ne voulez pas la moyenne
cpu_avg_samples 2
# Nombre d'échantillons (réseaux pour faire la moyenne)
# Indiquez 1 si vous ne voulez pas la moyenne
net_avg_samples 2
# Forcez UTF8? (le support UTF8 support requiert XFT)
override_utf8_locale yes
# Ajoutez des espaces pour empêcher le mouvement des objets (ne concerne que certains objets)
use_spacer right
# Choix des couleurs
#color1 blue
#color1 ffcc99
color1 99FFFF
# light blue
color2 E0D6BA
# orange
#E77320
color3 FFFFFF
#color3 22ddee
#color3 3BFE00
# green
color4 78BF39
# red
color5 CC0000
text_buffer_size 2048

# tout ce qui suit TEXT sera repris dans le Conky

TEXT
${color3}Bienvenue sur $nodename $sysname $kernel
${color3}IP : ${color1}${addr wlan0}${color3} ESSID : ${color1}${wireless_essid wlan0}${color3} Signal WiFi: ${color1}${wireless_link_qual wlan0}%
${offset -5}${color3}${font Ubuntu:style=CleanCut:size=10} ${voffset -2}${font Ubuntu:style=Bold:size=11}Météo${font} ${hr}${color1}${execpi 1800 conkyForecast --location=FRXX4160 --template=~/.conky/conkyForecast.template}
${color3}
${color3}
${color3}
${color3}
${color3}
${color3}
${color3}Load :${color1} $loadavg
${color3}CPU Utilisé :${color1} $cpu% ${color3}${cpubar}
${color3}${cpugraph yellow FC8820}
${color3}Mémoire RAM :${color1} $mem/$memmax - $memperc% ${color3}${membar}
${color3}Utilisation du Swap :${color1} $swap/$swapmax - $swapperc% ${color3}${swapbar}
${color3}Température : ${color1}$acpitemp °C
${color3}Espace Disque
${color3}Libre : ${color1}${fs_free /}/${fs_size /} ${color3}${fs_bar /}
${color3}Processus :${color1} $processes ${color3} En cours :${color1} $running_processes
${color3}Utilisation du CPU
${offset 10}${color3}Nom ${alignr 50}PID ${alignr 20}CPU%
${offset 10}${color1}${top name 1} ${alignr 30}${top pid 1} ${alignr 15}${top cpu 1}
${offset 10}${color #888888}${top name 2} ${alignr 30}${top pid 2} ${alignr 15}${top cpu 2}
${offset 10}${color #888888}${top name 3} ${alignr 30}${top pid 3} ${alignr 15}${top cpu 3}
${color3}Utilisation de la Mémoire
${offset 10}${color3}${color3}Nom ${alignr 50}PID ${alignr 20}Mem%
${offset 10}${color1}${top_mem name 1} ${alignr 30}${top_mem pid 1} ${alignr 15}${top_mem mem 1}
${offset 10}${color lightgrey}${top_mem name 2} ${alignr 30}${top_mem pid 2} ${alignr 15}${top_mem mem 2}
${offset 10}${color lightgrey}${top_mem name 3} ${alignr 30}${top_mem pid 3} ${alignr 15}${top_mem mem 3}

Amusez-vous bien

 

 

Billets reliés

Vus : 4084
Publié par Clapico : 290