ANNOUNCE: Scrolling utilities package Scrollutil 1.11

Skip to first unread message


Sep 2, 2021, 11:57:52 AMSep 2
I am pleased to announce version 1.11 of the scrolling utilities package

What is new in Scrollutil 1.11?

1. Added the "-setfocus" scrollarea configuration option, which controls
whether clicking one of the scrollbars should set the focus to the
widget embedded into the scrollarea (thanks to Alexandru Dadalau for
discussions on a related subject).

2. Added the "-forgetcommand", "-leavecommand", and "-movabletabs"
scrollednotebook configuration options.

3. Added the plainnotebook widget, which extends a ttk::notebook having
an arbitrary number of pages with invisible tabs by a ttk::frame to
its left or right containing, among others, a scrollableframe whose
content frame is the parent of a series of widgets that play the role
of vertically laid-out notebook tabs. The above-mentioned options
are supported by this widget, too, and its "-closabletabs" option
controls whether the tabs can be closed with the mouse.

4. Added the pagesman widget, which provides the basic functionality of
a pages manager. By using it with plainnotebook widgets as pages, it
is quite easy to write applications in which the user can descend
from a plainnotebook to another one with a single mouse click and
switch back in the same way to the original one. Everything needed
for this navigation is provided by appropriate options and
subcommands of the plainnotebook widget.

5. The demo script ScrolledNotebookDemo.tcl now makes use of the
"-forgetcommand" and "-leavecommand" scrollednotebook options.

6. Added two new demo scripts using the plainnotebook and pagesman
widgets, together with their "-forgetcommand" and "-leavecommand"
options. The plainnotebook widgets of these scripts have closable
and (per default) movable tabs.

7. Corrected the required tile version from 0.6 to 0.8.

8. Fixed a bug related to the supported scaling percentages on Windows
(thanks to Manfred Schwarz for his bug report).

How to get it?

Scrollutil is available for free download from the Web page

he distribution file is "scrollutil1.11.tar.gz" for UNIX and
"" for Windows. These files contain the same
information, except for the additional carriage return character
preceding the linefeed at the end of each line in the text files for

Scrollutil is also included in tklib, which has the address

How to install it?

Install the package as a subdirectory of one of the directories given
by the "auto_path" variable. For example, you can install it as a
directory at the same level as the Tcl and Tk script libraries. The
locations of these library directories are given by the "tcl_library"
and "tk_library" variables, respectively.

To install Scrollutil on UNIX, "cd" to the desired directory and unpack
the distribution file "scrollutil1.11.tar.gz":

gunzip -c scrollutil1.11.tar.gz | tar -xf -

On most UNIX systems this can be replaced with

tar -zxf scrollutil1.11.tar.gz

Both commands will create a directory named "scrollutil1.11", with the
subdirectories "demos", "doc", and "scripts".

On Windows, use WinZip or some other program capable of unpacking the
distribution file "" into the directory
"scrollutil1.11", with the subdirectories "demos", "doc", and "scripts".

How to use it?

The Scrollutil distribution provides two packages, called Scrollutil and
Scrollutil_tile. The main difference between the two is that
Scrollutil_tile enables the tile-based, theme-specific appearance of
scrollarea, scrollsync, and scrollableframe widgets, and provides the
themed scrollednotebook widget; this package requires Tcl/Tk 8.4 or
higher and tile 0.6 or higher. It is not possible to use both packages
in one and the same application, because both are implemented in the
same "scrollutil" namespace and provide identical commands (except for
the "scrollutil::scrollednotebook" command, which is provided by the
Scrollutil_tile package only).

To be able to use the commands and variables implemented in the package
Scrollutil, your scripts must contain one of the lines

package require scrollutil ?version?
package require Scrollutil ?version?

Likewise, to be able to use the commands and variables implemented in
the package Scrollutil_tile, your scripts must contain one of the lines

package require scrollutil_tile ?version?
package require Scrollutil_tile ?version?

Since the packages Scrollutil and Scrollutil_tile are implemented in the
"scrollutil" namespace, you must either import the procedures you need,
or use qualified names like "scrollutil::scrollarea".

For a detailed description of the commands and variables provided by
Scrollutil and of the examples contained in the "demos" directory, see
the tutorial "scrollutil.html" and the reference pages, all located in
the "doc" directory.

Csaba Nemethi

Harald Oehlmann

Sep 2, 2021, 12:11:18 PMSep 2
Wow, all two month a full new widget. That is really amazing.
Thank you Csaba,


Sep 2, 2021, 12:18:35 PMSep 2
Many thanks Csaba. All the wishes come true:)
Reply all
Reply to author
0 new messages