Two-line calendar (fr)
From Conky PitStop
Un calendrier en deux lignes
Langue | English Français |
Voici un calendrier codé en deux lignes, avec les jours de la semaine abrégés, incluant le mois et l’année sur la même ligne.
Celui du haut affiche un calendrier avec Dimanche comme premier jour de la semaine, le second avec Lundi comme premier jour de la semaine. (NOTE: Lundi comme premier jour ne fonctionne pas avec les dernières versions de cal)
Le code (avec les dates en français):
TEXT ${goto 15}${font LCDMono:bold:size=17}${color2}DI LU ${color}${time %b %y}${color2} VE SA ${voffset 5}${color4}${execpi 60 DJS=`date +%_d`; cal | sed '2d' | sed '1d' | sed '/./!d' | sed 's/$/ /' | fold -w 21 | sed -n '/^.\{21\}/p' | sed 's/^/${goto 0} /' | sed /" $DJS "/s/" $DJS "/" "'${color2}'"$DJS"'${color4}'" "/} ${goto 15}${font LCDMono:bold:size=17}${color2}LU MA ${color}${time %b %y}${color2} SA DI ${voffset 5}${color4}${execpi 60 DJS=`date +%_d`; cal -m | sed '2d' | sed '1d' | sed '/./!d' | sed 's/$/ /' | fold -w 21 | sed -n '/^.\{21\}/p' | sed 's/^/${goto 0} /' | sed /" $DJS "/s/" $DJS "/" "'${color2}'"$DJS"'${color4}'" "/}
Notez le
; cal -m |
en ligne 7 pour faire commencer la semaine par Lundi (monday). Il paraït que cela ne fonctionne plus avec la dernière version de cal.
Cependant :
ncal -M
fonctionne, mais vous n'aimerez probalement pas la sortie :
$ ncal -M Octobre 2010 lu 4 11 18 25 ma 5 12 19 26 me 6 13 20 27 je 7 14 21 28 ve 1 8 15 22 29 sa 2 9 16 23 30 di 3 10 17 24 31
Pourtant, quand on consulte la man de "cal", cette option est toujours présente.
Maintenant la partie intéressante, intégrer ce calendrier à un conky.
Les deux lignes doivent être traitées séparement afin de s’intégrer à la mise en place du conky existant. A vous de jouer avec les variables ${goto} et ${voffset} selon votre configuration.
${goto 162}${voffset -28}${font LCDMono:bold:size=17}${color2}DI LU ${color}${time %b %y}${color2} VE SA ${voffset 5}${color4}${execpi 60 DJS=`date +%_d`; cal -m | sed '2d' | sed '1d' | sed '/./!d' | sed 's/$/ /' | fold -w 21 | sed -n '/^.\{21\}/p' | sed 's/^/${goto 150} /' | sed /" $DJS "/s/" $DJS "/" "'${color2}'"$DJS"'${color4}'" "/}
Les valeurs de $goto qui fonctionnent pour moi sont très différentes d’une ligne à l’autre… je ne sais pas trop pourquoi, mais ça fonctionne!