What is new in Scrollutil 1.10?
-------------------------------

1. Added the (scalable) "closetab" style element, which can be added to
   and removed from the tabs of a ttk::notebook style (like "TNotebook"
   or "My.TNotebook") by using the new "scrollutil::addclosetab" and
   "scrollutil::removeclosetab" commands.  As a result, the tabs of any
   ttk::notebook or scrollednotebook widget can be made closable by the
   user by passing the ttk::notebook style given by its "-style" option
   to the "scrollutil::addclosetab" command.

2. The state of the "closetab" element of a ttk::notebook or
   scrollednotebook tab can be queried and switched between "normal" and
   "disabled" with the aid of the new "scrollutil::closetabstate"
   command.

3. Added the "closetabstate" scrollednotebook widget subcommand, which
   is a convenient shortcut for the "scrollutil::closetabstate"
   command.

4. Each notebook tab of the demo scripts "ScrolledNotebookDemo.tcl" and
   "TtkNotebookDemo.tcl" now contains, besides a text, also an image and
   the "closetab" element.

5. On X11, the initialization code now only corrects the sizes of the
   standard fonts and sets the scaling factor if the display's scaling
   percentage is greater than 100.  In addition, the scaling factor is
   no longer changed if the scaling percentage was derived from it
   (thanks to Erik Leunissen and Harald Oehlmann for their bug reports).

6. Numerous further improvements in the code, demo scripts, and
   documentation.

What was new in Scrollutil 1.9?
-------------------------------

1. The "autosize" scrollableframe subcommand now sets the widget's
   width and/or height with a delay of 100 ms, rather than invoking
   "update idletasks" (thanks to Harald Oehlmann for his proposal).

2. Added the "xview <units>" and "yview <units>" scrollableframe
   subcommands.

3. Added the scrollednotebook widget, which is based on a ttk::notebook
   within a scrollableframe and supports an arbitrary number of
   unsqueezed tabs.  It also implements the navigation between the tabs
   of a ttk::notebook or scrollednotebook widget via the mouse wheel
   (thanks to Harald Oehlmann for his TIP 591), as well as the support
   for moving the tabs with the mouse.

4. Added two demo scripts for the comparison of the new scrollednotebook
   widget with a ttk::notebook.

5. Fixed two typos in the implementation of the horizontal scrolling
   with the mouse wheel on X11 via "scrollutil::addMouseWheelSupport".

6. Fixed a bug related to font scaling on X11 (thanks to Ulrich Seidl
   for his bug report).

7. Fixed a bug related to the scrollbar mode "static" of the scrollarea
   widget (thanks to Nicolas Bats for his bug report).

8. Further improvements in the code, demo scripts, and documentation.

What was new in Scrollutil 1.8?
-------------------------------

1. Added support for the platform-independent handling of mouse wheel
   events (TIP 474), introduced in Tk 8.7a4 (as of January 9, 2021).

2. Added the "autosize" scrollableframe subcommand and used in the demo
   scripts "SuScrollableFrmDemo*.tcl" (thanks to Harald Oehlmann for his
   proposal).

3. Changed the default width and height of the scrollableframe widget
   to 10c and 7c, respectively (thanks to Alexandru Dadalau and Harald
   Oehlmann for discussions on this subject).

4. Included the same version 2.18 of the mega-widget utility package
   mwutil and the same version 1.2 of the scaling utility package
   scaleutil as in the most recent Tablelist release 6.12.

5. Extended the description of the scaling support on Xfce (including
   version 4.16, which adds fractional scaling), MATE, and Cinnamon.

6. Fixed a regression related to font scaling on X11 if the display's
   DPI scaling level is greater than 100 %, introduced in the previous
   release.

7. Several improvements in the demo scripts and documentation.

What was new in Scrollutil 1.7?
-------------------------------

1. Added the "-autohidescrollbars" scrollarea configuration option
   (thanks to Alexandru Dadalau for his proposal and testing).

2. Set the recommended maximum for the value of the "-lockinterval"
   scrollarea option to 300 (see the manual fore details).

3. The scrollableframe widget is now automatically registered for
   scrolling with the mouse wheel at creation time.  The demo scripts
   "SuScrollableFrmDemo*.tcl" have been adapted accordingly.

4. Added the "seerect" scrollableframe subcommand.

5. Added the command "scrollutil::disableScrollingByWheel".

6. With Tk 8.6.10 or later, the demo-scripts now fully support the Dark
   Mode appearance on Mac OS 10.14 (Mojave) and later.  For the demo
   scripts using tablelist widgets this is true if the Tablelist version
   is 6.11 or later (for an optimal user experience it is recommended to
   use Tk 8.6.11 or later).  Similarly, the full Dark Mode support for
   mentry widgets requires Mentry version 3.11 or later.

7. Reworked the invocations of "package vcompare", taking into account
   that Tcl versions earlier than 8.5 did not support the letters "a"
   and "b" in version numbers (thanks to Mike Walsh for his bug report).

8. Several further improvements in the code,  demo scripts, and
   documentation (thanks to Harald Oehlmann for his feedback regarding
   the manual).

What was new in Scrollutil 1.6?
-------------------------------

1. Included the implementation of TIP 563, meaning that the mouse wheel
   now will scroll a horizontal or vertical Tk core or tile scrollbar
   widget regardless of whether the "Shift" key is down or not (thanks
   to Harald Oehlmann for his proposal and TIP implementation).

2. Added the read-only public variable "scrollutil::scalingpct", which
   is set at application start time to 100, 125, 150, 175, or 200,
   correspondig to the display's DPI scaling level.  See the new section
   "More on scrollutil::scalingpct" in Scrollutil Programmer's Guide for
   details.

