http://purl.org/tcl/home/man/tcl8.4/TkCmd/chooseColor.htm aka tk_chooseColor ---- A minimal example: button .b_fg -text "Set Foreground Color" -command {fg_color} button .b_bg -text "Set Background Color" -command {bg_color} label .l -text "Foreground Color on Background Color" grid .b_fg .b_bg -sticky ew grid .l -row 1 -columnspan 2 -sticky ew proc fg_color { } { set color [tk_chooseColor] .l configure -fg $color } proc bg_color { } { set color [tk_chooseColor] .l configure -bg $color } wm title . "tk_chooseColor Example" ---- [RS]: A style note - no doubt this works as planned, but for more reusable code, why not pass in the target widget? button .b_fg -text "Set Foreground Color" -command {color .l -fg} button .b_bg -text "Set Background Color" -command {color .l -bg} label .l -text "Foreground Color on Background Color" grid .b_fg .b_bg -sticky ew grid .l -row 1 -columnspan 2 -sticky ew proc color {w what} { set color [tk_chooseColor] $w configure $what $color } ---- [Tk syntax help] - [Arts and crafts of Tcl-Tk programming] - [Category Command]