Fenêtres vibrantes

 

dc 30/11/05 Une petit procédure pour faire vibrer une fenêtre :

 package require Tk

 wm title . "Faire vibrer sa fenêtre"

 button .b1 -text "petite vibration longue" -command "vibration . 20 1 2000"
 button .b2 -text "moyenne vibration moyenne" -command "vibration . 50 2 1000"
 button .b3 -text "grande vibration courte" -command "vibration . 80 3 500"
 pack .b1 .b2 .b3 -side left

 proc vibration {tl taux amplitude dureems} {
     set deltaT [expr {int(100*(1-$taux/100.))}]
     set pos [scan [wm geometry $tl] %dx%d+%d+%d w h a o]

     set debut [clock clicks -millisecond]
     set i 0
     while {1} {
        set x [expr {$a+($i%2)*$amplitude}]
        set y [expr {$o+($i%2)*$amplitude}]
        incr i
        if {[clock clicks -millisecond]>=[expr {$debut+$dureems}]} break
        wm geometry $tl ${w}x${h}+${x}+${y}
        after $deltaT
        update
     }
     wm geometry $tl ${w}x${h}+${a}+${o}
 }

Bon ok ! ça sert à rien, mais l'activité du wiki en cette fin novembre est très limitée ;-)


ulis, 2005-12-01. :-)) Merci pour cette vibro-window !