LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


personaliser:conky

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

personaliser:conky [2018/11/17 13:54]
personaliser:conky [2018/11/17 13:54] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Conky ======
 +**Conky** est une application qui délivre en temps réel des informations sur votre système.\\
 +Ces informations s'​affichent sur votre bureau, dans une fenêtre classique, dans une barre de status comme dzen ou dans une barre de statut propre à un gestionnaire de fenêtres, comme dwm ou wmfs.\\
 +Conky est livré avec de nombreuses options internes mais peut aussi faire appel à des scripts (bash,​python,​lua...),​\\
 +ce qui lui permet d'​afficher à peu près tout ce que vous voulez et comme vous le voulez.\\
 +\\
 +La configuration de Conky passe par l'​édition du fichier **.conkyrc** situé généralement dans votre dossier utilisateur.\\
 +Ce fichier se divise en deux parties:
 +  * les **"​[[personaliser:​conky:​fonctions|fonctions]]"​** déterminent l'​emplacement,​ la dimension, le type de fenêtre, la couleur du texte...
 +  * les **"​[[personaliser:​conky:​variables|variables]]"​** déterminent la nature des informations à afficher.
 +La séparation se fait par la ligne "​TEXT"​ dans le conkyrc; tout ce qui vient après TEXT sera affiché dans votre conky.\\
 +Si vous désirez vous appuyer sur des exemples pour construire votre conky, vous pouvez visiter ma [[http://​arpinux.org/​x/​doku.php/​user_tools:​conky:​arpconky| gallerie'​conky]].
 +
 +===== Configuration =====
 +Le net est rempli de tutoriels plus ou moins complets à propos de conky. Une des meilleures sources d'​information (en dehors du [[http://​conky.sourceforge.net/​|site officiel]]) reste [[http://​conky.pitstop.free.fr/​|Conky Pitstop]], où vous pourrez trouver de nombreuses astuces en français (merci wlourf). Vous trouverez une liste détaillée complète des [[personaliser:​conky:​fonctions|fonctions]] et [[personaliser:​conky:​variables|variables]] employées par conky dans ce wiki, mais quelques exemples seront plus explicatifs:​ en passant par ces configurations,​ vous aurez un apperçu assez complet des possibilités de conky.
 +
 +==== Conky classique ====
 +Prenons pour exemple le conky de départ de [[http://​crunchbanglinux-fr.org|crunchbanglinux]],​ une des quelques distributions proposant un conky par défaut. (le fichier est placé dans votre /​home/​$USER/​.conkyrc).\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​cbl_conky.png?​200|conky crunchbanglinux}}\\ Nous allons détailler le conkyrc qui permet cet affichage.\\
 +<​file>##############################################​
 +#  Settings
 +##############################################​
 +background yes                                                     ## permet à conky de tourner en arrière-plan
 +use_xft yes                                                        ## utilise la police xft
 +xftfont sans:​size=9 ​                                               ## nom de la police xft à utiliser
 +xftalpha 1                                                         ## opacité de la police xft, ici 1=opaque
 +update_interval 1.0                                                ## conky se recharge toutes les secondes
 +total_run_times 0                                                  ## conky se relance à l'​infini
 +own_window yes                                                     ## conky utilise sa propre fenêtre
 +own_window_transparent yes                                         ## conky dessine une fenêtre transparente
 +own_window_type desktop ​                                           ## type de fenêtre de conky: bureau
 +own_window_hints undecorated,​below,​sticky,​skip_taskbar,​skip_pager ​ ## propriétés de la fenêtre
 +double_buffer yes                                                  ## empêche le clignotement
 +minimum_size 200 200                                               ## taille minimale largeur200,​hauteur200
 +maximum_width 240                                                  ## largeur maximale 240 px
 +draw_shades no                                                     ## n'​affiche pas les ombres sous le texte
 +draw_outline no                                                    ## n'​affiche pas le contour de la police
 +draw_borders no                                                    ## n'​affiche pas les bordures
 +draw_graph_borders no                                              ## n'​affiche pas le contour des graphiques
 +default_color d8d8d8 ​                                              ## couleur des textes et bordures
 +default_shade_color 000000 ​                                        ## couleur des ombres
 +default_outline_color d9d7d6 ​                                      ## couleur du contour de la police
 +alignment top_right ​                                               ## alignement de conky, ici en haut à droite
 +gap_x 12                                                           ## décallage horizontal, ici 12px
 +gap_y 24                                                           ## décallage vertical, ici 24px
 +no_buffers yes                                                     ## '​buffers'​ non pris en compte dans le calcul de mémoire.
 +uppercase no                                                       ## police en mode normal (Maj/min)
 +cpu_avg_samples 2                                                  ## nombre de processeurs pris en compte: ici 2
 +override_utf8_locale yes                                           ## pour avoir les caractères accentués
 +##############################################​
 +#  Output
 +##############################################​
 +TEXT                                                               ## ici commencent les informations à afficher
 +I N F O R M A T I O N S   S Y S T E M E                            ## texte brut sans variables (pas de $)
 +${hr}                                                              ## ligne horizontale
 +Hôte :​$alignr$nodename ​                                            ##--|
 +Uptime :​$alignr$uptime ​                                            ## ​ |
 +RAM :​$alignr$mem/​$memmax ​                                          ## ​ |--variables notez que les {} ne sont pas
 +Swap :​$alignr$swap/​$swapmax ​                                       ##  |  nécessaires pour les variables sans arguments
 +Partition / :​$alignr${fs_used /​}/​${fs_size /}                      ##  |
 +CPU :​$alignr${cpu cpu0}% ​                                          ##--|
 +                                                                   ## lignes vides: notez que conky prend en compte
 +                                                                   ## ​              les sauts de lignes.
 +R A C C O U R C I S   C L A V I E R                                ## texte brut sans variables (pas de $)
 +${hr}                                                              ## ligne horizontale
 +Alt+F2$alignr Exécuter ​                                            ## ici commencent la description des raccourcis clavier #!
 +Alt+F3$alignr Exécuter (alternatif)
 +Super+Space$alignr Menu Principal
 +Super+Tab$alignr Menu du client
 +Super+t$alignr Terminal
 +Super+f$alignr Gestionnaire de fichiers ​                           ## notez la variable "​$alignr"​ (alignement à droite)
 +Super+e$alignr Editeur de texte                                    ## qui permet une meilleure présentation
 +Super+m$alignr Lecteur multimédia
 +Super+w$alignr Navigateur web
 +Super+l$alignr Vérouiller l'​écran
 +Super+v$alignr Contrôle du volume
 +Super+x$alignr Déconnexion
 +PrtSc$alignr Capture d'​écran
 +</​file>​
 +Hormis la description des raccourcis claviers, ce conky ressemble beaucoup à la configuration de conky par défaut (situé dans /​etc/​conky/​conky.conf). Cette configuration de base est suffisamment explicite pour qui veut un conky simple.
 +
 +==== Conky en ligne ====
 +Le conky en ligne, nommé ainsi car il tient sur une seule ligne (ou deux), est une façon élégante d'​afficher ses informations système. C'est aussi très pratique, car combiné à la configuration des "​marges"​ d'​openbox,​ vos informations resteront toujours visibles. La configuration de ce genre de conky est un peu plus complexe car elle fait entrer en jeu les variables d'​alignements et de décallage ainsi que quelques scripts.\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky_one-line.png?​600|conky en ligne}}\\
 +Examinons le conkyrc correspondant:​\\
 +<​file>​background yes
 +use_xft yes                                                        ## une police à chasse fixe est recommandée pour
 +xftfont Terminus:​pixelsize=10 ​                                     ## ce genre de conky. ​
 +xftalpha 0.8                                                       
 +update_interval 1.0
 +total_run_times 0
 +own_window yes
 +own_window_transparent no                                          ## la fenêtre est opaque pour être toujours visible ​
 +own_window_colour 161616
 +own_window_type override ​                                          ## type "​override":​ conky 100% indépendant
 +own_window_title Infos System
 +own_window_hints undecorated,​below,​sticky
 +double_buffer yes
 +minimum_size 1024 0                                                ## largeur mini=maxi=taille de l'​écran,​ conky
 +maximum_width 1024                                                 ## ressemble à une barre de tâche
 +draw_shades no
 +draw_outline no
 +draw_borders no
 +border_inner_margin 0
 +draw_graph_borders no
 +default_color grey60 ​                                              ## couleur par défaut
 +color1 FF3A3A # rouge                                              ##--|
 +color2 FFC13A # orange ​                                            ## ​ |
 +color3 68FF3A # vert                                               ## ​ |--couleurs additionnelles
 +color4 3AFFFD # bleu ciel                                          ##  |
 +color5 443AFF # bleu marine ​                                       ##--|
 +alignment tr
 +gap_x 0
 +gap_y 0
 +no_buffers yes
 +uppercase no
 +text_buffer_size 1024
 +top_name_width 10                                                  ## limite la taille des noms des processus dans '​$top'​
 +cpu_avg_samples 2
 +short_units yes
 +override_utf8_locale yes
 +use_spacer none
 +if_up_strictness address ​                                          ## attend d'​obtenir une IP avant de déclarer le réseau ouvert
 +##############################################​
 +#  Output
 +##############################################​
 +TEXT
 +  Pkg ${texeci 28800 ~/​bin/​debupdates.sh} update(s)${goto 150}BAT ${battery_bar 8,40 BAT0} $battery${goto 376}hdd:​${ibm_temps 2}°C  cpu:​${ibm_temps 0}°C  gpu:​${ibm_temps 3}°C${goto 576}vol ${if_match "​$ibm_volume"​ == "​mute"​}mute${else}${ibm_volume}/​14${endif} - pcm ${mixer PCM}%${goto 760}R/W ${diskiograph 10,40} $diskio/​s${goto 920}HDD ${fs_bar 8,40 /} ${fs_used_perc /}%
 +${if_up eth0} ${color4}DL ${downspeedgraph 8,40 eth0} ${downspeed eth0}/​s${color3}${goto 156}UP ${upspeedgraph 8,40 eth0} ${upspeed eth0}/​s${color}${goto 296}${color grey80}gMail ${texeci 120 python ~/​bin/​gmail.py}${else} ​ no connection${endif}${goto 376}${color1}CPU ${cpugraph 8,40} $cpu% > ${top name 1}${goto 576}${color2}RAM ${membar 8,40} $memperc% > ${top_mem name 1}${color}${goto 760}${color #​CCCCCC}LOAD $loadavg${color}${alignr 10}${time %a %d %b   ​%I:​%M}</​file>​
 +Voici donc à quoi ressemble un conkyrc en ligne. Passons en revue les éléments remarquables de cette configuration:​\\ Notez l'​emploi quasi systématique de la variable '​$goto'​ qui permet de placer un élément à un endroit précis. Cette variable est très utile car elle permet d'​éviter aux autres de '​bouger':​ en effet, une variable placée par exemple derrière '​$cpu'​ sans '​$goto'​ sera continuellement en mouvement en fonction de la valeur de '​$cpu'​ (1%,​10%,​100%).\\
 +  * La première expression remarquable est aussi la première sur la ligne: elle nous renvoie le nombre de paquets pouvant être mis à jour: '​$texeci'​ execute le script "​debupdates.sh"​ toutes les 28800 secondes(8 heures). Le script:
 +<code bash>#​!/​bin/​bash
 +# conky script for displaying available updates
 +# in Debian. This script assumes you are in the
 +# sudo group and require no password for root
 +# access. Add something as such to your conkyrc:
 +#​${color}APT:​ ${color D7D3C5}${execi 28800 ~/​bin/​debupdates.sh}
 +
 +sudo apt-get -qy update > /dev/null
 +NUMOFUPDATES=$(sudo aptitude search "​~U"​ | wc -l)
 +echo $NUMOFUPDATES</​code>​
 +Vous comprenez maintenant que '​$texeci'​ éxécute ce sript, puis en lit le résultat afin de l'​afficher à l'​endroit voulu.
 +  * la seconde exression remarquable est le '​if_match'​ du volume ibm:\\
 +<​file>​vol ${if_match "​$ibm_volume"​ == "​mute"​}mute${else}${ibm_volume}/​14${endif}</​file>​
 +pourquoi demander à conky de m'​afficher '​mute'​ si '​mute'​ ?? et bien, pour pouvoir obtenir ces deux affichages:
 +soit "vol mute" soit "vol 5/14" remarquez que "/​14"​ n'​apparait pas dans le premier exemple.
 +  * la seconde ligne commence par '​${if_up eth0}, en effet, il semble inutile de demander à conky de délivrer des informations réseau si vous n'​êtes pas connecté (j'​aurais du y penser pour les mises à jour Debian ;) ):
 +<​file>​${if_up eth0} ${color4}DL ${downspeedgraph 8,40 eth0} ${downspeed eth0}/​s${color3}${goto 156}UP ${upspeedgraph 8,40 eth0} ${upspeed eth0}/​s${color}${goto 296}${color grey80}gMail ${texeci 120 python ~/​bin/​gmail.py}${else} ​ pas de connexion${endif}</​file>​
 +Dans cet exemple vous comprenez que si(if) eth0 est actif, conky affichera les graphiques (up/​downspeedgraph),​ la quantité de données transférées (up/​downspeed) ainsi que le nombre de nouveaux mails, sinon(else) "pas de connexion",​ fin des conditions(endif).\\
 +Nous retrouvons notre variable '​$texeci'​ mais associé à "​python"​ pour obtenir le nombre de nouveaux gmails. Le script:
 +<code python>#​! usr/bin/env python3
 +# simple mail script by tinara
 + 
 +import imaplib
 +import re
 + 
 +# If you don't want to use the SSL version for IMAP
 +# Mailbox = imaplib.IMAP4('​host','​port'​)
 +# gmail ex: host = imap.gmail.com,​ port = 993
 +Mailbox = imaplib.IMAP4_SSL('​host',​ '​port'​)
 +rc,resp = Mailbox.login('​username','​password'​)
 + 
 +if rc == '​OK':​
 + rc, message = Mailbox.status('​INBOX',​ "​(UNSEEN)"​)
 + unreadCount = re.search("​UNSEEN (\d+)",​str( message[0])).group(1)
 + print(unreadCount)
 +else :
 + print('​Fail to connect'​)
 + 
 +Mailbox.logout()
 +</​code>​
 +Comme dans l'​exemple du script debian, '​$texeci'​ va éxécuter puis lire le résultat du script gmail.py.
 +  * La dernière expression remarquable est située dans la dernière section:
 +<​file>​${alignr 10}${time %a %d %b   ​%I:​%M}</​file>​
 +Notez ici l'​emploi de '​${alignr 10}' qui aligne l'​heure sur la droite du conky avec une marge de 10 pixels. Notez aussi que la variable '​$time'​ respecte le formatage des arguments: les espaces sont restitués dans l'​affichage de l'​heure.\\
 +\\
 +Vous savez maintenant comment positionner votre conky, lui donner les propriétés appropriées,​ afficher vos informations à l'​emplacement désiré et faire appel à des scripts pour receuillir des informations supplémentaires.
 +
 +==== Conky fenêtré ====
 +Dans certains cas, conky peut être affiché de façon provisoire; pour donner des infos météo, des flux rss, ou pour pouvoir le déplacer et surtout, le fermer quand on veut. Dans cet exemple, nous utiliserons les flux rss:\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky-rss.png?​200|conkyrss}}\\
 +Comme vous pouvez le constater, cette fenêtre est normale :) .\\
 +Analysons le conkyrc afin de voir comment inclure des flux rss, afficher conky dans une fenêtre classique, afficher une image.
 +<​file>##############################################​
 +#  Settings
 +##############################################​
 +background yes
 +use_xft yes
 +xftfont sans:size=9
 +xftalpha 1
 +update_interval 1.0
 +total_run_times 0
 +own_window yes
 +own_window_transparent no                                ## fenêtre opaque
 +own_window_type normal ​                                  ## fenêtre de type normal afin de pouvoir être déplacée/​fermée.
 +own_window_title flux_rss ​                               ## indique un titre précis pour conky
 +own_window_hints sticky ​                                 ## conky apparaitra sur tous les bureaux virtuels
 +double_buffer yes
 +minimum_size 400 280                                     ## on fixe la taille de la fenêtre:
 +maximum_width 400                                        ## à tester selon les flux choisis.
 +draw_shades no
 +draw_outline no
 +draw_borders no
 +draw_graph_borders no
 +default_color d8d8d8
 +color1 white
 +default_shade_color 000000
 +default_outline_color d9d7d6
 +alignment top_middle ​                                    ## on centre la fenêtre sur l'​écran à l'​ouverture
 +gap_x 0
 +gap_y 150
 +border_inner_margin 0                                    ## pas de marge entre le texte et la bordure
 +border_outer_margin 0                                    ## pas de marge entre la bordure et le bord de la fenêtre.
 +no_buffers yes
 +uppercase no
 +cpu_avg_samples 2
 +override_utf8_locale yes
 +##############################################​
 +#  Output
 +##############################################​
 +TEXT
 +${image ~/​.conky/​conkyrssbg.png -p 0,0}${if_up eth0}${color1}${font Monospace:​size=12:​bold}CrunchBangLinux-fr${font}${color}
 +${rss http://​crunchbanglinux-fr.org/​forum/​extern.php?​action=feed&​type=rss 10 item_titles 5}
 +${color1}${font Monospace:​size=12:​bold}Corenominal${font}${color}
 +${rss http://​corenominal.org/​feed/​ 60 item_titles 5}
 +${color1}${font Monospace:​size=12:​bold}Darthwound${font}${color}
 +${rss http://​darthwound.tumblr.com/​rss 60 item_titles 5}${else} pas de connexion réseau.${endif}</​file>​
 +  * La première variable affiche l'​image de fond du conky (avec l'​emblême rss). Notez que cette variable n'est pas seule sur une ligne: si c'​était le cas, conky rajouterais une ligne vide à l'​affichage. Pour rajouter une image de fond, vous pouvez soit prendre n'​importe quelle image et la redimensionner avec conky (option -s LxH), soit préparer une image aux dimensions de votre conky, ce que j'ai fait avec cette image:\\ {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conkyrssbg.png?​80|conkyrss background}}\\
 +Il vous reste juste à déterminer la position par rapport au coin supérieur gauche (-p 0,0) et le tour est joué.
 +  * Vous notez le retour de notre '​$if_up eth0' qui empêche conky d'​aller chercher des informations si le réseau n'est pas disponible. Vous pouvez également constater que les variables et options se combinent : $color1 + $font pour afficher le titre dans une couleur et une police différente,​ le retour aux valeurs par défaut se faisant par un '​${font}${color}'​ en fin de ligne.
 +  * Passons aux flux rss: il existe une variable pour afficher les titres des flux rss (ex : "${rss http://​darthwound.tumblr.com/​rss 10 feed_title}"​) mais j'ai préféré éditer les noms moi-même. J'​utilise ici l'​option "​item_titles '​n'"​ qui permet d'​afficher les '​n'​ premiers titres du flux, mais vous pouvez toujours appeler les titres de flux un par un avec l'​option "​item_title '​n'"​ où '​n'​ représente le numéro du titre (NB: les titres commencent à 0).
 +  * Le petit plus: vous avez certainement noté la différence de fréquence d'​appel des flux rss selon les sites: le premier flux concerne les derniers posts actif du forum crunchbanglinux-fr,​ réglé pour être rafraichit toutes les 10 minutes: "${rss http://​crunchbanglinux-fr.org/​forum/​extern.php?​action=feed&​type=rss **10** item_titles 5}", tandis que les autres flux pointant eux sur des blogs, se renouvellent toutes les heures: "${rss http://​darthwound.tumblr.com/​rss **60** item_titles 5}".
 +  * Le gros plus: ce style de conky se lance gràce à l'​argument "​-c"​ qui indique à conky qu'il ne doit pas utiliser son conkyrc par défaut (/​home/​$USER/​.conkyrc) mais un autre fichier de configuration;​ il se lance comme ceci:\\
 +<​file>​conky -c ~/​.conky/​conkyrc-rss</​file>​
 +il est donc très facile de rajouter cette ligne de commande à votre menu openbox ou créer un raccourcis clavier correspondant.\\ La section dans votre menu pour conkyrss (~/​.config/​openbox/​menu.xml):​
 +<code xml><​item label="​flux rss">​
 +    <action name="​Execute">​
 +        <​execute>​
 +            conky -c ~/​.conky/​conkyrc-rss
 +        </​execute>​
 +    </​action>​
 +</​item></​code>​
 +La section pour un raccourcis clavier (~/​.config/​openbox/​rc.xml):​
 +<code xml><​keybind key="​W-A-r">​
 +  <action name="​Execute">​
 +    <​startupnotify>​
 +      <​enabled>​true</​enabled>​
 +      <​name>​Conky RSS</​name>​
 +    </​startupnotify>​
 +    <​command>​conky -c ~/​.conky/​conkyrc-rss</​command>​
 +  </​action>​
 +</​keybind></​code>​
 +*pour plus d'​informations sur la manière d'​éditer votre menu (menu.xml)ou votre fichier de configuration openbox (rc.xml), veuillez vous rendre sur les pages dédiées: [[http://​crunchbanglinux-fr.org/​wiki/​crunchbang:​openbox:​menu|menu.xml]] -  [[http://​crunchbanglinux-fr.org/​wiki/​crunchbang:​openbox:​raccourcis|rc.xml]].
 +
 +==== Conky dans une barre de statut ====
 +C'est le conky qui s'​affiche dans une barre de statut. Dans ce cas, conky ne s'​affiche pas réellement:​ il s'​éxécute et est "​lu"​ par la statusbar. L'​exemple classique est l'​envoi de conky dans la barre de status de [[dwm]].\\
 +Pour cela , vous aurez besoin d'un conkyrc particulier car il indiquera à conky de ne rien afficher !! ... En fait, les informations seront envoyé vers STDOUT et récupérés par dwm. Voici comment procéder:​\\ le conkyrc:
 +<​file>##############################################​
 +#  Settings
 +##############################################​
 +background no
 +out_to_console yes
 +out_to_x no
 +update_interval 1.0
 +total_run_times 0
 +uppercase no
 +short_units yes
 +use_spacer none
 +if_up_strictness address
 +##############################################​
 +#  Output
 +##############################################​
 +TEXT
 +[info-system]-[cpu:​${cpu}%]-[ram:​${memperc}%]-[i/​o:​${diskio}/​s]-[hdd:​${fs_used_perc /​}%]-[up:​${upspeedf eth0}/​s]-[down:​${downspeedf eth0}/​s}]--[${time %d/%m - %I:​%M}]</​file>​
 +Vous constatez que les fonctions sont réduites lorsque conky ne s'​affiche pas dans X. Bien sûr, les informatons étant supposées s'​afficher dans une barre de statut, conky doit tenir sur une ligne.\\ Il se lance depuis le ~/.xinitrc, juste avant le lancement de la session dwm:
 +<code bash>## set statusbar ##
 +conky | while true; read line; do xsetroot -name "​$line";​ done &
 +
 +## launch WM ##
 +exec ck-launch-session /​usr/​local/​bin/​dwm</​code>​
 +
 +==== Conky dans dzen2 ====
 +{{ http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky-dzen2.png?​600 |}}
 +\\
 +[[personaliser:​dzen2|dzen2]] est une barre d'​information hautement configurable qui va lire les informations délivrées par conky comme pour la barre de statut de dwm. l'​avantage de dzen2 est qu'il accepte les formats de couleurs, polices, peut afficher des images (xbm,xpm), graphiques ou des barres de progressions,​ et qu'il peut s'​afficher partout sur votre écran. pour plus d'​informations sur l'​installation,​ la configuration et les ooptions de dzen2, je vous laisse visiter sa [[personaliser:​dzen2|page dédiée]] sur ce wiki. pour un affichage simple de conky, une installation standard suffit, pour les débianistes:​
 +<​code>#​ apt-get install dzen2</​code>​
 +le fichier de configuration du conky présenté dans le screenshot ressemble à celui utilisé pour dwm mais ajoute les options pour dzen:
 +<​file>​out_to_x no
 +out_to_console yes
 +update_interval 1.0
 +total_run_times 0
 +use_spacer none
 +
 +TEXT
 + ​^i(/​home/​arp/​.arp_setups/​dzicons/​cal.xbm) ^fg(\#​ccc)${time %d/%m}^fg() ^i(/​home/​arp/​.arp_setups/​dzicons/​clock.xbm) ${time %I:%M}\
 +  ^fg(\#​ff4500)^i(/​home/​arp/​.arp_setups/​dzicons/​cpu.xbm) ^fg(\#​ccc)${cpu}%\
 + ​^fg(\#​ee2c2c)^i(/​home/​arp/​.arp_setups/​dzicons/​temp.xbm) ^fg(\#​ccc)${ibm_temps 0}°C\
 + ​^fg(\#​87ceeb)^i(/​home/​arp/​.arp_setups/​dzicons/​monitor.xbm) ^fg(\#​ccc)${loadavg}\
 +  ^fg(\#​00bfff)^i(/​home/​arp/​.arp_setups/​dzicons/​mem.xbm) ^fg(\#​ccc)$memperc% > $mem\
 +  ^fg(\#​ffd700)^i(/​home/​arp/​.arp_setups/​dzicons/​home.xbm) ^fg(\#​ccc)${fs_used_perc /}%\
 +${if_mounted /​media/​arp500} ^fg(\#​000)^i(/​home/​arp/​.arp_setups/​dzicons/​usb.xbm) ^fg(\#​ccc)${fs_used_perc /​media/​arp500/​}%${endif}${if_mounted /​media/​lacie300} ^fg(\#​1e90ff)^i(/​home/​arp/​.arp_setups/​dzicons/​usb.xbm) ^fg(\#​ccc)${fs_used_perc /​media/​lacie300/​}%${endif}\
 + ​^fg()${if_match ${battery_percent BAT0} >​=26}^fg(\#​7cfc00)^i(/​home/​arp/​.arp_setups/​dzicons/​bat_full_01.xbm)${endif}\
 +${if_match ${battery_percent BAT0} <​=25} ​ ^fg(\#​CC0000)^i(/​home/​arp/​.arp_setups/​dzicons/​bat_low_01.xbm)^fg()${endif} ^fg(\#​ccc)${battery_percent}%\
 + ​^fg()${if_up eth0}  ^i(/​home/​arp/​.arp_setups/​dzicons/​net_wired.xbm)\
 + ​^fg(\#​00cd00)^i(/​home/​arp/​.arp_setups/​dzicons/​net_up_02.xbm) ^fg(\#​ccc)${upspeedf eth0}\
 + ​^fg(\#​ffa500)^i(/​home/​arp/​.arp_setups/​dzicons/​net_down_02.xbm) ^fg(\#​ccc)${downspeedf eth0}\
 +^fg() ${endif}\
 +${if_match "​$ibm_volume"​ == "​mute"​ }^fg(\#​000000) ^i(/​home/​arp/​.arp_setups/​dzicons/​spkr_04.xbm)^fg(\#​ccc) mute ${else}^fg(\#​FFDF1D) ^i(/​home/​arp/​.arp_setups/​dzicons/​spkr_01.xbm)^fg(\#​ccc) ${ibm_volume}/​14${endif}</​file>​
 +**note** l'​emploi du "​\"​ en fin de ligne permet l'​annulation du saut de ligne dans conky mais aide à une meilleure lisiblilité du fichier.\\
 +\\
 +comme vous pouvez le constater, les options passées à conky sont "​encadrées"​ par les options passées à dzen2:
 +  * ^fg(): pour la couleur du texte/de l'​image
 +  * ^i() : pour l'​adresse de l'​image à afficher
 +les images doivent être au format *xbm (facilement éditables avec the Gimp). une archive contenant 67 icones est [[http://​arpinux.org/​public/​wiki/​dzicons.tar.gz|disponible ici]].\\
 +ce fichier conky est appelé par dzen2 grâce à un script (que vous prendrez soin de rejouter à votre fichier ~autostart selon votre configuration):​
 +<code bash>#​!/​bin/​sh
 +RC="​$HOME/​.conkyrc_dzen"​
 +FG="​white"​
 +BG="#​404240"​
 +ALIGN="​left"​
 +WIDTH="​744"​
 +HEIGHT="​12"​
 +FONT="​-*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*"​
 +XPOS="​30"​
 +YPOS="​756"​
 +
 +conky -d -c $RC | dzen2 -fg $FG -bg $BG -ta $ALIGN -w $WIDTH -h $HEIGHT -x $XPOS -y $YPOS -fn $FONT -dock &
 +exit 0</​code>​
 +//sources du script: [[http://​xenull.deviantart.com/​art/​Minull-Conky-266829077|minull conky]] par [[http://​xenull.deviantart.com/​|xeNULL]]//​.
 +
 +==== Conky en pipe-menu ====
 +Il est possible d'​afficher des informations venant de conky dans le menu openbox en utilisant les [[http://​crunchbanglinux-fr.org/​wiki/​crunchbang:​openbox:​menu#​pipe_menus|pipe-menus]]. //Cette fonction n'est pas accessible pour les variables '​$cpu','​$down/​upspeed*'//​\\
 +Nous allons utiliser pour cela l'​exemple précédent:​ reprenons le conkyrc-dwm,​ effacons les variables et renommons-le ~/​.conkyrc-ob (modifiez selons vos préférences mais pensez à faire correspondre le nom dans la suite de l'​exemple):​
 +<​file>##############################################​
 +#  Settings
 +##############################################​
 +background no
 +out_to_console yes
 +update_interval 1.0
 +total_run_times 0
 +uppercase no
 +short_units yes
 +use_spacer none
 +if_up_strictness address
 +##############################################​
 +#  Output
 +##############################################​
 +TEXT
 +
 +</​file>​
 +Il faut __impérativement__ laisser une ligne vide après "​TEXT"​.\\
 +Ce fichier est vide ... à quoi sert-il ?? Il sert de fichier de configuration pour les commandes passées dans ce script:
 +<code bash>#​!/​bin/​sh
 +LOAD=$(conky -c ~/​.conkyrc-ob -q -i 1 -t '​${loadavg}'​)
 +TEMP=$(conky -c ~/​.conkyrc-ob -q -i 1 -t '​${acpitemp}°C'​)
 +echo "<​openbox_pipe_menu>"​
 +echo "<​item label=\"​load:​$LOAD\"​ />"
 +echo "<​item label=\"​cpu temp:​$TEMP\"​ />"
 +echo "</​openbox_pipe_menu>"</​code>​
 +Sauvegardez-le comme ~/​bin/​sys_info.sh (modifiez selons vos préférences mais pensez à faire correspondre le nom dans la suite de l'​exemple). Et rendez-le éxécutable:​
 +<​code>​chmod +x ~/​bin/​sys_info.sh</​code>​
 +Il ne vous reste plus qu'à appeler ces informations à travers un pipe-menu. Insérez cette ligne à l'​endroit où vous désirez voir le menu apparaitre:
 +<code xml><​menu id="​infos system"​ label="​Infos Système"​ execute="​~/​.sys_info.sh"​ /></​code>​
 +Si vous désirez changer les informations affichées, editez simplement votre "​~/​bin/​sys_info.sh"​.
 +
 +==== Conky diaporama ====
 +//sources et image:// [[http://​crunchbanglinux-fr.org/​forum/​profile.php?​id=48|zubi33]] sur le [[http://​crunchbanglinux-fr.org/​forum/​viewtopic.php?​id=1750|forum crunchbang-fr]].\\
 +\\
 +il est possible de faire afficher des images par conky grâce à la [[personaliser:​conky:​variables|variable]] '​${image}'​. couplé à un script qui choisit des images de façon aléatoire, vous obtenez un diaporama de vos photos ou images favorites:​\\
 +{{ http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky-diapo-par-zubi33.png?​400 |}}\\
 +l'​exemple qui suit affiche 20 images sur un écran de 1600x900. pour une configuration différente,​ il faudra éditer le script et le conkyrc.
 +\\
 +pour obtenir un diaporama sur votre bureau avec conky, il faudra tout d'​abord choisir vos images, les placer dans un dossier, puis les modifier afin d'​ajouter une bordure et de redimensionner vos photos. enfin, vous aurez besoin d'un script pour choisir vos images de façon aléatoire et les afficher dans conky.
 +  *création du dossier contenant les images à afficher en diaporama: <​code>​$ mkdir ~/​images/​galerie_conky</​code>​
 +  *copie des photos/​images dans le dossier de destination
 +  *création du script de modification des images (dépend de **imagemagick**):​ <​code>​$ touch ~/​images/​galerie_conky/​polaroid.sh</​code>​
 +  *édition du script de modification des images avec votre éditeur de texte préféré: <code bash>#​!/​bin/​bash
 +
 +# Script permettant de générer des images avec cadre et rotation dans le dossier ./final
 +# en utilisant le remplacement.
 +# ce script s'​utilise dans le répertoire contenant les images en jpg.
 +
 +#Script start
 +
 +echo
 +
 +for fichier in *.jpg
 +do
 +  ls -l "​$fichier" ​ # Liste tous les fichiers de $PWD (répertoire courant).
 +
 +done
 +
 +echo; echo
 +
 +for fichier in *.jpg
 +do
 +
 +ANGLE=$(($RANDOM % 20)) # Angle aléatoire
 +if [ $(($RANDOM % 2)) -eq 1 ]
 +then
 +    ANGLE="​-"​$ANGLE
 +fi
 +convert "​$fichier"​ -gravity center -resize 240x240 -bordercolor snow -background black -polaroid $ANGLE "​$fichier.png"​
 +
 +
 +echo "​Conversion de \"​$fichier\""​.
 +done
 +
 +echo
 +
 +for fichier1 in *.JPG
 +
 +do
 +  ls -l "​$fichier1" ​ # Liste tous les fichiers de $PWD (répertoire courant).
 +
 +done
 +
 +echo; echo
 +
 +for fichier1 in *.JPG
 +do
 +
 +ANGLE=$(($RANDOM % 20)) # Angle aléatoire
 +if [ $(($RANDOM % 2)) -eq 1 ]
 +then
 +    ANGLE="​-"​$ANGLE
 +fi
 +convert "​$fichier1"​ -gravity center -resize 240x240 -bordercolor snow -background black -polaroid $ANGLE "​$fichier1.png"​
 +
 +
 +echo "​Conversion de \"​$fichier1\""​.
 +done
 +
 +echo
 +
 +for fichier1 in *.jpeg
 +
 +do
 +  ls -l "​$fichier1" ​ # Liste tous les fichiers de $PWD (répertoire courant).
 +
 +done
 +
 +echo; echo
 +
 +for fichier1 in *.jpeg
 +do
 +
 +ANGLE=$(($RANDOM % 20)) # Angle aléatoire
 +if [ $(($RANDOM % 2)) -eq 1 ]
 +then
 +    ANGLE="​-"​$ANGLE
 +fi
 +convert "​$fichier1"​ -gravity center -resize 240x240 -bordercolor snow -background black -polaroid $ANGLE "​$fichier1.png"​
 +
 +
 +echo "​Conversion de \"​$fichier1\""​.
 +done
 +
 +echo
 +# création du répertoire de destination
 +mkdir final/
 +# nettoyage des images originales
 +rm *.jpg
 +rm *.JPG
 +rm *.jpeg
 +# déplacement des images modifiées dans le dossier de destination
 +mv *.png final/
 +
 +echo
 +
 +exit 0</​code>​ ce script ajoute une bordure à toutes les images jpg présentes dans le dossier où il se trouve, les redimensionne en 240x240 pixels maximum sans déformation de l'​image,​ les sauvegarde au format png dans un dossier ~/​images/​galerie_conky/​final,​ puis éfface les originaux.
 +  *rendre le script exécutable:​ <​code>​$ chmod +x ~/​images/​galerie_conky/​polaroid.sh</​code>​
 +  *création du fichier de configuration de conky: <​code>​$ touch ~/​images/​galerie_conky/​conkyrc</​code>​
 +  *édition du conkyrc avec votre éditeur de texte préféré: <​file>​background yes
 +update_interval 30
 +total_run_times 0
 +
 +own_window yes
 +own_window_transparent yes
 +own_window_type override
 +own_window_hints undecorated,​below,​sticky,​skip_taskbar,​skip_pagers
 +double_buffer yes
 +minimum_size 1500 3000
 +maximum_width 1500  ​
 +alignment tl
 +
 +gap_x 10
 +gap_y 10
 +
 +imlib_cache_size 0
 +text_buffer_size 2048
 +
 +TEXT
 +${execpi 300 ~/​images/​galerie_conky/​galleryconky.sh ~/​images/​galerie_conky/​final}</​file>​
 +  *création du script de choix d'​images aléatoires:​ <​code>​$ touch ~/​images/​galerie_conky/​galleryconky.sh</​code>​
 +  *édition du script de choix d'​images <code bash>#​!/​bin/​bash
 +
 +# Photo aléatoire pour conky
 +
 +FILES=( /​home/​$USER/​images/​galerie_conky/​final/​*.png )
 +PICTURE1="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE2="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE3="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE4="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE5="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE6="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE7="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE8="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE9="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE10="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE11="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE12="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE13="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE14="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE15="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE16="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE17="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE18="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE19="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +PICTURE20="​${FILES[$(($RANDOM % ${#​FILES[@]}))]}"​
 +
 +#echo $PICTURE
 +
 +## Affichage dans conky
 +echo "​\${image $PICTURE1 -p 0,0}"
 +echo "​\${image $PICTURE2 -p 0,​150}"​
 +echo "​\${image $PICTURE3 -p 0,​300}"​
 +echo "​\${image $PICTURE4 -p 0,​450}"​
 +echo "​\${image $PICTURE5 -p 250,​0}"​
 +echo "​\${image $PICTURE6 -p 250,​150}"​
 +echo "​\${image $PICTURE7 -p 250,​300}"​
 +echo "​\${image $PICTURE8 -p 250,​450}"​
 +echo "​\${image $PICTURE9 -p 500,​0}"​
 +echo "​\${image $PICTURE10 -p 500,​150}"​
 +echo "​\${image $PICTURE11 -p 500,​300}"​
 +echo "​\${image $PICTURE12 -p 500,​450}"​
 +echo "​\${image $PICTURE13 -p 750,​0}"​
 +echo "​\${image $PICTURE14 -p 750,​150}"​
 +echo "​\${image $PICTURE15 -p 750,​300}"​
 +echo "​\${image $PICTURE16 -p 750,​450}"​
 +echo "​\${image $PICTURE17 -p 1000,​0}"​
 +echo "​\${image $PICTURE18 -p 1000,​150}"​
 +echo "​\${image $PICTURE19 -p 1000,​300}"​
 +echo "​\${image $PICTURE20 -p 1000,​450}"​
 +
 +
 +exit 0</​code>​ c'est dans ce script que vous pouvez régler le nombre et la position des images sur votre bureau.
 +  *rendre le script galleryconky exécutable:​ <​code>​$ chmod +x ~/​images/​galerie_conky/​gallery_conky.sh</​code>​
 +il ne vous reste plus maintenant qu'à choisir vos images, les placer dans le dossier ~/​images/​galerie_conky,​ puis d'​exécuter le script polaroid.sh afin de modifier vos images, et enfin de lancer votre diaporama avec la commande: <​code>​$ conky -c ~/​images/​galerie_conky/​conkyrc</​code>​
 +
 +===== Les Scripts =====
 +la meilleure source d'info en français sur les scripts utilisable par conky reste [[http://​conky.pitstop.free.fr/​wiki/​index.php5?​title=Category:​Tips_and_tricks_%28fr%29|Conky Pitstop-fr]] maintenu par [[http://​wlourf.deviantart.com/​gallery/?​catpath=/​|wlourf]]!!
 +
 +===== Les Scripts Lua =====
 +Conky gère le lua depuis sa version 1.7.2 et c'est avec joie que les divers dev et passionnés de conky se sont lancés à la conquète de nouvelles configurations.\\ Conky ne pouvait afficher jusque là que du texte ou des barres de progression rudimentaires. Avec l'​arrivée du lua , les moyens de distiller une information sont devenus quasi infinis.\\
 +[[http://​londonali1010.deviantart.com/​|Londonali1010]] est la première à avoir publié un conky s'​appuyant sur un script LUA, il me semblait donc légitime de lui réserver mon premier exemple. Je la remercie encore pour son fabuleux travail. Petit exemple de simplicité et d'​élégance par Londonali1010:​\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​rings-v1.2_ss.png?​400|ring-meters by londonali1010}}\\
 +Ce résultat est obtenu par le chargement d'un script LUA par conky. Le script original est intégralement commenté par Londonali mais .. en anglais... Pour l'​exemple,​ je vous propose ici une version traduite raccourcie :\\
 +<code lua>​--Ring Meters by londonali1010 (2009)
 +--traduction par arpinux <​http://​arpinux.org>​ (2011)
 +--Ce script dessine les valeurs en pourcentage sous forme de cercles.
 +--Il est complètement personnalisable;​ toutes les options sont décrites dans le script.
 +
 +--IMPORTANT:​ si vous utilisez la fonction 'cpu, elle causera une erreur de segmentation
 +-- si elle essaye de dessiner un cercle tout de suite. La condition '​if'​ de la ligne 255
 +-- utilise un delai pour être certain que cela n'​arrive pas. Elle calcule le delai par
 +-- rapport au nombre de rafraichissement de conky depuis son lancement.
 +-- Generalement,​ une valeur de 5 est suffisante, donc, si vous relancez conky toutes
 +-- les 5 secondes, utilisez update_num>​5 comme condition (par défaut).
 +-- Si vous relancez conky toutes les 2 secondes, vous devriez changer cette valeur
 +-- pour update_num>​3;​ à l'​inverse,​ si vous relancez conky toutes les 0,5 secondes,
 +-- vous devriez utilisez update_num>​10. AUSSI, si vous modifiez votre conkyrc,
 +-- il est préférable de faire "​killall conky; conky" pour le recharger, autrement,
 +-- le update_num ne sera pas rechargé et il y aura une erreur.
 +
 +-- Pour appeler ce script dans conky, ajouter ces lignes avant TEXT dans votre conkyrc
 +-- (si il est placé dans ~/​scripts/​ring.lua):​
 +--  lua_load ~/​scripts/​rings-v1.2-fr.lua
 +--  lua_draw_hook_pre ring_stats
 +
 +--Changelog:​
 +-- + v1.2 -- Added option for the ending angle of the rings (07.10.2009)
 +-- + v1.1 -- Added options for the starting angle of the rings,
 +--           and added the "​max"​ variable, to allow for variables that output
 +--           a numerical value rather than a percentage (29.09.2009)
 +-- + v1.0 -- Original release (28.09.2009)
 +
 +settings_table = {
 + {
 + -- Editer cette table pour personnaliser vos cercles.
 + -- Vous pouvez créer plus de cercles en ajoutant plus d'​éléments à cette table.
 + -- "​name"​ est le type d'info à afficher; vous pouvez utiliser '​cpu',​ '​memperc',​ '​fs_used_perc',​ '​battery_used_perc'​...
 + name='​time',​
 + -- "​arg"​ est l'​argument passé à "​name";​ si vous utiliseriez ${cpu cpu0}, '​cpu0'​ est l'​argument,​
 +        --  si vous n'​utiliseriez pas d'​arguments,​ employer ''​.
 + arg='​%I.%M',​
 + -- "​max"​ est la valeur maximum du cercle. Si conky affiche le résultat en pourcentage,​ employer 100.
 + max=12,
 + -- "​bg_colour"​ est la couleur de fond du cercle.
 + bg_colour=0xffffff,​
 + -- "​bg_alpha"​ est la valeur alpha du fond (0=transparent,​ 1=opaque).
 + bg_alpha=0.1,​
 + -- "​fg_colour"​ est la couleur de premier plan du cercle.
 + fg_colour=0xffffff,​
 + -- "​fg_alpha"​ est la valeur alpha du premier du cercle (0=transparent,​ 1=opaque).
 + fg_alpha=0.2,​
 + -- "​x"​ and "​y"​ sont les coordonnées du centre du cercle en partant du coin supérieur gauche du conky.
 + x=165, y=170,
 + -- "​radius"​ est le rayon du cercle.
 + radius=50,​
 + -- "​thickness"​ est l'​épaisseur du cercle, répartit autour du rayon.
 + thickness=5,​
 + -- "​start_angle"​ est l'​angle de départ du cercle, en degrés, compté depuis le sommet
 +        --  dans le sens des aiguilles d'une montre. peut être positif ou négatif.
 + start_angle=0,​
 + -- "​end_angle"​ est l'​angle de fin du cercle, en degrés, compté depuis le sommet
 +        -- dans le sens des aiguilles d'une montre. peut être positif ou négatif,
 +        -- mais doit être supérieur à l'​angle de départ.
 + end_angle=360
 + },
 + {
 + name='​time',​
 + arg='​%M.%S',​
 + max=60,
 + bg_colour=0xffffff,​
 + bg_alpha=0.1,​
 + fg_colour=0xffffff,​
 + fg_alpha=0.4,​
 + x=165, y=170,
 + radius=56,​
 + thickness=5,​
 + start_angle=0,​
 + end_angle=360
 + },
 +(...
 +.
 +...)
 + {
 + name='​fs_used_perc',​
 + arg='/',​
 + max=100,
 + bg_colour=0xffffff,​
 + bg_alpha=0.2,​
 + fg_colour=0xffffff,​
 + fg_alpha=0.3,​
 + x=165, y=170,
 + radius=135,​
 + thickness=50,​
 + start_angle=-120,​
 + end_angle=120
 + },
 +}
 +
 +require '​cairo'​
 +
 +function rgb_to_r_g_b(colour,​alpha)
 + return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
 +end
 +
 +function draw_ring(cr,​t,​pt)
 + local w,​h=conky_window.width,​conky_window.height
 +
 + local xc,​yc,​ring_r,​ring_w,​sa,​ea=pt['​x'​],​pt['​y'​],​pt['​radius'​],​pt['​thickness'​],​pt['​start_angle'​],​pt['​end_angle'​]
 + local bgc, bga, fgc, fga=pt['​bg_colour'​],​ pt['​bg_alpha'​],​ pt['​fg_colour'​],​ pt['​fg_alpha'​]
 +
 + local angle_0=sa*(2*math.pi/​360)-math.pi/​2
 + local angle_f=ea*(2*math.pi/​360)-math.pi/​2
 + local t_arc=t*(angle_f-angle_0)
 +
 + -- Dessine le fond du cercle
 +
 + cairo_arc(cr,​xc,​yc,​ring_r,​angle_0,​angle_f)
 + cairo_set_source_rgba(cr,​rgb_to_r_g_b(bgc,​bga))
 + cairo_set_line_width(cr,​ring_w)
 + cairo_stroke(cr)
 +
 + -- Dessine le premier plan du cercle
 +
 + cairo_arc(cr,​xc,​yc,​ring_r,​angle_0,​angle_0+t_arc)
 + cairo_set_source_rgba(cr,​rgb_to_r_g_b(fgc,​fga))
 + cairo_stroke(cr)
 +end
 +
 +function conky_ring_stats()
 + local function setup_rings(cr,​pt)
 + local str=''​
 + local value=0
 +
 + str=string.format('​${%s %s}',​pt['​name'​],​pt['​arg'​])
 + str=conky_parse(str)
 +
 + value=tonumber(str)
 + pct=value/​pt['​max'​]
 +
 + draw_ring(cr,​pct,​pt)
 + end
 +
 + if conky_window==nil then return end
 + local cs=cairo_xlib_surface_create(conky_window.display,​conky_window.drawable,​conky_window.visual,​ conky_window.width,​conky_window.height)
 +
 + local cr=cairo_create(cs)
 +
 + local updates=conky_parse('​${updates}'​)
 + update_num=tonumber(updates)
 +
 + if update_num>​5 then
 + for i in pairs(settings_table) do
 + setup_rings(cr,​settings_table[i])
 + end
 + end
 +end
 +
 +</​code>​
 +Pour tout vous avouer , je ne comprends absolument rien au lua :D et ce n'est pas le sujet de ce wiki, mais ce sript est si bien fait qu'il vous suffit de remplir les champs **correctement** et de suivre les instructions des archives téléchargées,​ pour obtenir toutes sortes de résultats:​\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​my_conky_config_311209_by_londonali1010.png?​260|par londonali1010}}1 {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky_rings_3_by_jpope777.png?​260|par jpope777}}2 {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​cornet_conky_by_g0rg0d-d2ucuou.png?​260|par g0rg0d}}3\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​eletric_conky_by_sunjack94-d3e1q96.jpg?​260|par sunjack94}}4 {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​more_conky_rings_by_arpinux.png?​260|par arpinux}}5 \\
 +1: [[http://​londonali1010.deviantart.com/​art/​My-Conky-Config-311209-148712243]] par londonali1010.\\
 +2: [[http://​jpope777.deviantart.com/​art/​Conky-Rings-3-139828675]] par jpope777.\\
 +3: [[http://​g0rg0d.deviantart.com/​art/​Cornet-Conky-171920478]] par g0rg0d.\\
 +4: [[http://​sunjack94.deviantart.com/​art/​Electric-Conky-204993834]] par sunjack94.\\
 +5: [[http://​arpinux.deviantart.com/​art/​more-conky-rings-139488211]] par arpinux.\\
 +**Londonali1010** a également publié un script "​[[http://​londonali1010.deviantart.com/​art/​Conky-Widgets-Script-141963883|widgets.lua]]"​ qui permet d'​inclure des "​morceaux"​ de code, les "​widgets"​. L'​utilisation de ce genre de widget permet des conkys de ce type:\\
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​bargraph_widget_for_conky_3_by_wlourf.png?​150|par wlourf}} {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky_for_some_players_by_wlourf-d2xq569.png?​300|par wlourf bis}} {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​conky_with_bars_and_texts_by_wlourf-d349j2l.png?​350|par wlourf aussi}}\\
 +
 +{{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​rings_and_sectors_conky_1_1_by_wlourf-d2vvzqk.png?​200|encore wlourf}} {{http://​arpinux.org/​x/​lib/​exe/​fetch.php/​user_tools:​conky:​text_widget_for_conky_1_42_by_wlourf-d36njc0.png?​200|}}\\
 +**tous** ces widgets ont été écrit par [[http://​wlourf.deviantart.com/​gallery/?​catpath=/​|wlourf]] :) \\
 +
 +===== Conky Weather =====
 +Alors là c'est super facile:\\
 +  * ouvrez la fenêtre... non, pas sur le bureau, la **Vraie**
 +  * ouvrez les yeux et regardez dehors. :)
 +Pour les prévisions,​ on a les proverbes populaires ou les fabuleux scripts de [[http://​conky.pitstop.free.fr/​wiki/​index.php5?​title=ConkyForecast_examples_(fr)|kaivalagi]] ;).\\
 +
 +===== Conclusion et Recommandations =====
 +Vous pouvez désormais personnaliser votre bureau à votre guise grâce à **conky**. Il existe quelques règles élémentaires lorsque vous récupérez un conkyrc/​script.lua sur le net:\\
 +  * toujours éditer les fichiers concernés et vérifier **chaque** variable. une erreur de variable ou de fonction peut conduire à une clôture prématurée du programme.
 +  * afin de tester votre configuration,​ je vous conseille de lancer votre conky depuis un terminal avec une commande du genre:\\
 +<code bash>​conky -c ~/​chemin_de_votre_conky</​code>​
 +Ce qui vous permettra de visualiser les erreurs possibles et d'y remedier avant d'​inclure votre conky dans votre ~/​.config.openbox/​autostart.sh.
 +  * les variables "​$exec"​ "​$execp"​ sont gourmandes en ressources, préférez les appels aux scripts externes avec une commande du genre:\\
 +<​code>​..${texeci 120 ~/​bin/​mon_script_bash}...
 +..${texeci 120 phython ~/​bin/​mon_script_python}...</​code>​
 +Ce qui permettra à conky de s'​afficher sans attendre le résultat du script. L'​affichage se mettra à jour dès l'​arrivée des informations.\\
 +\\
 +//ce wiki ainsi que les fonctions et variables décrites concernent conky_1.7.2 et ultérieur.//​
 +===== Liens =====
 +la page du projet sur sourceforge : [[http://​conky.sourceforge.net/​]]\\
 +le post dédié sur le forum crunchbanglinux-fr : [[http://​crunchbanglinux-fr.org/​forum/​viewtopic.php?​id=35&​p=1]]\\
 +le post dédié sur le forum crunchbanglinux : [[http://​crunchbanglinux.org/​forums/​topic/​59/​my-conky-config/​]]\\
 +Conky Pitstop (maintenu en français par wlourf) : [[http://​conky.pitstop.free.fr/​wiki/​index.php5?​title=Main_page_(fr)]]\\
 +Le conky-artists-group sur deviantart: [[http://​conky-artists-group.deviantart.com/​]]\\
 +ma gallerie conky perso: [[http://​arpinux.org/​x/​doku.php/​user_tools:​conky:​arpconky|arp'​conky]]
  
personaliser/conky.txt · Dernière modification: 2018/11/17 13:54 (modification externe)