Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.tota-refugium.de!.POSTED!not-for-mail From: nemethi Newsgroups: comp.lang.tcl Subject: ANNOUNCE: Scrolling utilities package Scrollutil 2.6 Date: Tue, 10 Jun 2025 16:17:06 +0200 Message-ID: <1029ep2$k8ua$2@tota-refugium.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 10 Jun 2025 14:17:06 -0000 (UTC) Injection-Info: tota-refugium.de; logging-data="664522"; mail-complaints-to="abuse@news.tota-refugium.de" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:7br/pLfWQs0MzN89vIhMOdhETzo= X-User-ID: eJwVysERACEIBLCWQNlVygGE/ku4ubyDTWUdI2gYTDSEGYwLT7cr+V7rMStFjPV/Vqkz35Jd/QEm9RGN Content-Language: en-US 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 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 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 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