package require Img
pack [label .x -text Unavailable -fg white]
after idle
set im [image create photo -format window -data .x]
set w [image width $im]
set h [image height $im]
for {set y 1} {$y<$h} {incr y} {
for {set x 1} {$x<$w} {incr x} {
if {[$im get $x $y]=={255 255 255}} {
$im put gray40 -to [expr {$x-1}] [expr {$y-1}]
}
}
}
.x config -image $imHowever, this does not reflect the -state of the button - more code is needed for that functionality.Come to think, this might be done in Tk core at the place where -disabledforeground is displayed, by rendering the text in white before, shifted by 1 pixel each in x,y directions; conditionally for Windows, or: for all platforms?PT Tile does this for widgets with a disabled state and for themes that require this sort of effect (eg: winnative and xpnative - also alt IIRC)

