Skip to content

0.1.3

Latest

Choose a tag to compare

@redvers redvers released this 08 Sep 21:41
· 1 commit to main since this release

Initial Release

Still some work to do, but you should be able to build applications with it. I do not forsee the API changing hugely.

Fix UIBuilder tabs= wrapping rendering

Stack widgets with tabs= were broken: the tab bar or the stack content was invisible depending on whether the stack was the root widget or nested. This happened because the wrapper container was created after the Stack, leaving the Stack's parent pointing to the wrong widget. Both root and nested stacks with tabs now render correctly.

Fix Enter key not recognized

Enter key presses were silently ignored. Terminals with the ICRNL flag (the default on most systems) translate CR to LF before delivery, and the input parser only recognized CR. Enter now works in all standard terminal configurations.

Add Stack example

New examples/stack demonstrates tabbed navigation with a Stack widget using tabs=north, multiple pages with different content, and keyboard-driven tab switching.

Fix UIBuilder bg= silently overwriting fg=

Setting both fg= and bg= on a Label or TextBox in the DSL (e.g., label "Hi" fg=green bg=red) silently discarded the foreground color — bg= hardcoded white as the foreground. Both properties now apply independently.

Add set_fg/set_bg behaviors to Label and TextBox

Label and TextBox now have set_fg and set_bg behaviors for changing foreground or background color independently. The existing set_color behavior (which sets both at once) is unchanged.

label.set_fg(Green)
label.set_bg(Red)
// or set both at once, as before:
label.set_color(Green, Red)

Update InputActor for ponyc 0.71.0

InputActor.create now requires a SignalAuth parameter for SIGWINCH handling, matching the ponyc 0.71.0 signals API.

Before:

let input_actor = InputActor(input, compositor)

After:

use "signals"

let input_actor = InputActor(SignalAuth(env.root), input, compositor)

[0.1.3] - 2026-09-08

Fixed

  • Smol performance improvement (PR #1)
  • Fix UIBuilder tabs= wrapping rendering (PR #2)
  • Fix Enter key not recognized (PR #2)
  • Fix UIBuilder bg= silently overwriting fg= (PR #3)
  • Reduce per-cell overhead in Differ and Compositor hot paths (PR #4)

Added

  • Add Stack example (PR #2)
  • Add set_fg/set_bg behaviors to Label and TextBox (PR #3)

Changed

  • Update InputActor for ponyc 0.71.0 (PR #5)