horloge numérique transparente

 

dc 30/05/08

Avec l'extension [shape] (incluse dans etcl).

 package require Tk
 package require shape

 namespace eval hnt {
     variable police
     variable hauteur
     variable largeur
 }

 proc hnt::creePolice {famille taille} {
     variable police
     variable hauteur
     variable largeur

     set police [font create -family $famille -size $taille]
     set largeur [font measure $police "00:00.00"]
     set hauteur [expr {[font metrics $police -ascent] + \
 		       			   [font metrics $police -descent]}]
 }

 proc hnt::afficheHeure {} {
     variable police

     lassign [clock format [clock seconds] -format "%H %M %S"] h m s
     shape set . text "$h:$m.$s" $police
     after 1000 hnt::afficheHeure
 }

 proc hnt::robert {x y famille taille couleur} {
     variable hauteur
     variable largeur

     hnt::creePolice $famille $taille

     wm overrideredirect . 1
     . configure -bg $couleur
     wm geometry . ${largeur}x${hauteur}${x}${y}
     bind . <Configure> [list hnt::afficheHeure]
 }

 hnt::robert -0 +0 sans-serif 50 white