Configuration de conky

Pour fonctionner, il nécessite que les fichier ip.sh et rhythmbox.sh soient présents dans le dossier ~/.conky et exécutables. Il ne faut pas oublier d’installer les polices Open Logos et StyleBats.

Copie de ip.sh :

#!/bin/bash



# # Test de validité IPv4 de l'adresse entrée (expression régulière)

function isIPv4 {

 if [ $# = 1 ]

 then

  printf $1 | grep -Eq '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-4]|2[0-4][0-9]|[01]?[1-9][0-9]?)$'

  return $?

 else

  return 2

 fi

}



RETOUR=$(wget -qO- whatismyip.org)



isIPv4 $RETOUR && echo $RETOUR || echo "Pas de connexion"

Copie du rhythmbox.sh :

#!/bin/bash





case "$1" in



progress)

    curr=`rhythmbox-client --no-start --print-playing-format "%te" | grep -v "Pas de lecture en cours" | grep -v Inconnu`

    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 ))

if [ "$curr" = "" ]; then

    curr=0

fi

#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

Copie du .conkyrc :

    # set to yes if you want Conky to be forked in the background

background yes



cpu_avg_samples 2

net_avg_samples 2



out_to_console no



# X font when Xft is disabled, you can pick one with program xfontsel

#font 7x12

#font 6x10

#font 7x13

#font 8x13

#font 7x12

#font *mintsmild.se*

#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

#font -artwiz-snap-normal-r-normal-*-*-100-*-*-p-*-iso8859-1



# Use Xft?

use_xft yes



# Xft font when Xft is enabled

xftfont Bitstream Vera Sans Mono:size=9



own_window_transparent yes

own_window_type override

own_window_hints  undecorated,below,sticky,skip_taskbar,skip_pager

own_window_colour hotpink

# Text alpha when using Xft

xftalpha 0.8



on_bottom yes



# mail spool

mail_spool $MAIL



# Update interval in seconds

update_interval 1

# Create own window instead of using desktop (required in nautilus)

own_window yes



# Use double buffering (reduces flicker, may not work for everyone)

double_buffer yes



# Minimum size of text area

#minimum_size 280 5

#maximum_width 150



# Draw shades?

draw_shades yes



# Draw outlines?

draw_outline no



# Draw borders around text

draw_borders no



# Stippled borders?

stippled_borders 10



# border margins

border_margin 4



# border width

border_width 1



# Default colors and also border colors

default_color white

default_shade_color black

default_outline_color white



# Text alignment, other possible values are commented

#alignment top_left

#minimum_size 10 10

gap_x 13

gap_y 34

alignment top_right

#alignment bottom_left

#alignment bottom_right



# Gap between borders of screen and text



# Add spaces to keep things from moving about?  This only affects certain objects.

use_spacer no



# Subtract file system buffers from used memory?

no_buffers yes



# set to yes if you want all text to be in uppercase

uppercase no



# boinc (seti) dir

# seti_dir /opt/seti



# Possible variables to be used:

#

#      Variable         Arguments                  Description                

#  acpiacadapter                     ACPI ac adapter state.                   

#  acpifan                           ACPI fan state                           

#  acpitemp                          ACPI temperature.                        

#  adt746xcpu                        CPU temperature from therm_adt746x       

#  adt746xfan                        Fan speed from therm_adt746x             

#  battery           (num)           Remaining capasity in ACPI or APM        

#                                    battery. ACPI battery number can be      

#                                    given as argument (default is BAT0).     

#  buffers                           Amount of memory buffered                

#  cached                            Amount of memory cached                  

#  color             (color)         Change drawing color to color            

#  cpu                               CPU usage in percents                    

#  cpubar            (height)        Bar that shows CPU usage, height is      

#                                    bar's height in pixels                   

#  downspeed         net             Download speed in kilobytes              

#  downspeedf        net             Download speed in kilobytes with one     

#                                    decimal                                  

#  exec              shell command   Executes a shell command and displays    

#                                    the output in torsmo. warning: this      

#                                    takes a lot more resources than other    

#                                    variables. I'd recommend coding wanted   

#                                    behaviour in C and posting a patch :-).  

#  execi             interval, shell Same as exec but with specific interval. 

#                    command         Interval can't be less than              

#                                    update_interval in configuration.        

#  fs_bar            (height), (fs)  Bar that shows how much space is used on 

#                                    a file system. height is the height in   

#                                    pixels. fs is any file on that file      

#                                    system.                                  

#  fs_free           (fs)            Free space on a file system available    

#                                    for users.                               

#  fs_free_perc      (fs)            Free percentage of space on a file       

#                                    system available for users.              

#  fs_size           (fs)            File system size                         

#  fs_used           (fs)            File system used space                   

#  hr                (height)        Horizontal line, height is the height in 

#                                    pixels                                   

#  i2c               (dev), type, n  I2C sensor from sysfs (Linux 2.6). dev   

#                                    may be omitted if you have only one I2C  

#                                    device. type is either in (or vol)       

#                                    meaning voltage, fan meaning fan or temp 

#                                    meaning temperature. n is number of the  

#                                    sensor. See /sys/bus/i2c/devices/ on     

#                                    your local computer.                     

#  kernel                            Kernel version                           

