HE 20070201: I like BWidgets notebook. The only thing I'm missing is to configure the placement of arrowbuttons. It is a little bit inefficient to move with the mousepointer from side to side, if I had to change the direction the tabs are moved.
Here is a small patch (diff -n) to add a new option -arrowplace (left|both|right) with 'both' as default. 'both' is the original behavior.
a92 1 {-arrowplace Enum both 0 {left both right}} a617 3 if {$base == -1} { return } d623 1 d953 2 a954 19 switch -- [Widget::cget $path -arrowplace] { left { set xl 0 set xr $_warrow set permanent 1 } both { set xl 0 set xr [expr {$w - $_warrow + 1}] set permanent 0 } right { set xl [expr {$w - $_warrow - $_warrow + 1}] set xr [expr {$w - $_warrow + 1}] set permanent 1 } } d967 1 a967 1 if { $data(base) > 0 || $permanent} { d981 1 a981 1 } elseif {!$permanent} { d985 2 a986 2 if { ($data(base) < $nbpages-1 && $data(wpage) + [_get_x_page $path 0] + 6 > $w) || $permanent} { d1000 1 a1000 1 } elseif {!$permanent} {
if you are working on a platform without patch, you can use the following:
cd [tk_chooseDir -title "Select bwidget1.8 directory"] file rename notebook.tcl notebook.tcl.orig rcs::file2array notebook.tcl.orig filedata set fid [open notebook.diff r] set patch [read $fid] close $fid rcs::patch $patch filedata set fid [open notebook.tcl w] foreach index [lsort -dictionary [array names filedata]] { puts $fid $filedata($index) } close $fid