La tradition linuxienne veut qu'on partage notre recette de "conky", ce qui permet à chacun d'améliorer le sien.
Pour ceux qui se demanderaient: "conky c'est quoi que ça mange en hivert" c'est les indication que vous voyez à la droite de mon écran. C'est un "gadjet" qu'on écrit sois même et qui est unique à chaque utilisateur. On peut mettre des gadjets ordinaire aussi mais c'est comme des gateaux acheté- c'est pas aussi satisfaisant que ceux qu'on fait sois meme.
S'il y à une autre linuxien sur le forum, voilà le mien (postez le votre):
Code :
use_xft yes
on_bottom yes
xftfont Arial:size= 9
xftalpha 0.8
update_interval 1.0
total_run_times 0
own_window yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
double_buffer yes
draw_shades no
draw_outline no
draw_borders no
stippled_borders 8
border_margin 4
border_width 1
default_color black
default_shade_color black
default_outline_color black
alignment bottom_right
minimum_size 305 5
maximum_width 305
gap_x 8
gap_y 8
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
use_spacer no
TEXT
${alignc}${color1}${font URW Chancery L:style=Medium Italic:pixelsize=34}${time %H:%M:%S}${font}${color}
$nodename
En fonction depuis : $uptime
${execi 86400 lsb_release -si} : ${execi 86400 lsb_release -sr} ${execi 86400 lsb_release -sc}
$sysname : $kernel
$stippled_hr
$alignc Processeur
$alignc AMD Athlon64 3800+
$alignc Utilisation CPU: $cpu% de 2.4Ghz
${cpubar}
${cpugraph 333333 FFFFFF}
Utilisation RAM: $mem/$memmax - $memperc%
${membar}
Utilisation Swap: $swap/$swapmax - $swapperc%
${swapbar}
Processus:$processes Running: $running_processes
$stippled_hr
$alignc Réseau: Bell ADSL
Down ${offset 45}${totaldown eth0} ${offset 8}$alignc Up ${offset 45}${totalup eth0}
${downspeedgraph eth0 22,150 5e7b7b d8deeb} ${upspeedgraph eth0 22,150 99c8e8 618094}
${offset 40}${voffset -21}${downspeedf eth0}k/s
${offset 190}${voffset -14}${upspeedf eth0}k/s
Adresse IP : $addr
Mise à jour : ${execi 360 aptitude search "~U" | wc -l | tail} Paquets disponible
$stippled_hr
$alignc Espace Disque: ${fs_free /}/${fs_size /} soit :${fs_free_perc /}%
${fs_bar /}
${if_mounted /media/ARRIERE}${offset 35}USB ARRIERE : ${alignr}${fs_used_perc /media/ARRIERE}% occupés - ${fs_free /media/ARRIERE} libre
${offset 35}${fs_bar /media/ARRIERE} ${else}${offset 35}USB ARRIERE : Non connecté $endif
${if_mounted /media/CL}${offset 35}USB CL : ${alignr}${fs_used_perc /media/CL}% occupés - ${fs_free /media/CL} libre
${offset 35}${fs_bar /media/CL} ${else}${offset 35}USB CL : Non connecté $endif
${if_mounted /media/STEPHANE}${offset 35}USB STEPHANE : ${alignr}${fs_used_perc /media/STEPHANE}% occupés - ${fs_free /media/STEPHANE} libre
${offset 35}${fs_bar /media/STEPHANE} ${else}${offset 35}USB STEPHANE : Non connecté $endif
$stippled_hr
Musique :${if_running rhythmbox}
${alignc}--------- Rhythmbox ---------
${alignc}${execi 10 rhythmbox-client --print-playing-format "%tt" --no-start | grep -v Inconnu | grep -v Pas\ de\ lecture\ en\ cours} ${alignc} ${execi 10 rhythmbox-client --print-playing-format "%at" --no-start | grep -v Inconnu | grep -v Pas\ de\ lecture\ en\ cours} ${alignr} ${execi 10 rhythmbox-client --print-playing-format "%ag" --no-start | grep -v Inconnu | grep -v Pas\ de\ lecture\ en\ cours}
${execi 1 rhythmbox-client --print-playing-format "%te" --no-start | grep -v Pas\ de\ lecture\ en\ cours}${alignr}${execi 1 rhythmbox-client --print-playing-format "%td" --no-start | grep -v Inconnu | grep -v Pas\ de\ lecture\ en\ cours}
${execibar 1 $HOME/.conky/rhythmbox.sh progress}${else}
Rhythmbox n'est pas ouvert $endif
$stippled_hr
Utilisation ressources (pid/cpu/mem):
${color #e09495} ${top name 1} ${top pid 1} ${alignc}${top cpu 1} ${top mem 1}
${color #e09495} ${top name 2} ${top pid 2} ${alignc}${top cpu 2} ${top mem 2}
${color #e0d094} ${top name 3} ${top pid 3} ${alignc}${top cpu 3} ${top mem 3}
${color #e0d094} ${top name 4} ${top pid 4} ${alignc}${top cpu 4} ${top mem 4}
${color1} ${top name 5} ${top pid 5} ${alignc}${top cpu 5} ${top mem 5}
${color1} ${top name 6} ${top pid 6} ${alignc}${top cpu 6} ${top mem 6}
Code :
#!/bin/bash
case "$1" in
progress)
curr=`rhythmbox-client --no-start --print-playing-format "%te" | grep -v "Pas de lecture en cours"`
tot=`rhythmbox-client --no-start --print-playing-format "%td" | grep -v "Pas de lecture en cours" | grep -v Inconnu`
a=`date +'%S' | sed 's/^0\+//'`
if [ "$a" = "" ]; then
a=0
fi
b=$(( ($a*100) / 30 ))
c=$(( 200-$b ))
#si pas de durée totale, augmente pendant les 30 premieres secondes puis diminue pendant les 30 suivantes...
if [ "$tot" = "" ]; then
if [ $a -le 30 ]; then
expr $b
else
expr $c
fi
else
#Si durée totale déterminée, il faut traiter le retour de la commande donnant $curr (pour courant et $tot pour total, logique) qui renvoit une donnée sous la forme hh:mm:ss
d="1"
nbcurr=`echo $curr | wc -m` #nbr de caractères permet de déterminer si il y a seulement m:ss ou si il y a h:mm:ss (au minimum, m:ss)
posm=$(( $nbcurr-5 )) #pour faire une commande cut générique, il faut définir l'endroit ou on coupe d'ou posx (position des minutes ici)
if [ $posm -lt $d ]; then
posm=`` #Si position inférieur à 1, renvoit variable vide pour ne pas bloque cut
fi
posm2=$(( $nbcurr-4 )) #Forcément 1 indication minute (minimum)= pas besoin de vérifier si >1
posh=$(( $nbcurr-8 )) #Idem pour les heures
if [ $posh -lt $d ]; then
posh=``
fi
posh2=$(( $nbcurr-7 ))
currs=`echo $curr | tail -c3 | sed 's/^0\+//'` # Récupération des secondes forcément à la fin et supression du premier 0 pour ne pas avoir de problème de base (08 en hexa ou base 10)
if [ "$currs" = "" ]; then
currs=0 #si uniquement des zeros, ils sont tous supprimé donc redonner la valeur
fi
currma=`echo $curr | cut -c$posm-$posm2 | sed 's/^0\+//'`
if [ "$currma" = "" ]; then
currma=0 #idem pour minutes
fi
currm=$(( $currma*60 )) #conversion en secondes
if [ $posh2 -lt $d ]; then
currh=0
else
currha=`echo $curr | cut -c$posh-$posh2 | sed 's/^0\+//'`
if [ "$currha" = "" ]; then #idem heures
currha=0
fi
currh=$(( $currha*3600 )) # conversion en secondes
fi
currt=$(( ($currh+$currm) + $currs )) #calcule du nombre de secondes total
nbtot=`echo $tot | wc -m` #Même schema pour la suite mais avec la durée totale
tposm=$(( $nbtot-5 ))
if [ $tposm -lt $d ]; then
tposm=``
fi
tposm2=$(( $nbtot-4 ))
tposh=$(( $nbtot-8 ))
if [ $tposh -lt $d ]; then
tposh=``
fi
tposh2=$(( $nbtot-7 ))
tots=`echo $tot | tail -c3 | sed 's/^0\+//'` ## OK
if [ "$tots" = "" ]; then
tots=0
fi
totma=`echo $tot | cut -c$tposm-$tposm2 | sed 's/^0\+//'` ## OK
if [ "$totma" = "" ]; then
totma=0
fi
totm=$(( $totma*60 )) ## OK
if [ $tposh2 -lt $d ]; then
toth=0
else
totha=`echo $tot | cut -c$tposh-$tposh2 | sed 's/^0\+//'` ## OK
if [ "$totha" = "" ]; then
totha=0
fi
toth=$(( $totha*3600 )) ## OK
fi
tott=$(( ($toth+$totm) + $tots )) ## OK
expr $currt \* 100 / $tott #Et finalement expression du pourcentage accompli
fi
;;
esac