Summary of Changes to Tcl::pTk Release 1.08: 2020-07-17 * Improved support for ttk::treeview `item`, `selection`, and `tag` commands as ttkTreeview methods: these now return Perl lists rather than string representations of Tcl lists. See https://git.io/JJZ7C * Emulate timeofday() with Time::HiRes::time() instead of Tcl 8.5+ [clock microseconds] Release 1.07: 2020-03-13 * Allow '.' in Cascade labels (RT #125058) Release 1.06_01: 2020-03-12 * ttkTixNoteBook (RT #132075): - add method _identify_unavailable to check if Tile version is too old (needs Tcl/Tk 8.5.9 or later, or Tile 0.8.4.0 for Tcl/Tk 8.4) - use _identify_unavailable to show error when identify method is called and to skip tests in ttkTixNoteBook.t and tkFacelife_notebook.t when Tile version is too old * Split photo.t into photoTk.t and photoImg.t to separately test formats supported either natively by Tk or TkPNG, and those supported by TkImg (as photo.t does in Perl/Tk and Tcl::pTk < 0.95) - photoTk.t: skip PNG output tests for Tcl/Tk 8.6.5-8.6.6 (which output invalid PNG files: RT #128803) Release 1.06: 2020-03-10 * Mark wmStackorder.t as TODO due to unresolved failures (RT #132100) Release 1.05: 2020-03-09 * Support $toplevel->stackorder method (as used with Perl/Tk) * Experimental workaround for regression in Tcl/Tk 8.6.10 which causes an error when using facelifted LabEntry widgets Release 1.04_03: 2020-03-07 * Facelift/Hijack tests: don't skip when Tix is unavailable for tests that don't depend on Tix Release 1.04_02: 2020-03-07 * Add tests in repository but missing from MANIFEST and distribution Release 1.04_01: 2020-03-07 * configureReturn.t: - fix check for skipping Tix widget tests (was skipping some tests even with Tix present) - Workaround for RT #128804: manually destroy $mw at end of test to avoid segmentation fault (observed on CentOS 6.10) Release 1.04: 2020-03-07 * Replaced README with improved markdown README.md; documentation fixes (contributions from Vadim Konovalov) * Update MANIFEST (README.md was missing from 1.03) Release 1.03: 2020-03-02 * Mark focusMethods.t as TODO due to unresolved failures (RT #131091) * Add internal variable `$Tcl::pTk::_Tile_available` to indicate whether Tile/Ttk is available; check this variable rather than checking the Tcl/Tk version everywhere. Tile/Ttk should also now work on Tk 8.4 if the Tile package is installed. * Remove need_tk (deprecated; was removed from Tcl::Tk 1.03 in 2011) * $Tcl::pTk::platform should be 'unix' when using X11 Tk in Cygwin (contribution from Vadim Konovalov) Release 1.02: 2019-06-29 * Support focusNext and focusPrev methods as used with Perl/Tk Release 1.01_01: 2019-06-24 * Makefile.PL: fix some of the issues reported by CPAN indexer and CPANTS - Specify minimum Perl version for ExtUtils::MakeMaker - Don't index unauthorized package MainWindow to avoid permission issue Release 1.01: 2019-06-23 * More adjustments for macOS Aqua dark mode (Tk 8.6.10 or later) - DialogBox: do not set default foreground color (would cause text and icon to be difficult to see) - Balloon: set default foreground to 'black' for improved legibility (black text on yellow background, rather than white text on yellow background) Release 1.00: 2019-06-19 * Fix POD errors (`=cut` outside POD block) reported by CPANTS (contribution from Mohammad S Anwar) * Improve compliance with `use warnings` and `use strict` - Fix errors/warnings in entry3 widget demo * Add missing Tile availability check to tileLabelFont.t (RT #128813) * photo.t: proceed with remaining test cases after errors (RT #128803) * Prevent `unknown color name` errors (e.g. when using `x11` rather than `aqua` on macOS) by checking the windowingsystem rather than `$^O` * Attempt to fix RT #125049, #129505: in order for menu entries to be legible when using the dark menu bar or dark mode on recent macOS versions, do not set hardcoded default colors on derived widgets. This change also makes UI appearance of other derived widgets more consistent with the defaults chosen by Aqua for non-derived widgets, especially when using Tk 8.6.10 or later with dark mode enabled. * Test reports (e.g. from CPAN testers) were displaying some tests as "ok" but were actually completely skipped (using `skip()` or `ok()`). These tests are now shown as skipped along with the reason it was skipped (by instead using `print "1..0 # Skipped: $reason\n"`). * Fileevent tests: ensure reason fileevent is unavailable appears in test report (reason can't be printed on separate line) * Various spelling fixes Release 0.96: 2019-03-03 * For consistency, use the exact platform name strings when checking `$^O`, and use `eq`/`ne` if checking for only one particular platform (e.g. `$^O eq/ne 'MSWin32'` rather than `$^O =~/!~ m/win32/i` or `m/mswin/i`) * Revert change from 0.81: Don't write Makefile if Makefile.PL is supposed to exit when `package require Tk` fails, whether due to Tk not being installed (`can't find package Tk`) or no X is server available (`couldn't connect to display ""`); should address many of the FAIL reports for 0.95 * Skip fileevent tests if sys/ioctl.ph not available (RT #128627) * Mark fileevent tests as TODO on BSD/macOS rather than skipping immediately (RT #125662) Release 0.95: 2019-02-25 * Improve several tests: can now PASS on recent Windows, macOS, FreeBSD, and Linux - Keep more tests open if command line argument specified for debugging - Avoid hardcoded filename and line numbers in tests; use `__FILE__` and `__LINE__` instead - bgerror2 tests: add code that was missing to toggle the SlideSwitch and generate the expected error - Use `focusForce()` to prevent failures on Tk Aqua 8.5.9 (RT #125908) - Replace `$^W = 1` with `use warnings` - Invoke fileeventSubProcesses script using `"$^X"` (instead of `perl` from PATH) - Skip fileevent tests on BSD and macOS (RT #125662) - Mark certain font tests as TODO due to platform-dependent failures (RT #119754) - photo.t: if Img package is not present, run tests for formats already supported by Tk or TkPNG (if present and using Tk < 8.5) - ptk-compat2.t: explicitly disable tearoffs to have consistent number of entries across platforms (tearoffs are not supported by Aqua, and not normally usable on X11/Windows anyways) - scrolledOptional.t: add extra column to avoid failure observed on Ubuntu 18.10 - Fix Tix Notebook tests on Aqua * Improve several widget demos: - Use Perl instead of Tcl Unicode escaping in strings in newer widget demos adapted from Tcl/Tk - Toolbar demo: allow spaces in font names - Combo: "Alice Springs" is one city - photo1: use after to schedule transparency update rather than blocking so that the window always appears right away * Incorporate some recent improvements from Tcl::Tk - Improve error shown if "package require Tk" fails (RT #127552) - Makefile.PL: - exit with status 0 if Tk 8.4+ is not present (UNKNOWN reports will no longer be generated) - warn if tklib is not present - Find tclsh8.x command more easily on FreeBSD - TCLSH_PROG environment variable is no longer used to specify tclsh - Update README * Add option `--no-test-for-tk` to have Makefile.PL bypass Tk package checks * pTk.pm: `Tk->findINC` should be `Tcl::pTk->findINC` (RT #127529) * Patch older Aqua Tk at runtime so that the correct mouse button (middle button rather than right button) causes selected text to be pasted (RT #127120) * Prevent menu entries from having paths like '.mnonf' * tooltip: packageRequire() should be pkg_require() * Use case-correct image names for Getimage() to work correctly on case-sensitive filesystems * More usage of `package vcompare` and `package vsatisfies` for robustly checking the version of Tcl/Tk present * Remove unnecessary executable permissions and shebang lines * `use warnings` and `use strict` in more files, performing changes as necessary (properly declare/scope variables, quote barewords, etc.) * All text files in git repository/distfile now use Unix line endings (LF) instead of DOS line endings (CRLF) * Various spelling/grammar fixes * Cleanup duplicated/misplaced comments * Non-functional code style adjustments Release 0.94: 2018-07-28 * Change `use Tk;` to `use Tcl::pTk;` in text2.t * Allow abbreviated mode flag for search() (used by text2.t) * Replace GNU GPLv2 text in LICENSE file with GNU GPLv1 (which is what Perl 5 license uses) * Specify license in MakeMaker LICENSE attribute rather than in META_MERGE * Add resources to META_MERGE: GitHub repository, mailing list * Keep canIndex.t running if command line arg present (for debugging) * Various spelling fixes Release 0.93: 2018-07-13 * Add missing module `Sub::Name` to PREREQ_PM (RT #116432) * Replace corrupted teapot.ppm, mark as binary (RT #125421) * Add focusFollowsMouse support (RT #125057) * Adjust scrolling units on macOS aqua (RT #125048) * Only use buttons 4 and 5 for scrolling on X11 (i.e. not macOS aqua) * Use previously-unused variable $wp in Tcl::pTk::Widget::focusForce * Add missing `use Text::Tabs;` to top of Text.pm (RT #125460) * Remove "Copied $val\n" print debugging statement (RT #125442) * Use empty string instead of `undef` to clear $status_bar in menus2.pl demo to prevent warning (RT #125826) * Keep textRO.t running if command line arg present (for debugging) * Bind mouse buttons 2 and 3 appropriately on macOS aqua since they are the opposite of what X11 and Windows use (RT #125050, #125460) * Use `catch` in test-for-tk.tcl to prevent skipping tests for packages * Support newer Perl/Tk FindNext() $direction syntax (RT #125532) by adapting the relevant Perl/Tk commit (the existing text2.t was renamed to text2-old.t, and the new text2.t was copied) * Various spelling and POD formatting fixes Release 0.92: 2016-08-21 * Updated to work with Tcl.pm versions > 1.02. Tcl.pm versions > 1.02 broke compatibility with Tcl::pTk, so the Tcl 1.02 interface was moved to Tcl/pTk.pm * Added new ttkTixNotebook widget, which emulates the interface of the Tk Notebook widget. Updated Facelift.pm to use this new widget, instead of the old tix NoteBook widget. * Fix to Wm.pm to handle an rare condition where if Busy is called when a canvas is opened in another window, the new window will popup under the existing window, not on top as expected. * Fix for a problem with the dialog box widget that would pop up off the screen if running from two displays. Added a test case for this condition. Release 0.90: 2015-07-04 * Updates to work with Tcl/Tk 8.6. * Added background error handling (including a ErrorDialog.pm file like perl/tk) that is more compatible with the way perl/tk does it. * Fixed bug where a repeat call would create a TCL-command in TCL-land for each repeated event. Changed to reuse the Tcl-command. Added test case (repeatSubReuse.t) Release 0.85: 2010-11-05 * Bug-fix Release. Tweaks to HList to support returning photo objects when calling entrycget with -image option. Release 0.84: 2010-10-05 * Bug-fix Release Release 0.83: 2010-09-05 * Minor updates to be more compatible with Tcl 8.4 installation (although Tcl 8.5 is preferred) Release 0.82: 2010-08-25 * Minor updates to remove the requirement for the tcl package snit. This is not needed anymore. Release 0.81: 2010-08-21 * Minor updates so the CPAN indexer won't index demo directories. * Changed order of execution in Makefile.PL so that CPAN testers will get the proper prereqs before the test-for-tk script is run. Release 0.8: 2010-08-18 * First Public Release.