'''[https://www.nemethi.de/%|%Scrollutil]''', by [Csaba Nemethi], is a scrolling utilities package for [Tk] 8.0 or higher, written in pure Tcl code. ** Attributes ** name: Scrollutil location: https://www.nemethi.de latest release: 1.5 release time: 2020-02 contact: [Csaba Nemethi] ** Description ** The Scrollutil package contains: * the implementation of the '''scrollarea''', '''scrollsync''', and '''scrollableframe''' mega-widgets, including a general utility module for mega-widgets; * the command `'''scrollutil::addMouseWheelSupport'''`, which creates mouse wheel event bindings for a given binding tag; * commands for ''user-friendly'' mouse wheel event handling in '''scrollable widget containers''' like scrollutil::scrollableframe, BWidget ScrollableFrame, and iwidgets::scrolledframe; * demo scripts illustrating the use of the Scrollutil package in connection with various scrollable widgets and the above-mentioned scrollable widget containers; * a programmer's guide and reference pages in HTML format. '''The scrollutil::scrollarea mega-widget''' greatly simplifies the creation of arbitrary scrolled widgets. It consists of a scrollable widget and two scrollbars connected with that widget. The display mode of each scrollbar can be `'''static'''`, `'''dynamic'''`, or `'''none'''`. '''The scrollutil::scrollsync mega-widget''' is designed for scrolling several widgets simultaneously. It is horizontally and vertically scrollable, hence it can be embedded into a scrollutil::scrollarea widget via the latter's `'''setwidget'''` subcommand. '''The scrollutil::scrollableframe mega-widget''' is a lightweight, theme-able, and full-featured replacement for BWidget ScrollableFrame and iwidgets::scrolledframe. Arbitrary regions of its content frame can be brought into view by scrolling, and the widget also provides a `'''see'''` subcommand for making individual widgets contained in the content frame visible in the scrollableframe window. '''The commands for mouse wheel event handling in scrollable widget containers''' make sure that the mouse wheel events will only scroll the widget under the pointer if it has the focus, otherwise they will scroll the widget container that is an ancestor of the widget in question and is contained in the latter's toplevel. ---- [Jeff Smith] 2020-02-21 : Below is an online demo using [CloudTk]. This demo runs Scrollutil in an Alpine Linux Docker Container. It is a 28.3MB image which is made up of Alpine Linux + tclkit + Scrollutil1.5.kit + libx11 + libxft + fontconfig ttf-linux-libertine. It is run under a user account in the Container. The Container is restrictive with permissions for "Other" removed for "execute" and "read" for certain directories. By clicking on the "V" in the upper left corner you can access another demo "The European Capitals Quiz". <> <> [Csaba Nemethi] 2020-01-15 : The Scrollutil version installed on the CloudTk server is now 1.4 (many thanks to Jeff for the upgrade). This version creates mouse wheel event bindings for the ttk::scrollbar widget, which (as of Tk 8.6.10) are missing in the Tk core. The demo script applies the command `'''scrollutil::addMouseWheelSupport'''` to the text widget, thus making sure that the mouse wheel scrolls the text by lines rather than pixels. Last but not least, the scan support (added to the scrollutil::scrollableframe widget in Scrollutil 1.3) enables you to drag the content of the scrollableframe at high speed with the aid of mouse button 1. [Jeff Smith] 2020-02-20 : The Scrollutil version installed on the CloudTk server is now 1.5. <> Tk | Package