[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: * create the file notebook.diff in the bwidget1.8 directory. * copy the diff data in to notebook.diff * open a wish or tclsh * copy the code from [patch for rcs in tcl] into the open console * execute the following lines: 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