dc 03/06/08 : etcl (décidément !) contient une petite bibliothèque sympathique [Tktray] [1]. Celle-ci permet de positionner une icône dans le tray (zone de notification ?) sous X11 sous des environnements comme [Gnome] ou encore [KDE] (je n'ai pas testé ce dernier).
Couplée avec pixane, [Tktray] permet donc d'élaborer une petite horloge (je suis monomaniaque !) dans le tray. Bon en même temps, une horloge n'a pas trop sa place dans un tray.
package require Tk
package require pixane
package require tktray
namespace eval hntray {
variable police
variable hauteur
variable largeur
}
proc hntray::creePolice {famille taille} {
variable police
variable hauteur
variable largeur
set police [pixfont create -builtin $famille]
lassign [pixfont measure $police $taille "00:00.00"] largeur a d
set hauteur [expr {$a+$d}]
}
proc hntray::afficheHeure {taille couleur} {
variable police
variable hauteur
variable largeur
lassign [clock format [clock seconds] -format "%H %M %S"] h m s
#
set p [pixane create]
pixane resize $p $largeur $hauteur
pixane blank $p
pixane color $p $couleur
pixane text $p 0 $hauteur -text "$h:$m.$s" -font $police -size $taille
#
.icoTray configure -image [pixcopy $p]
#
pixane delete $p
#
after 1000 [list hntray::afficheHeure $taille $couleur]
}
proc hntray::robert {famille taille couleur} {
hntray::creePolice $famille $taille
tktray::icon .icoTray
# faudra bien viser !!
bind .icoTray <1> exit
hntray::afficheHeure $taille $couleur
#
wm withdraw .
}
hntray::robert "sans-serif bold" 10 white