Revision history for Changes
0.18 CHANGES:
* Re-implement Term and Pen in XS/C using libtickit (bundled source
pkg-config driven build)
* Defined a new Tickit::WidgetRole::Penable
* Added $rect->linerange
* Added $win->clearrect
* Added $win->make_popup to create on-top floating input-stealing
Windows
BUGFIXES:
* Disallow $win->scrollrect if there are any floating windows in the
way
* Perform $win->erasech with the entire pen in case 'rv' is set
0.17 CHANGES:
* $win->hide, $win->show and the concept of hidden windows
* $win->make_float and the concept of floating windows
* A better clipping model to handle the above
* $pen->hasattr
* Tickit::Test::drain_termlog()
* Set the CANON_DELBS termkey flag in case of misconfigured terminals
* Make $tickit->stop a user-visible method
BUGFIXES:
* Ensure Tickit::Widget::Entry keybindings consume key press events
* Ensure Tickit::Widget::Static->set_text actually calls ->redraw
* Pass UTF8 => 1 to unit tests that test Unicode functionality
0.16 CHANGES:
* Represent mouse wheel events as 'wheel'/'up' or 'wheel'/'down'
* Fix argument order for Tickit::Rect->translate
* Allow $term->chpen/->setpen to take a Tickit::Pen object
* Added Pen->clone, ->copy_from and ->default_from methods
* Deprecated the pen attribute list returning methods of
Tickit::Window
BUGFIXES:
* Account for inter-child spacing when calculating minimum size
requirements for Tickit::Widget::{H,V}Box
0.15 CHANGES:
* $term->eraseline is now removed
* Provide a $tickit->tick method to finer-grained event handling
* Removed Tickit::RootWindow; the root window is now a regular
Tickit::Window
BUGFIXES:
* Force terminal size in t/80tickit.t so it doesn't cause failures on
oddly-sized terminals
0.14 CHANGES:
* $term->insertch and ->deletech are now removed
* Move key input behaviours into Tickit::Term; many other
refactorings between Tickit and Tickit::Term
* Renamed $tickit->start / ->stop to ->setup_term / ->teardown_term
0.13 CHANGES:
* Allow Widget subclasses to disable the clear-before-render
behaviour
* Avoid harmless warning about undef during global destruction
BUGFIXES:
* Skip Unicode-requiring tests unless we know we have a Unicode-aware
locale
0.12 CHANGES:
* Pass an opaque 'id' value through Pen->add_on_changed into
$observer->on_pen_changed
* Extend is_display() unit testing function to allow asserting pen
attributes as well as text-on-display
* Rewrote many unit tests to use only is_display() and not
is_termlog()
* Deleted now-deprecated Window methods of ->penprint, ->insertch and
->deletech
0.11 CHANGES:
* Allow Windows to be created overlapping their parent boundaries;
clip output - Work In Progress, so far only handles ->print and
->erasech, not the scrolling operations
* Represent on-screen rectangles as first-class Tickit::Rect object,
pass a 'rect' argument to Window on_expose event
* More diagnostic output from Tickit::Test::is_termlog failures
* Support (rarely-used) strikethrough pen attribute
* No longer depends on Term::TermKey::Async unnecessarily
0.10 CHANGES:
* Use Perl's ${^UTF8LOCALE} to detect UTF-8ness rather than relying
on libtermkey's flags. Avoids fragile dependency
* Use Term::TermKey 0.09's EINTR ability to simplify the main run
loop
* Split Tickit::Async out into its own distribution
0.09 CHANGES:
* Move IO::Async-based code out of Tickit into Tickit::Async,
reimplement a simple IO framework in Tickit itself.
* Added Window on_expose event that cascades down the Window tree
* Implement Widget drawing using Window on_expose events rather than
cascading logic down th Widget tree
* Print proper deprecation warnings from deprecated Window methods
penprint, insertch, deletech
0.08 CHANGES:
* More efficient XS implementation of low-level string length
handling utilities in Tickit::Util
* Allow forcing size of child widgets in Tickit::Widget::VBox and
::HBox
* Pass region information into Widget->render methods; even if
currently it is a fixed 0/0/$lines/$cols
* Accept a pen argmuent to Window->print; deprecate ->penprint
* Implement Window->scrollrect; deprecate ->insertch and ->deletech
* Print a deprecation warning if a plain Tickit object is used as an
IO::Async::Notifier
0.07 CHANGES:
* Provide (trivial) Tickit::Async subclass for users to prepare for
IO::Async split
* Try to find $TERM-specific subclass of Tickit::Term for terminal-
specific optimisations or abilities
* Support 256 colour xterm
* Unit test in more generic SCROLLRECT operation
BUGFIXES:
* Ensure Tickit::Test and Tickit::Test::MockTerm have a $VERSION
0.06 CHANGES:
* Shut down terminal state before $SIG{__DIE__}'ing
* Cope correctly with zero-sized children in {V,H,}Box and Frame
* Broadcast unhandled keypresses out to sibling windows around the
widget tree
* Neater unit testing functions
* Rearranged code to prepare for abstract/IO::Async split
0.05 CHANGES:
* Added mouse support
* Switchable insert/overwrite mode in Entry
* Markers at beginning/end of Entry to indicate scrolling
* Reduced API dependency on IO::Async; lazily construct a containing
Loop in ->run
* Reduced test-time dependency on IO::Async
* Export Tickit::Test as real code for out-of-distribution tests
* Miscellaneous bugfixes and improvements
0.04 CHANGES:
* Added Tickit::Widget::Frame and ::Box
* Support text scrolling in Entry
* Support renderable containers
* Updated Pen model; first-class objects, observers for updates
* Support high-intensity colours
* Entry->text_delete/_splice return the deleted text
0.03 CHANGES:
* Added Tickit::Widget::Entry
* Tickit::Pen as first-class object
* Support more pen attributes - reverse video, alternate font
0.02 CHANGES:
* Bind Ctrl-C to $loop->loop_stop by default
* Neater root widget and run API
* Added SYNOPSIS examples to most widget types; added examples/
directory
* Window 'on_key' event handling
* Keep cursor hidden unless it's on a focused window
0.01 First version, released on an unsuspecting world.