1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735
|
Revision history for Changes
0.73 2022-08-26
[CHANGES]
* Use libtickit 0.4.3
* Use `eval {}` instead of `$SIG{__DIE__}` for exception trapping
* Use core perl's `mPUSHpvs()` where available
0.72 2021-08-18
[CHANGES]
* Use libtickit 0.4.2
* Wrap tickit_term_teardown()
* Wrap tickit_watch_signal() and tickit_watch_process()
* Added Tickit::Test::is_termctl()
* Improved API shape for tickit_new_with_evloop()
* Improved performance by setting PERL_NO_GET_CONTEXT
[BUGFIXES]
* Use $SIG{__DIE__} to teardown the terminal before reporting fatal
exception messages
0.71 2020-05-25
[CHANGES]
* Use libtickit 0.4.0
* Requires perl 5.14+ because of PL_phase
0.70 2020-01-27 13:00:17
[CHANGES]
* Construct a new Tickit::Term proxy object during callbacks rather
than relying on weakrefs to still be alive
* Give Tickit::Term proxy objects numify and stringify overloading so
that proxies to the same underlying object compare equal
* Added toplevel methods Tickit->watch_later and ->watch_timer_*
* Added Tickit::Test::mk_tickit
* Implement timers and watch cancellation in Tickit::Test instance
* Provide accessors for library version query
* Requires libtickit 0.3.4
0.69 2019-12-30 10:24:44
[CHANGES]
* Provide a wrapping of tickit_new_with_evloop(3) for modules like
Tickit::Async or POEx::Tickit to use
0.68 2019-11-18 16:27:52
[CHANGES]
* Wrap toplevel Tickit objects from C library; use C library's event
loop
0.67 2019-04-10 19:42:06
[CHANGES]
* Use libtickit 0.3
* Build against installed library but do not bundle C source any more
* Provide generic ->setctl / ->getctl attribute methods
[BUGFIXES]
* Remember to EXTEND() the argument stack appropriately
0.66 2019-02-20 22:20:39
[CHANGES]
* Switch build system to Module::Build::Using::PkgConfig
* Clean up C code in XS file for various gcc warnings
* Prepare for new integer type of pen 'u' attribute in tests
[BUGFIXES]
* Spelling fixes (thanks gregor herrmann) (RT125958)
0.65 2018-01-05 15:59:18
[CHANGES]
* Updated for libtickit 0.2:
+ RGB8 pen attributes
+ tickit_renderbuffer_{skiprect,copyrect,moverect}
+ tickit_term_{pause,resume}
[BUGFIXES]
* Provide $term->pause+resume methods (RT107131)
0.64 2017-11-30 01:42:26
[CHANGES]
* Perform Tickit 0.64 deprecations:
+ Remove now-dead methods in Term and Window
* Bundled libtickit is now 0.2-beta1
* Fix up example demo scripts for current APIs
0.63 2017/06/13 14:38:01
[CHANGES]
* Perform Tickit 0.63 deprecations:
+ Die in HASHification overloads on Tickit::Event::*
+ Die in $term->bind_event_default
+ Adjust wording of non-guarantee of object same-identity for
$win->term
+ Warn in old-API boolean-returning $info->type for focus events
* Have $tickit->timer return an ID value suitable for cancellation
* Added $tickit->cancel_timer
* Added $win->is_steal_focus and ->set_steal_focus
[BUGFIXES]
* Fix for $rb->text methods sometimes failing to convert numerical
values (RT120630)
0.62 2017/02/23 18:54:35
[CHANGES]
* Complete reïmplementation of Tickit::Window using libtickit
* No other deprecations - they have all been deferred a release
0.61 2016/12/05 00:28:00
[CHANGES]
* Documentation updates:
+ Better description of EVENTS
+ Update module synopses to use current APIs
* Perform Tickit 0.61 deprecations:
+ Die in $win->set_on_*
+ Die in $term->bind_event_with_flags
+ Make $win->clear* methods die since they've actually been broken
for ages anyway and nobody noticed
0.60 2016/11/05 13:28:12
[CHANGES]
* Strict type checking when constructing key or mouse event
structures
* Perform Tickit 0.60 deprecations:
+ Add warnings to HASHification overloads on Tickit::Event::*
+ Add warning to $term->bind_event_default
+ No longer guarantee $win->term object identity
+ Delete $term->set_on_* methods
0.59 2016/10/22 21:15:57
[CHANGES]
* Define new layer-neutral Tickit::Event::* classes
* Perform Tickit 0.59 deprecations:
+ Warn in calls to $win->set_on_*
+ Warn in calls to $term->bind_event_with_flags()
* Bundled libtickit changes:
+ Add refcounting to all object types
+ Deprecate the _destroy() functions in favour of _unref()
0.58 2016/09/30 20:08:32
[CHANGES]
* Added new Tickit::Event instances for Tickit::Term event info
* Perform Tickit 0.58 deprecations:
+ Die on attempt to set Tickit::Term ->set_on_* event handlers
+ Perl-level IO handles no longer preserved by term instances
+ Announce deprecation of term event info as HASH references
[BUGFIXES]
* Back-compat for perl 5.10.0 lacking mPUSHs - (RT98983)
0.57 2016/08/07 17:05:21
[CHANGES]
* Add $win->bind_event; announce the legacy $win->set_on_* as
deprecated
* Define new flags-taking ->bind_event methods that check argument
types; avoid needing $term->bind_event_with_flags
0.56 2016/05/10 18:02:02
[CHANGES]
* Perform Tickit 0.56 deprecations:
+ Remove pen observers
+ Remove guarantee that perl-level IO handles are preserved by
Tickit::Term
+ Add deprecations warnings to Tickit::Term ->set_on_* event
handlers
* Removed Tickit::Term->find_for_term
* Bundled libtickit changes:
+ Added TICKIT_EV_DESTROY
+ Give EOF-style signal to term output function
0.55 2016/02/09 23:32:13
[CHANGES]
* Wrap tickit_term_emit_{key,mouse}
* Perform Tickit 0.55 deprecations:
+ window set_expose_after_scroll immediately dies
* Actually honour return values of term event handlers
* Added $term->bind_event_with_flags and BIND_FIRST
* Updated documentation to barename =head2 function style
[BUGFIXES]
* Older perls need 'use IO::Handle' before we can ->binmode things
0.54 2015/09/14 10:36:50
[CHANGES]
* Allow $window->raise immediately after construction (RT105582)
* Added more Window unit-test cases
* Removed remaining Tickit::Widget-based examples and demos
* Renamed TICKIT_CURSORSHAPE_* constants
* Tickit::Debug is now backed by libtickit
[BUGFIXES]
* Make destroyed child windows reëxpose their client area in the
parent
* Fix for rb_get_cell_active() returning -1 on failure (RT101716)
0.53 2015/06/28 12:39:41
[BUGFIXES]
* Don't "use_ok" Tickit::Widget or subclasses in unit tests
0.52 2015/06/27 00:28:49
[CHANGES]
* Split out Tickit::Widget and friends into the Tickit-Widgets
distribution
* Perform 0.52 deprecations:
+ Warn on attempt to disable window expose_after_scroll
[BUGFIXES]
* Remember to add 'return 0' in int-returning event handler function
0.51 2015/03/27 14:01:43
[CHANGES]
* Perform 0.51 deprecations:
+ Die on Widgets that don't have WIDGET_PEN_FROM_STYLE
+ Warn on Pen observers
* Allow #-style comments in style files
* Added Tickit::Style->load_style_from_DATA shortcut
* Configuration to not use ALTSCREEN
[BUGFIXES]
* Ensure that raw bte writes to testing pipe don't break under
PERL_UNICODE (RT102028)
* Remember to SvGETMAGIC() before looking at SvCUR()
0.50 2015/02/03 23:34:49
[CHANGES]
* Perform 0.50 deprecations:
+ Die on Window direct-drawing methods and flushing RenderBuffer
to a Window
* Use textn() functions in RenderBuffer instead of text()
* Use new tickit_term_scrollrect() API
* Delete various bits of dead code
0.49 2014/12/16 21:11:15
[CHANGES]
* Perform 0.49 deprecations:
+ Announce deprecation of Tickit::Pen observers
+ Warn on Widgets that don't have WIDGET_PEN_FROM_STYLE set
+ Die on attempts to disable CHILD_WINDOWS_LATER
* Allow chaining return of ContainerWidget->{add,remove}
0.48 2014/09/18 20:55:38
[CHANGES]
* Perform 0.48 removal deprecations
* Added Tickit::Test::clear_term
* Print deprecation warnings from Tickit::Window direct draw methods
[BUGFIXES]
* Test for presence of T:W:HBox at BEGIN time during unit test, to
avoid error
* Fix for Tickit::Utils::distribute() with fixed=0 when in
overallocation mode
* Ensure that child window on_expose handler is run before containing
parent, to ensure RB holes are set correctly for underprint
* Hidden child windows should not count during $win->scroll*
* Ensure child window key handler propagation doesn't continue after
a key event has been handled
0.47 2014/09/05 23:22:29
[CHANGES]
* Moved Tickit::Widget::HBox/VBox to the Tickit-Widgets dist
* Remove Tickit::WidgetRole::Penable
* Support the new 'blink' Pen attribute
[BUGFIXES]
* Bundled libtickit bugfixes:
+ Improved handling of some missing terminfo attributes
+ Respect renderbuffer offset and limits in get_* functions
0.46 2014/05/02 20:16:37
[CHANGES]
* Move RenderBuffer and MockTerm entirely into libtickit C library
* Added $rb->char
* Add Tickit::Debug support to RenderBuffer
[BUGFIXES]
* Ensure that $rb->skip/skip_at obey masking regions
0.45 2014/04/15 02:47:45
[CHANGES]
* Move RenderBuffer's linemask-to-character conversion code into XS/C
to prepare for RB-in-C
* Implement most of Tickit::Test::MockTerm logic in C
* Don't emit INSERTCH or DELETECH events from MockTerm
* Announce $rb->flush_to_window as deprecated
* Announce Window direct drawing methods as deprecated
* Emit deprecation warnings from $term->mode_* and $win->*penattrs
methods
* Remove the Tickit::WidgetRole::Penable code; replace with a simple
die message
0.44 2014/04/07 02:03:37
[CHANGES]
* Deprecation warnings for pre-0.42-style Window expose/key/mouse
event handlers
* Provide $ev->mod_is_{shift,ctrl,alt} shortcut tests
* Added $rb->linebox_at()
* Allow ContainerWidgets to provide a method to return only those
children it wants to focus search on
* Added Tickit::Debug logging
* Added focus_child_notify Window ability and :focus-child
ContainerWidget style tag
* Use a single RenderBuffer for the entire window/widget tree
rendering
* Added $rb->get_cell accessor for inspecting cell state
[BUGFIXES]
* Ensure that focus searching ability only considers children with
visible windows
* Ensure that $rb->mask won't crash with over-sized or negative-
offset mask rects
* Clip $win->scroll rect to the actual window bounds
* Correct explanation of tagged vs. untagges style in docs
* Fix $win->scrollrect when moving chunks a distance larger than
their own size
* Fix $rb->DESTROY with content to not print warnings of unreferenced
scalars
0.43 2014/04/01 16:29:58
[CHANGES]
* Default TICKIT_CHILD_WINDOWS_LATER on; with env. var to disable it
* Allow optional $pen argument to $term->{print,clear,erasech}
* Support flushing of RenderBuffer directly to a Tickit::Term
* Store pending 'later' geometry changes separately from expose logic
to ensure correct output
* Rewrite of Window rendering logic:
+ accumulate damage and run expose logic only on root window
* Provide a more robust associative version of is_termlog() to avoid
test logic that depends on exact rendering order
[BUGFIXES]
* Ensure that $win->subwindows works on windows with no subs
* $win->restore should remember to flush the actual terminal buffer
* Ensure that RB masks are correctly interpreted during translations
0.42 2014/01/12 13:40:39
[CHANGES]
* Added Window on_expose callback type with RenderBuffer
* Added legacy-detecting $win->set_on_* methods to set new-style
Window callbacks
* Perform Widget rendering onto Window using new with_rb expose event
* Deprecate legacy versions of Window on_expose, on_key, on_mouse
* Removed CLEAR_BEFORE_RENDER
0.41 2013/12/19 19:17:07
[CHANGES]
* Allow cursors to be entirely hidden on a Window
* Return $text width in columns from $rb->text and $rb->text_at
* Document that Tickit::Style->load_style* are methods, not functions
(RT89235)
[BUGFIXES]
* Fix for T:W:Box - set 'dir' of T:WR:Alignable, not 'style'
* Fix double-nested container focus management
0.40 2013/09/29 19:08:09
[CHANGES]
* New size model; ->requested_{size,lines,cols} which cache
* Lazy $parent->resize only when required
* Updated all examples/docs for new ->render_to_rb
* Print a legacy deprecation warning when constructing a
->render-based widget
* Allow Styled widgets to copy their base class
* Allow HBox/VBox to take a 'children' ARRAY to constructor
[BUGFIXES]
* Specify minimum required version of Alien::libtermkey to get
libtermkey >= 0.16
* Need to force TERM=xterm during sequence testing
0.39 CHANGES:
* Default expose_after_scroll true
* Don't ->resize a ::Static if its size hasn't actually changed
* Allow $win->scrollrect to take a Tickit::Rect instead of 4 ints
* Added $win->scroll_with_children
BUGFIXES:
* Fix for libtickit ICH/DCH
* Bundled libtickit bugfixes:
+ Implement tickit_term_scrollrect ICH/DCH correctly
**NOTE**: These changes will break Tickit::Widget::Entry prior to
Tickit-Widgets version 0.11, and so will need updating.
0.38 CHANGES:
* Added 'drag_stop' and 'drag_outside' mouse events
* More helpful error message if Tickit::Term constructor fails
* Support multiple mouse tracking modes in latest libtickit
* Bundled libtickit updates:
BUGFIXES:
* Disable experimental smartmatch warnings on recent perls
* Fixed examples/demo-dragndrop.pl for recent API changes
* Avoid GNU C99 anonymous unions in RenderBuffer cell struct
(RT87724)
* Bugfix to MockTerm's ICH/DCH emulation of horisontal scrollrect
0.37 CHANGES:
* Allow Style files to use :: in widget type names
* Added an experiment to test making child window list changes
asynchronously "later"
BUGFIXES:
* API fixes in demos
* Recognise (and truncate) non-integer cursor positions to
RenderBuffer
* Ensure that RenderBuffer->setpen can alter already-set attributes
0.36 CHANGES:
* Added bounds arguments to $rect->linerange
* Added $rb->eraserect
* Updated *Box container widgets to use ->render_to_rb
BUGFIXES:
* Avoid calling $win->clear when using ->render_to_rb
* Handle $rb->text entirely outside of clipping region
0.35 CHANGES:
* Give the terminal up to 100msec to initialise before running
* Added ContainerWidget->find_child and ->focus_next
* Implement Tab/Shift-Tab as focus movement keys
* Added style_redraw_keys
* Keybindings from Style
* Added ->render_to_rb alternative to ->render method
BUGFIXES:
* Clean up focus chain when removing a child window that has focus
* Make sure that RenderBuffer stores UTF-8 text bytes
0.34 CHANGES:
* Added timeout to Term->input_wait
* Added Tickit->timer
* Many internal updates to Window focus code
* Added Window->cursor_at, ->cursor_shape and ->take_focus
* Added Widget focus integration, including automatic ':focus' style
tag
* Added Window->subwindows
0.33 CHANGES:
* Added Tickit::RenderBuffer; a renamed copy of Tickit::RenderContext
from CPAN. Re-implemented more in XS/C code
* Removed Tickit::WidgetRole::Borderable
* Added 'bool' override for pens, rects and windows, because they are
all always true
0.32 CHANGES:
* Allow widgets to declare style keys to cause ->reshape calls
* Allow Windows to be re-ordered within their parent, better document
the behaviour of Window ordering
* Handle mouse drag/drop events at the rootwin level
* Pass key/mouse event arguments as a structure as well as positional
arguments
* Implement HBox/VBox spacing as style keys
* Wrap tickit_term_getctl_int()
* Bundled libtickit updates:
+ Down-convert colours to 8 or 16 colour palettes when on non-
256color-aware terminals
0.31 CHANGES:
* Define the behaviour of Tickit::Style on subclasses, allowing for
transparent or independent subclass types
* Declare the particular version of Alien::unibilium required
* Split pens into mutable and immutable forms; deprecate ->clone
method
* Added $pen->equiv and ->equiv_attr comparison methods
0.30 CHANGES:
* Allow modification of widget direct-applied style
* Split Tickit::Pen into mutable and immutable subclasses
* Return immutable pens from Tickit::Widget style
* Cache style pens
* Added opt-in optional feature to set widget pen from default
style pen
* Use default style pen as widget pen in built-in widget classes
* Pass keyboard modifier state through to key/mouse event handlers
* Avoid floating-point in Tickit::Utils::distribute()
* Avoid a memory leak bug in Tickit::Pen and Tickit::Term XS code
* Set TERM=xterm for whole-system unit testing so we get reliable
terminal initialisation sequence
* Bundled libtickit updates:
+ Split implementation of real xterm and other terminfo-driven
terminal drivers
+ Now requires unibilium for the terminfo-driven driver
* Currently requires unibilium version v1.1.0, which can be found at
https://github.com/mauke/unibilium
0.29 CHANGES:
* Added Tickit::Style, and the ability to set state-sensitive style
information on widgets
* Added on_click event to Tickit::Widget::Static
* Redraw a widget after pen change
* Added Tickit::Utils::distribute()
* Improvements and modifications to the way ContainerWidget works
+ can ->set_child directly
+ more abstract container logic that doesn't enforce an ordering
+ just stores per-child options
* Return a Tickit::StringPos from $win->erasech
* Abort if $win->print is given non-Unicode text
* Warn if CLEAR_BEFORE_RENDER is still set
0.28 CHANGES:
* Added $window->close method
* Make FLOAT_ALL_THE_WINDOWS behaviour default
BUGFIXES:
* Ensure HBox can handle out-of-space
* Correctly convert mouse wheel direction in args hash
0.27 BUGFIXES:
* Important bugfix to bundled libtickit:
+ Fix resize logic in tickit_rectset_add() so it doesn't grow
the object arbitrarily until it fails
VERSION 0.26 IS CRITICALLY BROKEN. DO NOT USE IT.
0.26 CHANGES:
* Re-implement Tickit::RectSet as a libtickit-backed object
* Expose Tickit::Term->setctl_{int,str} methods
* New Tickit::Term->bind_event API
0.25 CHANGES:
* Removed Tickit::Widget::Frame and Tickit::Widget::Box, now they
have been moved to Tickit-Widgets dist.
* Added a new, better idea for Tickit::Widget::Box
* Allow Tickit->new( root => ... )
* Re-implement Tickit::Rect as a libtickit-backed structure object
0.24 CHANGES:
* Many improvements to Window scroll logic; allow scroll with
terminal scrollrect even with obscuring floats
* Added Rect->add and ->subtract methods
* Added RectSet->subtract method
BUGFIXES:
* Correctly adjust pending window damage after ->scrollrect
0.23 CHANGES:
* Many improvements to Window float logic; beginning of merging float
and non-float implementations
* Added $win->bottom and $win->right
0.22 CHANGES:
* Window focus in/out events, $win->is_focused accessor
* Added Tickit::RectSet object class
* Allow Window to store a set of expose regions rather than just a
boolean flag
* Added Window expose-after-scroll behaviour
0.21 CHANGES:
* Wrap tickit_string_count and tickit_string_countmore; provide a
Tickit::StringPos counter object
* Have $win->print return a Tickit::StringPos
BUGFIXES:
* Don't use_ok Tickit::Widget::Entry
0.20 CHANGES:
* Allow $win->goto outside of its edges, apply clipping
* Removed Tickit::Widget::Entry; now found in the Tickit-Widgets
distribution
* Updated for latest libtickit
BUGFIXES:
* Ensure that Static widgets with empty text still behave correctly
* Fix test skip counts in t/02utils.t
0.19 CHANGES:
* Allow multi-line Static text
* Added a stringification overload to Pen to make unit testing easier
BUGFIXES:
* Better terminal flushing
* Force TERM=xterm during t/0term-output.t
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.
|