The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.30

  • 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

Modules

Terminal Interface Construction KIT
abstract base class for widgets that contain other widgets
a widget which occupies only one line
store a collection of rendering attributes
a lightweight data structure representing a rectangle
store a set of rectangular regions
abstract base class for widgets that contain a single other widget
store string position counters
declare customisable style information on widgets
terminal formatting abstraction
unit testing for Tickit-based code
utility functions for Tickit
abstract base class for on-screen widgets
apply spacing and positioning to a widget
distribute child widgets in a horizontal row
abstract base class for HBox and VBox
a widget displaying static text
distribute child widgets in a vertical column
implement widgets with adjustable alignment
implement widgets with a surrounding border
implement widgets with setable pens
a window for drawing operations

Provides

in lib/Tickit/Pen.pm
in lib/Tickit/Pen.pm
in lib/Tickit/Style/Parser.pm
in lib/Tickit/Test/MockTerm.pm
in lib/Tickit/WidgetRole.pm