Tcl/tk BWidget_patch



This package solves some issues with BWidget in conjunction with the ttk widget set. As long as the bugs are not fixed, this package can be used to “overload” original procedures where the problems araise.


A typical initialization sequence might look like:

# starkit support sequence:

if {[catch {
    package require starkit
    if {[starkit::startup] eq "sourced"} { return } }]} {

    namespace eval ::starkit {
        if {[set this [info script]] == ""} {
            set this [info nameofexecutable]
        variable topdir [file normalize [file dirname $this]]

# where to find support packages:
lappend auto_path [file join $::starkit::topdir "lib"]

package require Tk
package require tile

# initialize a custom theme (optional):
set ctheme "plastik"
package require ttk::theme::${ctheme}

    ttk::setTheme $ctheme

package require -exact BWidget 1.9.10
package require BWidget_patch

    Widget::theme 1

# ...


  • Please make sure to call package require BWidget_patch after package require -exact BWidget 1.9.10, so that the original procedures get’s overloaded with the modified source available in the BWidget_patch package.

    That’s all.

  • With Widget::theme 1 ttk theme support gets enabled.

  • To specify the BWidget version number is maybe not a bad idea either, as there might be an older package version already available within your current tcl/tk installation.

The package can be downloaded from here: