• ANNOUNCE: Scrolling utilities package Scrollutil 2.8

    From nemethi@csaba.nemethi@t-online.de to comp.lang.tcl on Mon Jan 5 11:57:39 2026
    From Newsgroup: comp.lang.tcl

    I am pleased to announce version 2.8 of the scrolling utilities package Scrollutil.

    What is new in Scrollutil 2.8?
    ------------------------------

    1. Scrollutil now automatically creates mouse wheel and <TouchpadScroll>
    event bindings for the widget classes Entry and TEntry if Tk doesn't
    yet have them, i.e., if the Tk version is earlier than 9.1a1.

    2. The wide spinbox package wsb now highlights the up and down arrows
    when they are in pressed state.

    3. Added the helper procedure "scrollutil::getScalingPct", which returns
    the application's scaling percentage, derived from Tk's current
    scaling factor given by [tk scaling]. See the new section "The
    Procedure tablelist::getScalingPct" in Scrollutil Programmer's Guide
    for details).

    4. The sizes of the GUI components created by the packages Scrollutil,
    themepatch, and wsb now depend not only on the display's scaling
    level, but also on Tk's scaling factor given by [tk scaling] (thanks
    to Harald Oehlmann for discussions on this subject).

    5. Updated the details regarding the value of "scrollutil::scalingpct"
    for GNOME on Wayland and KDE Plasma on Wayland in Scrollutil
    Programmer's Guide, to reflect the changes made in recent versions of
    these desktops.

    6. Adapted the handling of the <Leave> event for the scrollarea widget
    to the changes made in Tk 8.6.15 and 9.0.0 related to this event and
    the detail field "NotifyInferior" (thanks to Alexandru Dadalau for
    his bug report).

    7. Fixed a long-standing bug related to scanning with mouse button 2 in
    a scrollableframe widget (again, thanks to Alexandru Dadalau for his

    How to get it?
    --------------

    Scrollutil is available for free download from the Web page

    https://www.nemethi.de

    The distribution file is "scrollutil2.8.tar.gz" for UNIX and "scrollutil2_8.zip" 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
    Windows.

    Scrollutil is also included in tklib, which has the address

    https://core.tcl.tk/tklib

    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
    subdirectory of the "lib" directory within your Tcl/Tk installation.

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

    gunzip -c scrollutil2.8.tar.gz | tar -xf -

    On most UNIX systems this can be replaced with

    tar -zxf scrollutil2.8.tar.gz

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

    On Windows, use WinZip or some other program capable of unpacking the distribution file "scrollutil2_8.zip" into the directory
    "scrollutil2.8", 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 and plainnotebook widgets; this package requires
    tile 0.8 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
    commands "scrollutil::scrollednotebook", "scrollutil::plainnotebook", "scrollutil::addclosetab", "scrollutil::removeclosetab", and "scrollutil::closetabstate", which are provided by the Scrollutil_tile
    package only).

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

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

    Likewise, to be able to access the commands and variables of the Scrollutil_tile package, 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 https://www.nemethi.de mailto:csaba.nemethi@t-online.de


    --
    Csaba Nemethi https://www.nemethi.de mailto:csaba.nemethi@t-online.de
    --- Synchronet 3.21a-Linux NewsLink 1.2