3. The procedure responsible for the initialization of the variable
   "scrollutil::scalingpct" also scales: (a) the default width of the Tk
   core scrollbars on X11; (b) for the built-in themes "alt", "clam",
   "classic", and "default", the default width of the ttk::scrollbar
   widget, as well as the arrows of the ttk::combobox and ttk::spinbox
   widgets; (c) for the "alt" and "clam" themes, the arrow of the
   ttk::menubutton widget; (d) for the "clam", "classic", and "default"
   themes, the indicators of the ttk::checkbutton and ttk::radiobutton
   widgets.

4. Made sure that in the "vista" and "xpnative" themes the indicators of
   the ttk::checkbutton and ttk::radiobutton widgets will be properly
   scaled, regardless of the Tk release being used (a long-standing bug
   in the implementation of these widgets was fixed in May 2020).

5. Made the demo-scripts scaling-aware.

6. Several further improvements in the demo scripts and documentation.

What was new in Scrollutil 1.5?
-------------------------------

1. On Windows and X11, Scrollutil now automatically creates mouse wheel
   event class bindings for the Tk core scrollbar widget, which are
   missing on these platforms when using a Tk version earlier than 8.6.

2. Added a demo script showing how the scrollarea widget circumvents the
   potential shimmering effect in connection with text widgets.

3. Improved the handling of the case that the scrollbar lock prevented a
   scrollbar of a scrollarea widget from being unmapped (thanks to Paul
   Obermeier for his bug report).

4. Several improvements in the demo scripts and documentation.

What was new in Scrollutil 1.4?
-------------------------------

1. Added the commands "scrollutil::getscrollarea" and
   "scrollutil::getscrollsync", designed to query the scrollarea and
   scrollsync, respectively containing a given widget.

2. Added the command "scrollutil::addMouseWheelSupport", which can be
   used, e.g., to add mouse wheel support to canvas widgets (thanks to
   Julian H J Loaring for his proposal) and to restore the "old-school"
   mouse wheel event handling for text widgets, which performs scrolling
   by lines and characters rather than pixels.

3. Scrollutil now automatically creates mouse wheel event class bindings
   for the ttk::scrollbar widget (thanks to Harald Oehlmann for his
   proposal and discussions on this subject).

4. If a widget that is embedded into a scrollarea is passed to
   "scrollutil::adaptWheelEventHandling", then this command gets
   automatically invoked for the scrollbars of that scrollarea, too.

5. Added the missing pieces of code related to the bindings for
   horizontal scrolling with the aid of mouse buttons 6 and 7 in Tk
   8.7.a3 or later on X11.

6. Several improvements in the demo scripts and documentation.

What was new in Scrollutil 1.3?
-------------------------------

1. The scrollarea widget of the Scrollutil_tile package now uses
   ttk::scrollbar widgets on Mac OS X, too, provided that the Tk release
   is 8.6.10 or later.

2. Improvements related to the scrollsync widget.

3. Added the "scan" scrollableframe subcommand, along with mouse event
   bindings invoking the latter.

4. Significantly improved the handling of the "-width", "-height",
   "-borderwidth", and "-highlightthickness" scrollableframe options.
   The reference manual now explicitly mentions that the "-width" and
   "-height" options set the widget's *inner* dimensions, excluding the
   border and highlight rectangle (if any).

5. The mouse wheel event handling now supports nested scrollable widget
   containers.
   
6. When computing the number of units for "(x|y)view scroll" within the
   bindings for mouse wheel events, the rounding now works the same for
   both positive and negative delta values, just like in Tk 8.6.10 and
   later.
   
7. For Tk 8.7.a3 and above on X11, the mouse wheel event handling now
   includes bindings for horizontal scrolling with the aid of the
   (virtual) mouse buttons 6 and 7, which correspond to left/right
   tilting the scroll wheel of a mouse having one or two additional
   (thumb) buttons.

8. Numerous improvements in the demo scripts and documentation.

What was new in Scrollutil 1.2?
-------------------------------

1. Added the scrollableframe widget, designed as a lightweight,
   theme-able, and full-featured replacement for BWidget ScrollableFrame
   and iwidgets::scrolledframe (thanks to Harald Oehlmann for his
   proposal).

2. Added two demo scripts for the new scrollableframe widget.

3. Significant improvements related to the scrollarea and scrollsync
   widgets (thanks to Paul Obermeier for his valuable feedback and
   testing).

4. Scrollutil no longer creates aliases in the "::tk" namespace for Tk
   commands for which that namespace already contains a command of the
   same name.

5. Numerous further improvements in the code, demo scripts, and
   documentation.

What was new in Scrollutil 1.1?
-------------------------------

1. Added the scrollsync widget, designed for scrolling several widgets
   simultaneously (thanks to Paul Obermeier for his proposal and
   testing).

2. Added two demo scripts for the new scrollsync widget.

3. The scrollarea widget now supports the "-takefocus" standard option
   (thanks to Harald Oehlmann for his proposal).

4. The scrollarea "setwidget" subcommand now returns the path name of
   the previously embedded widget.

5. The mouse wheel event handling now restricts the search for the
   registered scrollable widget container that is an ascendant of the
   widget under the pointer to the widget containers within the same
   toplevel (thanks to Harald Oehlmann for his valuable feedback).

6. Several further improvements in the code, demo scripts, and
   documentation.

What was new in Scrollutil 1.0?
-------------------------------

This is the first release.  Thanks to Michael Niehren for discussions on
mouse wheel event handling in scrollable widget containers, as well as
to Paul Obermeier and Thomas Grausgruber for testing the scrollarea
widget.