#  loadavg           (1), (2), (3)   System load average, 1 is for past 1     

#                                    minute, 2 for past 5 minutes and 3 for   

#                                    past 15 minutes.                         

#  machine                           Machine, i686 for example                

#  mails                             Mail count in mail spool. You can use    

#                                    program like fetchmail to get mails from 

#                                    some server using your favourite         

#                                    protocol. See also new_mails.            

#  mem                               Amount of memory in use                  

#  membar            (height)        Bar that shows amount of memory in use   

#  memmax                            Total amount of memory                   

#  memperc                           Percentage of memory in use              

#  new_mails                         Unread mail count in mail spool.         

#  nodename                          Hostname                                 

#  outlinecolor      (color)         Change outline color                     

#  pre_exec          shell command   Executes a shell command one time before 

#                                    torsmo displays anything and puts output 

#                                    as text.                                 

#  processes                         Total processes (sleeping and running)   

#  running_processes                 Running processes (not sleeping),        

#                                    requires Linux 2.6                       

#  shadecolor        (color)         Change shading color                     

#  stippled_hr       (space),        Stippled (dashed) horizontal line        

#                    (height)        

#  swapbar           (height)        Bar that shows amount of swap in use     

#  swap                              Amount of swap in use                    

#  swapmax                           Total amount of swap                     

#  swapperc                          Percentage of swap in use                

#  sysname                           System name, Linux for example           

#  time              (format)        Local time, see man strftime to get more 

#                                    information about format                 

#  totaldown         net             Total download, overflows at 4 GB on     

#                                    Linux with 32-bit arch and there doesn't 

#                                    seem to be a way to know how many times  

#                                    it has already done that before torsmo   

#                                    has started.                             

#  totalup           net             Total upload, this one too, may overflow 

#  updates                           Number of updates (for debugging)        

#  upspeed           net             Upload speed in kilobytes                

#  upspeedf          net             Upload speed in kilobytes with one       

#                                    decimal                                  



#  uptime                            Uptime                                   

#  uptime_short                      Uptime in a shorter format               

#

#  seti_prog                         Seti@home current progress

#  seti_progbar      (height)        Seti@home current progress bar

#  seti_credit                       Seti@hoome total user credit





# variable is given either in format $variable or in ${variable}. Latter

# allows characters right after the variable and must be used in network

# stuff because of an argument

#${font Dungeon:style=Bold:pixelsize=10}I can change the font as well

#${font Verdana:size=10}as many times as I choose

#${font Perry:size=10}Including UTF-8,

#${font Luxi Mono:size=10}justo como este texto que o google traduz fêz o português

# stuff after 'TEXT' will be formatted on screen

#${font Grunge:size=12}${time %a  %b  %d}${alignr -25}${time %k:%M}



TEXT

${shadecolor black}${font openlogos:size=100}${color 73d216}${alignc}Ut${font}${color}${shadecolor}

${font Arial:size=20}${color 73d216}${alignc}Marvin${color}${font}



${color 73d216}Système ${color}$hr

${font StyleBats:size=10}P${font} Uptime: $uptime

${font StyleBats:size=10}A${font} Processeur : ${cpu}% ${color 73d216}${cpubar}$color

${font StyleBats:size=10}I${font} Mémoire : $memperc%  $mem ${color 73d216}${membar}$color

${font StyleBats:size=10}I${font} Swap :$swapperc%  ${color 73d216}${swapbar}$color

${font StyleBats:size=10}U${font} Batterie : $battery_percent%  $battery_time



${color 73d216}Disque dur ${color}$hr

${font StyleBats:size=10}C${font} Racine : ${fs_used_perc /}% ${fs_free /} ${color 73d216}${fs_bar 5,120 /}$color

${font StyleBats:size=10}C${font} ${if_mounted /home}Home : ${fs_used_perc /home}% ${fs_free /home} ${color 73d216}${fs_bar 5,120 /home}$color

${font StyleBats:size=10}C${font} ${if_mounted /media/donnees}Données : ${fs_used_perc /media/donnees}% ${fs_free /media/donnees} ${color 73d216}${fs_bar 5,120 /media/donnees}$color



${color 73d216}Réseau ${color}$hr

${font StyleBats:size=10}M${font} eth0 : ${addr eth0}

${font StyleBats:size=10}X${font} wlan0 : ${addr wlan0}

${font StyleBats:size=10}B${font} inet0 : ${texeci 120 $HOME/.conky/ip.sh}



#${if_running rhythmbox}${color 73d216}Multimédia ${color}$hr

#${font StyleBats:size=10}2${font} Artiste : ${exec rhythmbox-client --print-playing-format "%ta"}

#${font StyleBats:size=10}J${font} Album : ${exec rhythmbox-client --print-playing-format "%at"}

#${font StyleBats:size=10}4${font} Titre : ${exec rhythmbox-client --print-playing-format "%tt"}

#${font StyleBats:size=10}7${font} Durée : ${exec rhythmbox-client --print-playing-format "%te"} sur ${exec rhythmbox-client --print-playing-format "%td"}

#${color 73d216}${execibar 1 $HOME/.conky/rhythmbox.sh progress}${color}${else}

#$endif
Lancement au démarrage

Lancer la commande :

sh -c "sleep 20; conky;"