• ANNOUNCE: Scrolling utilities package Scrollutil 2.6

    From nemethi@csaba.nemethi@t-online.de to comp.lang.tcl on Tue Jun 10 16:17:06 2025
    From Newsgroup: comp.lang.tcl

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

    What is new in Scrollutil 2.6?
    ------------------------------

    1. The scanning in scrollableframe widgets is now supported with mouse
    button 2 rather than 1. On Android this adds scan support via one-
    finger gestures (thanks to Christian Werner for his proposal).

    2. Added the "scrollutil::adaptBtn2EventHandling" command, for user-
    friendly mouse button 2 event handling in scrollableframe widgets,
    which on Android means user-friendly support for scanning via one-
    finger gestures (thanks to Michael Nieren and Christian Werner for
    discussions on this subject).

    3. Added the "preparescan" scrollableframe subcommand, designed to
    automate the invocations of scrollutil::adaptBtn2EventHandling".

    4. Added the "scrollutil::prepareScrollingByWheel" command, designed to
    automate the invocations of "scrollutil::adaptWheelEventHandling" in
    scrollable widget containers.

    5. Added the "preparescroll" scrollableframe subcommand, as a shortcut
    for the "scrollutil::prepareScrollingByWheel" command.

    6. The "scrollutil::addMouseWheelSupport" command now accepts also the
    path name of a (ttk::)menubutton widget or the class name
    "(T)Menubutton" as argument, in which case the binding scripts for
    the mouse wheel and <TouchpadScroll> events will activate the
    cyclically next or previous entry of the menu associated with the
    widget and invoke the action of that menu entry.

    7. The "scrollutil::addMouseWheelSupport" command now accepts also the
    path name of a (ttk::)scale widget or the class name "(T)Scale" as
    argument, in which case the binding scripts for the mouse wheel and
    <TouchpadScroll> events will increment or decrement the widget's
    value and move the slider accordingly.

    8. The demo script "ScrolledCanvas.tcl" now adds mouse wheel and
    <TouchpadScroll> event support not only to the canvas but also to two
    ttk::scale widgets.

    9. Improved the documentation by extending the CSS stylesheet used in
    the HTML files.

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

    Scrollutil is available for free download from the Web page

    https://www.nemethi.de

    The distribution file is "scrollutil2.6.tar.gz" for UNIX and "scrollutil2_6.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.6.tar.gz":

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

    On most UNIX systems this can be replaced with

    tar -zxf scrollutil2.6.tar.gz

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

    On Windows, use WinZip or some other program capable of unpacking the distribution file "scrollutil2_6.zip" into the directory
    "scrollutil2.6", 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

    --- Synchronet 3.21a-Linux NewsLink 1.2